asposediagramjava 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +3 -0
  3. data/LICENSE +21 -0
  4. data/README.md +43 -0
  5. data/Rakefile +2 -0
  6. data/asposediagramjava.gemspec +27 -0
  7. data/config/aspose.yml +5 -0
  8. data/data/Basic_Shapes.vsd +0 -0
  9. data/data/Drawing.vdx +12 -0
  10. data/data/Drawing.vsd +0 -0
  11. data/data/Hyperlinks.vdx +12 -0
  12. data/data/Layers.vdx +12 -0
  13. data/data/UserDefinedCells.vdx +12 -0
  14. data/data/star.png +0 -0
  15. data/lib/asposediagramjava.rb +71 -0
  16. data/lib/asposediagramjava/Diagrams/addcommenttodiagram.rb +18 -0
  17. data/lib/asposediagramjava/Diagrams/creatediagram.rb +15 -0
  18. data/lib/asposediagramjava/Diagrams/getconnectorsinfo.rb +22 -0
  19. data/lib/asposediagramjava/Diagrams/getdiagramfontinfo.rb +21 -0
  20. data/lib/asposediagramjava/Diagrams/removeallmacrosfromdiagram.rb +18 -0
  21. data/lib/asposediagramjava/Export/exporttohtml.rb +15 -0
  22. data/lib/asposediagramjava/Export/exporttoimage.rb +15 -0
  23. data/lib/asposediagramjava/Export/exporttopdf.rb +15 -0
  24. data/lib/asposediagramjava/Export/exporttosvg.rb +15 -0
  25. data/lib/asposediagramjava/Export/exporttoxaml.rb +15 -0
  26. data/lib/asposediagramjava/Export/exporttoxml.rb +50 -0
  27. data/lib/asposediagramjava/Export/exporttoxps.rb +15 -0
  28. data/lib/asposediagramjava/Geometry/shapegeometrysection.rb +52 -0
  29. data/lib/asposediagramjava/HeadersAndFooters/headersandfooters.rb +40 -0
  30. data/lib/asposediagramjava/Hyperlinks/addhyperlinktoshape.rb +33 -0
  31. data/lib/asposediagramjava/Hyperlinks/getshapehyperlinkdata.rb +25 -0
  32. data/lib/asposediagramjava/Layers/addnewlayer.rb +39 -0
  33. data/lib/asposediagramjava/Layers/configureshapewithlayers.rb +34 -0
  34. data/lib/asposediagramjava/Layers/getalllayers.rb +25 -0
  35. data/lib/asposediagramjava/Masters/checkpresenceofmaster.rb +38 -0
  36. data/lib/asposediagramjava/Masters/getmasterinfo.rb +21 -0
  37. data/lib/asposediagramjava/Masters/getmasterobject.rb +40 -0
  38. data/lib/asposediagramjava/Pages/addpage.rb +45 -0
  39. data/lib/asposediagramjava/Pages/getpageinfo.rb +15 -0
  40. data/lib/asposediagramjava/Pages/getpageobject.rb +38 -0
  41. data/lib/asposediagramjava/Protection/protectunprotectdiagram.rb +20 -0
  42. data/lib/asposediagramjava/Protection/protectunprotectshape.rb +39 -0
  43. data/lib/asposediagramjava/Shapes/changeshapeposition.rb +26 -0
  44. data/lib/asposediagramjava/Shapes/connectsubshapes.rb +34 -0
  45. data/lib/asposediagramjava/Shapes/extractimages.rb +28 -0
  46. data/lib/asposediagramjava/Shapes/getshapeicon.rb +27 -0
  47. data/lib/asposediagramjava/Shapes/getshapeinfo.rb +23 -0
  48. data/lib/asposediagramjava/Shapes/readshapedata.rb +55 -0
  49. data/lib/asposediagramjava/Shapes/replacepictureshape.rb +33 -0
  50. data/lib/asposediagramjava/Shapes/rotateshape.rb +18 -0
  51. data/lib/asposediagramjava/Shapes/selectrerouteoption.rb +24 -0
  52. data/lib/asposediagramjava/Shapes/setmilestoneshapeproperties.rb +32 -0
  53. data/lib/asposediagramjava/Shapes/setshapeappearance.rb +24 -0
  54. data/lib/asposediagramjava/Shapes/setshapefilldata.rb +27 -0
  55. data/lib/asposediagramjava/Shapes/setshapeheightandwidth.rb +27 -0
  56. data/lib/asposediagramjava/Shapes/setshapelinedata.rb +28 -0
  57. data/lib/asposediagramjava/Shapes/setshapexformdata.rb +27 -0
  58. data/lib/asposediagramjava/SolutionXML/addsolutionxmlelement.rb +27 -0
  59. data/lib/asposediagramjava/SolutionXML/readxmlvalues.rb +23 -0
  60. data/lib/asposediagramjava/Text/addshapetextandstyles.rb +61 -0
  61. data/lib/asposediagramjava/Text/applycustomstylesheet.rb +48 -0
  62. data/lib/asposediagramjava/Text/updateshapetext.rb +27 -0
  63. data/lib/asposediagramjava/UserDefinedCells/createuserdefinedcell.rb +38 -0
  64. data/lib/asposediagramjava/UserDefinedCells/getuserdefinedcells.rb +34 -0
  65. data/lib/asposediagramjava/UserDefinedCells/readuserdefinedcells.rb +28 -0
  66. data/lib/asposediagramjava/WindowElements/adddynamicgridsandconnectionpoints.rb +24 -0
  67. data/lib/asposediagramjava/WindowElements/addwindowelement.rb +33 -0
  68. data/lib/asposediagramjava/WindowElements/getwindowelements.rb +24 -0
  69. data/lib/asposediagramjava/WindowElements/showhideproperties.rb +30 -0
  70. data/lib/asposediagramjava/asposediagram.rb +14 -0
  71. data/lib/asposediagramjava/diagrams.rb +5 -0
  72. data/lib/asposediagramjava/export.rb +7 -0
  73. data/lib/asposediagramjava/geometry.rb +1 -0
  74. data/lib/asposediagramjava/headersandfooters.rb +1 -0
  75. data/lib/asposediagramjava/hyperlinks.rb +2 -0
  76. data/lib/asposediagramjava/layers.rb +3 -0
  77. data/lib/asposediagramjava/masters.rb +3 -0
  78. data/lib/asposediagramjava/pages.rb +3 -0
  79. data/lib/asposediagramjava/protection.rb +2 -0
  80. data/lib/asposediagramjava/shapes.rb +15 -0
  81. data/lib/asposediagramjava/solutionxml.rb +2 -0
  82. data/lib/asposediagramjava/text.rb +3 -0
  83. data/lib/asposediagramjava/userdefinedcells.rb +3 -0
  84. data/lib/asposediagramjava/version.rb +3 -0
  85. data/lib/asposediagramjava/windowelements.rb +4 -0
  86. data/samples/diagrams.rb +13 -0
  87. data/samples/export.rb +15 -0
  88. data/samples/geometry.rb +9 -0
  89. data/samples/headersandfooters.rb +9 -0
  90. data/samples/hyperlinks.rb +10 -0
  91. data/samples/layers.rb +11 -0
  92. data/samples/masters.rb +11 -0
  93. data/samples/pages.rb +11 -0
  94. data/samples/protection.rb +10 -0
  95. data/samples/shapes.rb +22 -0
  96. data/samples/solutionxml.rb +10 -0
  97. data/samples/text.rb +11 -0
  98. data/samples/userdefinedcells.rb +11 -0
  99. data/samples/windowelements.rb +12 -0
  100. metadata +199 -0
