private VisioPage ConfigureVisioPage(string documentName, double pageWidth, double pageHeight) { var page = new VisioPage(pageWidth, pageHeight); page.Name = documentName; page.PrintProperties.ScaleX.Formula = "1"; page.PrintProperties.ScaleY.Formula = "1"; page.PrintProperties.PagesX.Formula = "1"; page.PrintProperties.PagesY.Formula = "1"; page.PrintProperties.CenterX.Formula = "0"; page.PrintProperties.CenterY.Formula = "0"; page.PrintProperties.OnPage.Formula = "0"; page.PrintProperties.PrintGrid.Formula = "0"; page.PrintProperties.PaperKind.Formula = "8"; page.PrintProperties.PrintPageOrientation.Formula = "2"; page.PageLayout.PlaceStyle.Formula = "2"; page.PageLayout.RouteStyle.Formula = "6"; page.PageLayout.PlaceDepth.Formula = "1"; page.PageLayout.LineToNodeX.Formula = "0.125"; page.PageLayout.LineToNodeY.Formula = "0.125"; page.PageLayout.BlockSizeX.Formula = "0.25"; page.PageLayout.BlockSizeY.Formula = "0.25"; page.PageLayout.AvenueSizeX.Formula = "0.5905511811023622"; page.PageLayout.AvenueSizeY.Formula = "0.5905511811023622"; page.PageLayout.LineToLineX.Formula = "0.125"; page.PageLayout.LineToLineY.Formula = "0.125"; page.PageLayout.LineJumpFactorX.Formula = "0.66666666666667"; page.PageLayout.LineJumpFactorY.Formula = "0.66666666666667"; //document.Pages.Add(page); return(page); }
public void VDX_CustomTemplate() { string input_filename = this.GetTestResultsOutPath(@"datafiles\template_router.vdx"); string output_filename = TestGlobals.TestHelper.GetTestMethodOutputFilename(".vdx"); // Load the template string template_xml = File.ReadAllText(input_filename); var template = new VisioAutomation.VDX.Template(template_xml); var doc = new VisioAutomation.VDX.Elements.Drawing(template); var page = new VisioAutomation.VDX.Elements.Page(8, 4); doc.Pages.Add(page); // add layers var layer0 = page.AddLayer("Layer0", 0); var layer1 = page.AddLayer("Layer1", 1); var layer2 = page.AddLayer("Layer2", 2); // create layout var layout = new VisioAutomation.VDX.Sections.Layout(); layout.ShapeRouteStyle.Result = VisioAutomation.VDX.Enums.RouteStyle.TreeEW; // find the id of the master for rounded rectangles int shapeMasterNameId = doc.GetMasterMetaData("Router").ID; bool shapeMasterNameGroup = doc.GetMasterMetaData("Router").IsGroup; // add shape1 var shape1 = new VisioAutomation.VDX.Elements.Shape(shapeMasterNameId, shapeMasterNameGroup, 1, 3); page.Shapes.Add(shape1); shape1.Text.Add("Router1"); shape1.Layout = layout; // add shape2 var shape2 = new VisioAutomation.VDX.Elements.Shape(shapeMasterNameId, shapeMasterNameGroup, 5, 3); page.Shapes.Add(shape2); shape2.Text.Add("Router2"); shape2.Layout = shape1.Layout; // add shape3 - this is the dynamic connector var shape3 = VisioAutomation.VDX.Elements.Shape.CreateDynamicConnector(doc); shape3.XForm1D.BeginX.Result = 1; shape3.XForm1D.EndX.Result = 5; shape3.XForm1D.BeginY.Result = 3; shape3.XForm1D.EndY.Result = 3; page.Shapes.Add(shape3); shape3.Geom = new VisioAutomation.VDX.Sections.Geom(); shape3.Geom.Rows.Add(new VisioAutomation.VDX.Sections.MoveTo(1, 3)); shape3.Geom.Rows.Add(new VisioAutomation.VDX.Sections.LineTo(5, 3)); shape3.Layout = shape1.Layout; page.ConnectShapesViaConnector(shape3, shape1, shape2); // handle layers shape3.LayerMembership = new List<int> {layer0.Index, layer2.Index}; shape1.LayerMembership = new List<int> {layer1.Index}; shape2.LayerMembership = new List<int> {layer2.Index}; // write document to disk as .vdx file doc.Save(output_filename); this.VerifyDocCanBeLoaded(output_filename); }
public void VDX_CustomProperties() { string filename = TestGlobals.TestHelper.GetTestMethodOutputFilename(".vdx"); var template = new VisioAutomation.VDX.Template(); var doc_node = new VisioAutomation.VDX.Elements.Drawing(template); int rect_id = doc_node.GetMasterMetaData("REctAngle").ID; var node_page = new VisioAutomation.VDX.Elements.Page(8, 5); doc_node.Pages.Add(node_page); var node_shape = new VisioAutomation.VDX.Elements.Shape(rect_id, 4, 2, 3, 2); node_shape.CustomProps = new VisioAutomation.VDX.Elements.CustomProps(); var node_custprop0 = new VisioAutomation.VDX.Elements.CustomProp("PROP1"); node_custprop0.Value = "VALUE1"; node_shape.CustomProps.Add(node_custprop0); var node_custprop1 = new VisioAutomation.VDX.Elements.CustomProp("PROP2"); node_custprop1.Value = "123"; node_custprop1.Type.Result = VisioAutomation.VDX.Enums.CustomPropType.String; node_shape.CustomProps.Add(node_custprop1); var node_custprop2 = new VisioAutomation.VDX.Elements.CustomProp("PROP3"); node_custprop2.Value = "456"; node_custprop2.Type.Result = VisioAutomation.VDX.Enums.CustomPropType.Number; node_shape.CustomProps.Add(node_custprop2); node_page.Shapes.Add(node_shape); doc_node.Save(filename); var app = new IVisio.Application(); var docs = app.Documents; var doc = docs.Add(filename); var page = app.ActivePage; var shapes = page.Shapes; Assert.AreEqual(1,page.Shapes.Count); var shape = page.Shapes[1]; var customprops = VACUSTPROP.CustomPropertyHelper.Get(shape); Assert.IsTrue(customprops.ContainsKey("PROP1")); Assert.AreEqual("\"VALUE1\"",customprops["PROP1"].Value.Formula); Assert.IsTrue(customprops.ContainsKey("PROP2")); Assert.AreEqual("\"123\"", customprops["PROP2"].Value.Formula); Assert.AreEqual("0", customprops["PROP2"].Type.Formula); Assert.IsTrue(customprops.ContainsKey("PROP3")); Assert.AreEqual("\"456\"", customprops["PROP3"].Value.Formula); Assert.AreEqual("2", customprops["PROP3"].Type.Formula); app.Quit(true); }
static void Main(string[] args) { string left_font = "Calibri"; var template = new VDX.Template(); var doc = new VDX.Elements.Drawing(template); var page = new VDX.Elements.Page(10,10); doc.Pages.Add(page); var faces = doc.Faces; var left_face = Helpers.GetFontSafe(doc.Faces, left_font); double face_size = 32.0; int rect_id = doc.GetMasterMetaData("REctAngle").ID; string letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; string letters2 = "abcdefghijklmnopqrstuvwxyz"; string numbers = "01234567890"; string punctuation = "!@#$%^&*()_+-=<>,.[]{}\\|``/?;:'\""; var text = letters + letters2 + numbers + punctuation; int count = text.Length; int cols = (int) System.Math.Ceiling(System.Math.Sqrt(count)); double face_size_inches = face_size / 72.0; double box_size = face_size_inches*2.0; double box_sep = box_size/8.0; double grid_delta = box_size + box_sep; page.PageProperties.PageWidth.Formula = (cols*grid_delta).ToString(); page.PageProperties.PageHeight.Formula = (cols * grid_delta).ToString(); int n = 0; foreach (int row in Enumerable.Range(0, cols)) { foreach (int col in Enumerable.Range(0,cols)) { if (n >= count) { break; } var pinx = col* grid_delta; var piny = (cols*grid_delta) - (row * grid_delta); var shape = new VDX.Elements.Shape(rect_id,pinx, piny, box_size, box_size); page.Shapes.Add(shape); string s = text[n].ToString(); shape.Text.Add(s); shape.CharFormats = new List<VDX.Sections.Char>(); var charfmt = new VDX.Sections.Char(); charfmt.Font.Formula = left_face.ID.ToString(); charfmt.Size.Formula = face_size.ToString()+"pt"; shape.CharFormats.Add(charfmt); shape.Fill = new VDX.Sections.Fill(); shape.Fill.Pattern.Formula = "0"; shape.Fill.ForegroundColor.Formula = "rgb(255,255,255)"; shape.Fill.ForegroundTransparency.Formula = "1.0"; shape.Line = new VDX.Sections.Line(); shape.Line.Pattern.Formula = "0"; shape.Line.Weight.Formula = "0"; shape.Line.Color.Formula = "rgb(240,240,240)"; n++; } } doc.Save("D:\\specimen.vdx"); }
private VisioPage ConfigureVisioPage(string documentName, double pageWidth, double pageHeight) { var page = new VisioPage(pageWidth, pageHeight); page.Name = documentName; page.PrintProperties.ScaleX.Formula = "1"; page.PrintProperties.ScaleY.Formula = "1"; page.PrintProperties.PagesX.Formula = "1"; page.PrintProperties.PagesY.Formula = "1"; page.PrintProperties.CenterX.Formula = "0"; page.PrintProperties.CenterY.Formula = "0"; page.PrintProperties.OnPage.Formula = "0"; page.PrintProperties.PrintGrid.Formula = "0"; page.PrintProperties.PaperKind.Formula = "8"; page.PrintProperties.PrintPageOrientation.Formula = "2"; page.PageLayout.PlaceStyle.Formula = "2"; page.PageLayout.RouteStyle.Formula = "6"; page.PageLayout.PlaceDepth.Formula = "1"; page.PageLayout.LineToNodeX.Formula = "0.125"; page.PageLayout.LineToNodeY.Formula = "0.125"; page.PageLayout.BlockSizeX.Formula = "0.25"; page.PageLayout.BlockSizeY.Formula = "0.25"; page.PageLayout.AvenueSizeX.Formula = "0.5905511811023622"; page.PageLayout.AvenueSizeY.Formula = "0.5905511811023622"; page.PageLayout.LineToLineX.Formula = "0.125"; page.PageLayout.LineToLineY.Formula = "0.125"; page.PageLayout.LineJumpFactorX.Formula = "0.66666666666667"; page.PageLayout.LineJumpFactorY.Formula = "0.66666666666667"; //document.Pages.Add(page); return page; }
static void Main(string[] args) { string left_font = "Calibri"; var template = new VDX.Template(); var doc = new VDX.Elements.Drawing(template); var page = new VDX.Elements.Page(10, 10); doc.Pages.Add(page); var faces = doc.Faces; var left_face = Helpers.GetFontSafe(doc.Faces, left_font); double face_size = 32.0; int rect_id = doc.GetMasterMetaData("REctAngle").ID; string letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; string letters2 = "abcdefghijklmnopqrstuvwxyz"; string numbers = "01234567890"; string punctuation = "!@#$%^&*()_+-=<>,.[]{}\\|``/?;:'\""; var text = letters + letters2 + numbers + punctuation; int count = text.Length; int cols = (int)System.Math.Ceiling(System.Math.Sqrt(count)); double face_size_inches = face_size / 72.0; double box_size = face_size_inches * 2.0; double box_sep = box_size / 8.0; double grid_delta = box_size + box_sep; page.PageProperties.PageWidth.Formula = (cols * grid_delta).ToString(); page.PageProperties.PageHeight.Formula = (cols * grid_delta).ToString(); int n = 0; foreach (int row in Enumerable.Range(0, cols)) { foreach (int col in Enumerable.Range(0, cols)) { if (n >= count) { break; } var pinx = col * grid_delta; var piny = (cols * grid_delta) - (row * grid_delta); var shape = new VDX.Elements.Shape(rect_id, pinx, piny, box_size, box_size); page.Shapes.Add(shape); string s = text[n].ToString(); shape.Text.Add(s); shape.CharFormats = new List <VDX.Sections.Char>(); var charfmt = new VDX.Sections.Char(); charfmt.Font.Formula = left_face.ID.ToString(); charfmt.Size.Formula = face_size.ToString() + "pt"; shape.CharFormats.Add(charfmt); shape.Fill = new VDX.Sections.Fill(); shape.Fill.Pattern.Formula = "0"; shape.Fill.ForegroundColor.Formula = "rgb(255,255,255)"; shape.Fill.ForegroundTransparency.Formula = "1.0"; shape.Line = new VDX.Sections.Line(); shape.Line.Pattern.Formula = "0"; shape.Line.Weight.Formula = "0"; shape.Line.Color.Formula = "rgb(240,240,240)"; n++; } } doc.Save("D:\\specimen.vdx"); }
public void VDX_CustomTemplate() { string input_filename = this.GetTestResultsOutPath(@"datafiles\template_router.vdx"); string output_filename = TestGlobals.TestHelper.GetTestMethodOutputFilename(".vdx"); // Load the template string template_xml = File.ReadAllText(input_filename); var template = new VisioAutomation.VDX.Template(template_xml); var doc = new VisioAutomation.VDX.Elements.Drawing(template); var page = new VisioAutomation.VDX.Elements.Page(8, 4); doc.Pages.Add(page); // add layers var layer0 = page.AddLayer("Layer0", 0); var layer1 = page.AddLayer("Layer1", 1); var layer2 = page.AddLayer("Layer2", 2); // create layout var layout = new VisioAutomation.VDX.Sections.Layout(); layout.ShapeRouteStyle.Result = VisioAutomation.VDX.Enums.RouteStyle.TreeEW; // find the id of the master for rounded rectangles int shapeMasterNameId = doc.GetMasterMetaData("Router").ID; bool shapeMasterNameGroup = doc.GetMasterMetaData("Router").IsGroup; // add shape1 var shape1 = new VisioAutomation.VDX.Elements.Shape(shapeMasterNameId, shapeMasterNameGroup, 1, 3); page.Shapes.Add(shape1); shape1.Text.Add("Router1"); shape1.Layout = layout; // add shape2 var shape2 = new VisioAutomation.VDX.Elements.Shape(shapeMasterNameId, shapeMasterNameGroup, 5, 3); page.Shapes.Add(shape2); shape2.Text.Add("Router2"); shape2.Layout = shape1.Layout; // add shape3 - this is the dynamic connector var shape3 = VisioAutomation.VDX.Elements.Shape.CreateDynamicConnector(doc); shape3.XForm1D.BeginX.Result = 1; shape3.XForm1D.EndX.Result = 5; shape3.XForm1D.BeginY.Result = 3; shape3.XForm1D.EndY.Result = 3; page.Shapes.Add(shape3); shape3.Geom = new VisioAutomation.VDX.Sections.Geom(); shape3.Geom.Rows.Add(new VisioAutomation.VDX.Sections.MoveTo(1, 3)); shape3.Geom.Rows.Add(new VisioAutomation.VDX.Sections.LineTo(5, 3)); shape3.Layout = shape1.Layout; page.ConnectShapesViaConnector(shape3, shape1, shape2); // handle layers shape3.LayerMembership = new List <int> { layer0.Index, layer2.Index }; shape1.LayerMembership = new List <int> { layer1.Index }; shape2.LayerMembership = new List <int> { layer2.Index }; // write document to disk as .vdx file doc.Save(output_filename); this.VerifyDocCanBeLoaded(output_filename); }
public void VDX_CustomProperties() { string filename = TestGlobals.TestHelper.GetTestMethodOutputFilename(".vdx"); var template = new VisioAutomation.VDX.Template(); var doc_node = new VisioAutomation.VDX.Elements.Drawing(template); int rect_id = doc_node.GetMasterMetaData("REctAngle").ID; var node_page = new VisioAutomation.VDX.Elements.Page(8, 5); doc_node.Pages.Add(node_page); var node_shape = new VisioAutomation.VDX.Elements.Shape(rect_id, 4, 2, 3, 2); node_shape.CustomProps = new VisioAutomation.VDX.Elements.CustomProps(); var node_custprop0 = new VisioAutomation.VDX.Elements.CustomProp("PROP1"); node_custprop0.Value = "VALUE1"; node_shape.CustomProps.Add(node_custprop0); var node_custprop1 = new VisioAutomation.VDX.Elements.CustomProp("PROP2"); node_custprop1.Value = "123"; node_custprop1.Type.Result = VisioAutomation.VDX.Enums.CustomPropType.String; node_shape.CustomProps.Add(node_custprop1); var node_custprop2 = new VisioAutomation.VDX.Elements.CustomProp("PROP3"); node_custprop2.Value = "456"; node_custprop2.Type.Result = VisioAutomation.VDX.Enums.CustomPropType.Number; node_shape.CustomProps.Add(node_custprop2); node_page.Shapes.Add(node_shape); doc_node.Save(filename); var app = new IVisio.Application(); var docs = app.Documents; var doc = docs.Add(filename); var page = app.ActivePage; var shapes = page.Shapes; Assert.AreEqual(1, page.Shapes.Count); var shape = page.Shapes[1]; var customprops = VACUSTPROP.CustomPropertyHelper.Get(shape); Assert.IsTrue(customprops.ContainsKey("PROP1")); Assert.AreEqual("\"VALUE1\"", customprops["PROP1"].Value.Formula); Assert.IsTrue(customprops.ContainsKey("PROP2")); Assert.AreEqual("\"123\"", customprops["PROP2"].Value.Formula); Assert.AreEqual("0", customprops["PROP2"].Type.Formula); Assert.IsTrue(customprops.ContainsKey("PROP3")); Assert.AreEqual("\"456\"", customprops["PROP3"].Value.Formula); Assert.AreEqual("2", customprops["PROP3"].Type.Formula); app.Quit(true); }