@@ -0,0 +1,50 @@
1
+ module Asposediagramjava
2
+ module ExportToXml
3
+ def initialize()
4
+ # Exporting VSD to VDX
5
+ export_to_vdx()
6
+
7
+ # Exporting VSD to VSX
8
+ export_to_vsx()
9
+
10
+ # Exporting VSD to VTX
11
+ export_to_vtx()
12
+ end
13
+
14
+ def export_to_vdx()
15
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
16
+
17
+ # Call the diagram constructor to load diagram from a VSD file
18
+ diagram = Rjb::import('com.aspose.diagram.Diagram').new(data_dir + "Drawing.vsd")
19
+
20
+ # Save as VDX
21
+ diagram.save(data_dir + "Diagram.vdx", Rjb::import('com.aspose.diagram.SaveFileFormat').VDX)
22
+
23
+ puts "Exported visio diagram to VDX."
24
+ end
25
+
26
+ def export_to_vsx()
27
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
28
+
29
+ # Call the diagram constructor to load diagram from a VSD file
30
+ diagram = Rjb::import('com.aspose.diagram.Diagram').new(data_dir + "Drawing.vsd")
31
+
32
+ # Save as VSX
33
+ diagram.save(data_dir + "Diagram.vsx", Rjb::import('com.aspose.diagram.SaveFileFormat').VSX)
34
+
35
+ puts "Exported visio diagram to VSX."
36
+ end
37
+
38
+ def export_to_vtx()
39
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
40
+
41
+ # Call the diagram constructor to load diagram from a VSD file
42
+ diagram = Rjb::import('com.aspose.diagram.Diagram').new(data_dir + "Drawing.vsd")
43
+
44
+ # Save as VTX
45
+ diagram.save(data_dir + "Diagram.vtx", Rjb::import('com.aspose.diagram.SaveFileFormat').VTX)
46
+
47
+ puts "Exported visio diagram to VTX."
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,15 @@
1
+ module Asposediagramjava
2
+ module ExportToXps
3
+ def initialize()
4
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
5
+
6
+ # Call the diagram constructor to load diagram from a VSD file
7
+ diagram = Rjb::import('com.aspose.diagram.Diagram').new(data_dir + "Drawing.vsd")
8
+
9
+ # Save as XPS
10
+ diagram.save(data_dir + "Diagram.xps", Rjb::import('com.aspose.diagram.SaveFileFormat').XPS)
11
+
12
+ puts "Exported visio diagram to XPS."
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,52 @@
1
+ module Asposediagramjava
2
+ module ShapeGeometrySection
3
+ def initialize()
4
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
5
+
6
+ # Call the diagram constructor to load diagram from a VSD file
7
+ diagram = Rjb::import('com.aspose.diagram.Diagram').new(data_dir + "Drawing.vsd")
8
+
9
+ #set connector shape id
10
+ connector_id = 1
11
+ connector = diagram.getPages().getPage(0).getShapes().getShape(connector_id)
12
+
13
+ # get connector geometry at index 0
14
+ defaultLineTo = connector.getGeoms().get(0).getCoordinateCol().getLineToCol().get(0)
15
+
16
+ # remove connector geometry from index 0
17
+ connector.getGeoms().get(0).getCoordinateCol().getLineToCol().get(0).setDel(1)
18
+
19
+ # initialize LineTo geometry object
20
+ line_to = Rjb::import('com.aspose.diagram.LineTo').new
21
+ # set X value
22
+ line_to.getX().setValue(0)
23
+ # set Y value
24
+ line_to.getY().setValue(defaultLineTo.getY().getValue() / 2)
25
+ # add connector geometry
26
+ connector.getGeoms().get(0).getCoordinateCol().add(line_to)
27
+
28
+ # initialize LineTo geometry object
29
+ line_to = Rjb::import('com.aspose.diagram.LineTo').new
30
+ # set Y value
31
+ line_to.getY().setValue(defaultLineTo.getY().getValue() / 2)
32
+ # set X value
33
+ line_to.getX().setValue(defaultLineTo.getX().getValue())
34
+ # add connector geometry
35
+ connector.getGeoms().get(0).getCoordinateCol().add(line_to)
36
+
37
+ # initialize LineTo geometry object
38
+ line_to = Rjb::import('com.aspose.diagram.LineTo').new
39
+ # set X value
40
+ line_to.getX().setValue(defaultLineTo.getX().getValue())
41
+ # set Y value
42
+ line_to.getY().setValue(defaultLineTo.getY().getValue())
43
+ # add connector geometry
44
+ connector.getGeoms().get(0).getCoordinateCol().add(line_to)
45
+
46
+ # Save as Html
47
+ diagram.save(data_dir + "Geometry.vdx", Rjb::import('com.aspose.diagram.SaveFileFormat').VDX)
48
+
49
+ puts "Updated Connector Geometry Section in the ShapeSheet."
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,40 @@
1
+ module Asposediagramjava
2
+ module HeadersAndFooters
3
+ def initialize()
4
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
5
+
6
+ # Create instance of Diagram
7
+ diagram = Rjb::import('com.aspose.diagram.Diagram').new(data_dir + "Drawing.vsd")
8
+
9
+ # add page number at the right corner of header
10
+ diagram.getHeaderFooter().setHeaderRight("&p")
11
+
12
+ # set text at the center
13
+ diagram.getHeaderFooter().setHeaderCenter("Center of the header")
14
+
15
+ # set text at the left side
16
+ diagram.getHeaderFooter().setHeaderLeft("Left of the header")
17
+
18
+ # add text at the right corner of footer
19
+ diagram.getHeaderFooter().setFooterRight("Right of the footer")
20
+
21
+ # set text at the center
22
+ diagram.getHeaderFooter().setFooterCenter("Center of the footer")
23
+
24
+ # set text at the left side
25
+ diagram.getHeaderFooter().setFooterLeft("Left of the footer")
26
+
27
+ # set header & footer color
28
+ diagram.getHeaderFooter().setHeaderFooterColor(Rjb::import('com.aspose.diagram.Color').getRed())
29
+
30
+ # set text font properties
31
+ diagram.getHeaderFooter().getHeaderFooterFont().setItalic(1)
32
+ diagram.getHeaderFooter().getHeaderFooterFont().setUnderline(0)
33
+
34
+ # Save diagram
35
+ diagram.save(data_dir + "HeadersAndFooters.vdx", Rjb::import('com.aspose.diagram.SaveFileFormat').VDX)
36
+
37
+ puts "Done with headers and footers."
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,33 @@
1
+ module Asposediagramjava
2
+ module AddHyperlinkToShape
3
+ def initialize()
4
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
5
+
6
+ # Create instance of Diagram
7
+ diagram = Rjb::import('com.aspose.diagram.Diagram').new(data_dir + "Drawing.vsd")
8
+
9
+ # Initialize Hyperlink object
10
+ hyperlink = Rjb::import('com.aspose.diagram.Hyperlink').new
11
+
12
+ # Set address value
13
+ hyperlink.getAddress().setValue("http://www.google.com/")
14
+
15
+ # Set sub address value
16
+ hyperlink.getSubAddress().setValue("Sub address here")
17
+
18
+ # Set description value
19
+ hyperlink.getDescription().setValue("Description here")
20
+
21
+ # Set name
22
+ hyperlink.setName("MyHyperLink")
23
+
24
+ # Add hyperlink to the shape
25
+ diagram.getPages().getPage("Flow 1").getShapes().getShape(1).getHyperlinks().add(hyperlink)
26
+
27
+ # Save diagram
28
+ diagram.save(data_dir + "Hyperlinks.vdx", Rjb::import('com.aspose.diagram.SaveFileFormat').VDX)
29
+
30
+ puts "Added hyperlik to shape successfully!"
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,25 @@
1
+ module Asposediagramjava
2
+ module GetShapeHyperlinkData
3
+ def initialize()
4
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
5
+
6
+ # Create instance of Diagram
7
+ diagram = Rjb::import('com.aspose.diagram.Diagram').new(data_dir + "Hyperlinks.vdx")
8
+
9
+ # Get a particular shape
10
+ shape = diagram.getPages().getPage("Flow 1").getShapes().getShape(1)
11
+
12
+ hyperlinks = shape.getHyperlinks()
13
+
14
+ i = 0
15
+ while i < hyperlinks.getCount()
16
+ hyperlink = hyperlinks.get(i)
17
+ puts "Address: " + hyperlink.getAddress().getValue().to_s
18
+ puts "Sub Address: " + hyperlink.getSubAddress().getValue().to_s
19
+ puts "Description: " + hyperlink.getDescription().getValue().to_s
20
+
21
+ i +=1
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,39 @@
1
+ module Asposediagramjava
2
+ module AddNewLayer
3
+ def initialize()
4
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
5
+
6
+ # Create instance of Diagram
7
+ diagram = Rjb::import('com.aspose.diagram.Diagram').new(data_dir + "Basic_Shapes.vsd")
8
+
9
+ # get Visio page
10
+ page = diagram.getPages().getPage(0)
11
+
12
+ # initialize a new Layer class object
13
+ layer = Rjb::import('com.aspose.diagram.Layer').new
14
+
15
+ # set Layer name
16
+ layer.getName().setValue("Layer2")
17
+
18
+ # set Layer Visibility
19
+ layer.getVisible().setValue(2)
20
+
21
+ # add Layer to the particular page sheet
22
+ page.getPageSheet().getLayers().add(layer)
23
+
24
+ # add a new shape
25
+ shape_id = page.addShape(3.0, 3.0, 0.36, 0.36, "Circle")
26
+
27
+ # get the Shape object
28
+ shape = page.getShapes().getShape(shape_id)
29
+
30
+ # assign this new Layer
31
+ shape.getLayerMem().getLayerMember().setValue(layer.getIX().to_s)
32
+
33
+ # Save diagram
34
+ diagram.save(data_dir + "AddNewLayer.vdx", Rjb::import('com.aspose.diagram.SaveFileFormat').VDX)
35
+
36
+ puts "Added a new Layer in the Visio Diagram."
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,34 @@
1
+ module Asposediagramjava
2
+ module ConfigureShapeWithLayers
3
+ def initialize()
4
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
5
+
6
+ # Create instance of Diagram
7
+ diagram = Rjb::import('com.aspose.diagram.Diagram').new(data_dir + "Drawing.vsd")
8
+
9
+ shapes = diagram.getPages().getPage("Flow 1").getShapes()
10
+
11
+ i = 0
12
+ while i < shapes.getCount()
13
+ shape = shapes.get(i)
14
+ #puts shape.getName().to_s
15
+ if shape.getName() == "Process"
16
+ # Add shape1 in first two layers. Here "0;1" are indexes of the layers
17
+ layer = shape.getLayerMem()
18
+ layer.getLayerMember().setValue("0;1")
19
+ elsif shape.getName() == "Preparation"
20
+ # Remove shape2 from all the layers
21
+ layer = shape.getLayerMem()
22
+ layer.getLayerMember().setValue("")
23
+ end
24
+
25
+ i +=1
26
+ end
27
+
28
+ # Save diagram
29
+ diagram.save(data_dir + "Layers.vdx", Rjb::import('com.aspose.diagram.SaveFileFormat').VDX)
30
+
31
+ puts "Configured Shape Objects with Layers in Visio."
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,25 @@
1
+ module Asposediagramjava
2
+ module GetAllLayers
3
+ def initialize()
4
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
5
+
6
+ # Create instance of Diagram
7
+ diagram = Rjb::import('com.aspose.diagram.Diagram').new(data_dir + "Drawing.vsd")
8
+
9
+ # get Visio page
10
+ page = diagram.getPages().getPage(0)
11
+
12
+ layers = page.getPageSheet().getLayers()
13
+
14
+ i = 0
15
+ while i < layers.getCount()
16
+ layer = layers.get(i)
17
+ puts "Name: " + layer.getName().getValue().to_s
18
+ puts "Visibility: " + layer.getVisible().getValue().to_s
19
+ puts "Status: " + layer.getStatus().getValue().to_s
20
+
21
+ i +=1
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,38 @@
1
+ module Asposediagramjava
2
+ module CheckPresenceOfMaster
3
+ def initialize()
4
+ # Checking a Master Presence by ID
5
+ check_presence_master_by_id()
6
+
7
+ # Checking a Master Presence by Name
8
+ check_presence_master_by_name()
9
+ end
10
+
11
+ def check_presence_master_by_id()
12
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
13
+
14
+ # Call the diagram constructor to load diagram from a VSD file
15
+ diagram = Rjb::import('com.aspose.diagram.Diagram').new(data_dir + "Drawing.vsd")
16
+
17
+ master_id = 2
18
+ # check master by id
19
+ is_present = diagram.getMasters().isExist(master_id)
20
+
21
+ puts "Master Presence : " + is_present.to_s
22
+ end
23
+
24
+ def check_presence_master_by_name()
25
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
26
+
27
+ # Call the diagram constructor to load diagram from a VSD file
28
+ diagram = Rjb::import('com.aspose.diagram.Diagram').new(data_dir + "Drawing.vsd")
29
+
30
+ # Set master name
31
+ master_name = "Background tranquil .2"
32
+ # check master object by name
33
+ is_present = diagram.getMasters().isExist(master_name)
34
+
35
+ puts "Master Presence : " + is_present.to_s
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,21 @@
1
+ module Asposediagramjava
2
+ module GetMasterInfo
3
+ def initialize()
4
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
5
+
6
+ # Call the diagram constructor to load diagram from a VSD file
7
+ diagram = Rjb::import('com.aspose.diagram.Diagram').new(data_dir + "Drawing.vsd")
8
+
9
+ masters = diagram.getMasters()
10
+
11
+ i = 0
12
+ while i < masters.getCount()
13
+ master = masters.get(i)
14
+ puts "Master ID : " + master.getID().to_s
15
+ puts "Master Name : " + master.getName().to_s
16
+
17
+ i +=1
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,40 @@
1
+ module Asposediagramjava
2
+ module GetMasterObject
3
+ def initialize()
4
+ # Getting a Master Object by ID
5
+ get_master_object_by_id()
6
+
7
+ # Getting a Master Object by Name
8
+ get_master_object_by_name()
9
+ end
10
+
11
+ def get_master_object_by_id()
12
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
13
+
14
+ # Call the diagram constructor to load diagram from a VSD file
15
+ diagram = Rjb::import('com.aspose.diagram.Diagram').new(data_dir + "Drawing.vsd")
16
+
17
+ master_id = 2
18
+ # Get master object by id
19
+ master = diagram.getMasters().getMaster(master_id)
20
+
21
+ puts "Master ID : " + master.getID().to_s
22
+ puts "Master Name : " + master.getName().to_s
23
+ end
24
+
25
+ def get_master_object_by_name()
26
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
27
+
28
+ # Call the diagram constructor to load diagram from a VSD file
29
+ diagram = Rjb::import('com.aspose.diagram.Diagram').new(data_dir + "Drawing.vsd")
30
+
31
+ # Set master name
32
+ master_name = "Background tranquil .2"
33
+ # Get master object by name
34
+ master = diagram.getMasters().getMasterByName(master_name)
35
+
36
+ puts "Master ID : " + master.getID().to_s
37
+ puts "Master Name : " + master.getName().to_s
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,45 @@
1
+ module Asposediagramjava
2
+ module AddPage
3
+ def initialize()
4
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
5
+
6
+ # Call the diagram constructor to load diagram from a VSD file
7
+ diagram = Rjb::import('com.aspose.diagram.Diagram').new(data_dir + "Drawing.vsd")
8
+
9
+ # Get max page ID
10
+ max_page_id = get_max_page_id(diagram)
11
+
12
+ # Initialize a new page object
13
+ new_page = Rjb::import('com.aspose.diagram.Page').new
14
+
15
+ # Set name
16
+ new_page.setName("new page")
17
+
18
+ # Set page ID
19
+ new_page.setID(max_page_id + 1)
20
+
21
+ # Or try the Page constructor
22
+ # Page newPage = new Page(MaxPageId + 1);
23
+
24
+ # Add a new blank page
25
+ diagram.getPages().add(new_page)
26
+
27
+ # Save diagram
28
+ diagram.save(data_dir + "NewPage_Output.vdx", Rjb::import('com.aspose.diagram.SaveFileFormat').VDX)
29
+
30
+ puts "Added new page."
31
+ end
32
+
33
+ def get_max_page_id(diagram)
34
+ max = diagram.getPages().getPage(0).getID()
35
+ i = 1
36
+ while i < diagram.getPages().getCount()
37
+ if max < diagram.getPages().getPage(i).getID()
38
+ max = diagram.getPages().getPage(i).getID()
39
+ end
40
+ i +=1
41
+ end
42
+ return max
43
+ end
44
+ end
45
+ end