asposeslidesjava 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +3 -0
  3. data/LICENSE +21 -0
  4. data/README.md +31 -0
  5. data/Rakefile +2 -0
  6. data/asposeslidesjava.gemspec +27 -0
  7. data/config/aspose.yml +5 -0
  8. data/data/Aspose.html +55 -0
  9. data/data/Aspose.pptx +0 -0
  10. data/data/AsposeChart.pptx +0 -0
  11. data/data/Bass-Drum.wav +0 -0
  12. data/data/HelloWorld.pptx +0 -0
  13. data/data/Presentation1.ppt +0 -0
  14. data/data/Shapes/OleEmbed.pptx +0 -0
  15. data/data/Shapes/Wildlife.mp4 +0 -0
  16. data/data/Shapes/sample.xlsx +0 -0
  17. data/data/Source.odp +0 -0
  18. data/data/Tables/aspose-logo.jpg +0 -0
  19. data/data/Tables/demotable.pptx +0 -0
  20. data/data/Text/Welcome.pptx +0 -0
  21. data/data/Text/import.html +119 -0
  22. data/data/Text/input.pptx +0 -0
  23. data/data/Wildlife.mp4 +0 -0
  24. data/data/WithActiveX.pptm +0 -0
  25. data/data/aspose-logo.jpg +0 -0
  26. data/data/demo.pptx +0 -0
  27. data/data/night.jpg +0 -0
  28. data/data/vbamacro.pptx +0 -0
  29. data/lib/asposeslidesjava.rb +71 -0
  30. data/lib/asposeslidesjava/ActiveX/addactivex.rb +21 -0
  31. data/lib/asposeslidesjava/Charts/chartlegend.rb +33 -0
  32. data/lib/asposeslidesjava/Charts/chartproperties.rb +120 -0
  33. data/lib/asposeslidesjava/Charts/chartseries.rb +28 -0
  34. data/lib/asposeslidesjava/Charts/charttrendlines.rb +53 -0
  35. data/lib/asposeslidesjava/Charts/createchart.rb +163 -0
  36. data/lib/asposeslidesjava/Charts/errorbars.rb +84 -0
  37. data/lib/asposeslidesjava/Charts/existingchart.rb +66 -0
  38. data/lib/asposeslidesjava/Charts/formattingchartentities.rb +163 -0
  39. data/lib/asposeslidesjava/Charts/setlabeldistance.rb +24 -0
  40. data/lib/asposeslidesjava/Charts/setpiechartcolors.rb +118 -0
  41. data/lib/asposeslidesjava/Presentation/convertingtohtml.rb +25 -0
  42. data/lib/asposeslidesjava/Presentation/convertingtonotes.rb +37 -0
  43. data/lib/asposeslidesjava/Presentation/convertingtopdf.rb +16 -0
  44. data/lib/asposeslidesjava/Presentation/convertingtotiff.rb +62 -0
  45. data/lib/asposeslidesjava/Presentation/convertingtoxps.rb +43 -0
  46. data/lib/asposeslidesjava/Presentation/odptopptx.rb +16 -0
  47. data/lib/asposeslidesjava/Presentation/ppttopptx.rb +16 -0
  48. data/lib/asposeslidesjava/Presentation/properties.rb +106 -0
  49. data/lib/asposeslidesjava/Presentation/zoom.rb +20 -0
  50. data/lib/asposeslidesjava/Shapes/addellipseshape.rb +60 -0
  51. data/lib/asposeslidesjava/Shapes/addinglineshape.rb +65 -0
  52. data/lib/asposeslidesjava/Shapes/addrectangleshape.rb +58 -0
  53. data/lib/asposeslidesjava/Shapes/cloneshape.rb +32 -0
  54. data/lib/asposeslidesjava/Shapes/connectshapes.rb +83 -0
  55. data/lib/asposeslidesjava/Shapes/embedvideo.rb +32 -0
  56. data/lib/asposeslidesjava/Shapes/fillingshapes.rb +98 -0
  57. data/lib/asposeslidesjava/Shapes/findshape.rb +30 -0
  58. data/lib/asposeslidesjava/Shapes/formatlines.rb +99 -0
  59. data/lib/asposeslidesjava/Shapes/frame.rb +85 -0
  60. data/lib/asposeslidesjava/Shapes/groupshape.rb +35 -0
  61. data/lib/asposeslidesjava/Shapes/oleobject.rb +26 -0
  62. data/lib/asposeslidesjava/Shapes/rotatingshapes.rb +25 -0
  63. data/lib/asposeslidesjava/Shapes/shapeproperties.rb +30 -0
  64. data/lib/asposeslidesjava/Shapes/shapethumbnail.rb +18 -0
  65. data/lib/asposeslidesjava/Slides/accessslides.rb +38 -0
  66. data/lib/asposeslidesjava/Slides/addslides.rb +28 -0
  67. data/lib/asposeslidesjava/Slides/background.rb +76 -0
  68. data/lib/asposeslidesjava/Slides/changingposition.rb +22 -0
  69. data/lib/asposeslidesjava/Slides/cloneslides.rb +72 -0
  70. data/lib/asposeslidesjava/Slides/creatingsvg.rb +27 -0
  71. data/lib/asposeslidesjava/Slides/hyperlinks.rb +19 -0
  72. data/lib/asposeslidesjava/Slides/removeslides.rb +46 -0
  73. data/lib/asposeslidesjava/Slides/sizeandlayout.rb +55 -0
  74. data/lib/asposeslidesjava/Slides/thumbnail.rb +113 -0
  75. data/lib/asposeslidesjava/Slides/transitions.rb +24 -0
  76. data/lib/asposeslidesjava/SmartArt/addsmartart.rb +26 -0
  77. data/lib/asposeslidesjava/SmartArt/fillformat.rb +28 -0
  78. data/lib/asposeslidesjava/Tables/addimage.rb +34 -0
  79. data/lib/asposeslidesjava/Tables/aligntext.rb +48 -0
  80. data/lib/asposeslidesjava/Tables/clonerowcolumn.rb +76 -0
  81. data/lib/asposeslidesjava/Tables/createtable.rb +61 -0
  82. data/lib/asposeslidesjava/Tables/removerowcolumn.rb +27 -0
  83. data/lib/asposeslidesjava/Text/createtextbox.rb +79 -0
  84. data/lib/asposeslidesjava/Text/exporttexttohtml.rb +30 -0
  85. data/lib/asposeslidesjava/Text/importhtml.rb +51 -0
  86. data/lib/asposeslidesjava/Text/managefont.rb +30 -0
  87. data/lib/asposeslidesjava/Text/managetext.rb +128 -0
  88. data/lib/asposeslidesjava/Text/paragraphs.rb +260 -0
  89. data/lib/asposeslidesjava/Text/replacetext.rb +23 -0
  90. data/lib/asposeslidesjava/Text/shadoweffects.rb +37 -0
  91. data/lib/asposeslidesjava/Text/textfont.rb +130 -0
  92. data/lib/asposeslidesjava/Text/wordart.rb +45 -0
  93. data/lib/asposeslidesjava/VBAMacros/removevbamacro.rb +18 -0
  94. data/lib/asposeslidesjava/activex.rb +1 -0
  95. data/lib/asposeslidesjava/asposeslides.rb +10 -0
  96. data/lib/asposeslidesjava/charts.rb +9 -0
  97. data/lib/asposeslidesjava/helloworld.rb +38 -0
  98. data/lib/asposeslidesjava/presentation.rb +9 -0
  99. data/lib/asposeslidesjava/shapes.rb +15 -0
  100. data/lib/asposeslidesjava/slides.rb +11 -0
  101. data/lib/asposeslidesjava/smartart.rb +2 -0
  102. data/lib/asposeslidesjava/tables.rb +5 -0
  103. data/lib/asposeslidesjava/text.rb +10 -0
  104. data/lib/asposeslidesjava/vbamacros.rb +1 -0
  105. data/lib/asposeslidesjava/version.rb +3 -0
  106. data/samples/test.rb +8 -0
  107. metadata +206 -0
@@ -0,0 +1,120 @@
1
+ module Asposeslidesjava
2
+ module ChartProperties
3
+ def initialize()
4
+ # Setting the RotationX, RotationY and DepthPercents properties of 3D Chart.
5
+ set_rotation_and_depth()
6
+
7
+ # Setting the GapWidth property of Chart Series
8
+ set_gapwidth()
9
+ end
10
+
11
+ def set_rotation_and_depth()
12
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
13
+
14
+ # Instantiate Presentation class that represents the presentation file
15
+ pres = Rjb::import('com.aspose.slides.Presentation').new
16
+
17
+ # Access first slide
18
+ sld = pres.getSlides().get_Item(0)
19
+
20
+ # Add chart with default data
21
+ chart = sld.getShapes().addChart(Rjb::import('com.aspose.slides.ChartType').StackedColumn3D, 0, 0, 500, 500)
22
+
23
+ # Getting the chart data worksheet
24
+ fact = chart.getChartData().getChartDataWorkbook()
25
+
26
+ # Delete default generated series and categories
27
+ chart.getChartData().getSeries().clear()
28
+ chart.getChartData().getCategories().clear()
29
+
30
+ # Adding new series
31
+ chart.getChartData().getSeries().add(fact.getCell(0, 0, 1, "Series 1"), chart.getType())
32
+ chart.getChartData().getSeries().add(fact.getCell(0, 0, 2, "Series 2"), chart.getType())
33
+
34
+ # Adding new categories
35
+ chart.getChartData().getCategories().add(fact.getCell(0, 1, 0, "Caetegoty 1"))
36
+ chart.getChartData().getCategories().add(fact.getCell(0, 2, 0, "Caetegoty 2"))
37
+ chart.getChartData().getCategories().add(fact.getCell(0, 3, 0, "Caetegoty 3"))
38
+
39
+ # Set Rotation3D properties
40
+ chart.getRotation3D().setRightAngleAxes(true)
41
+ chart.getRotation3D().setRotationX(40)
42
+ chart.getRotation3D().setRotationY(270)
43
+ chart.getRotation3D().setDepthPercents(150)
44
+
45
+ # Take first chart series
46
+ series = chart.getChartData().getSeries().get_Item(0)
47
+
48
+ # Populating series data
49
+ series.getDataPoints().addDataPointForBarSeries(fact.getCell(0, 1, 1, 20))
50
+ series.getDataPoints().addDataPointForBarSeries(fact.getCell(0, 2, 1, 50))
51
+ series.getDataPoints().addDataPointForBarSeries(fact.getCell(0, 3, 1, 30))
52
+
53
+ # Take second chart series
54
+ series = chart.getChartData().getSeries().get_Item(1)
55
+
56
+ # Populating series data
57
+ series.getDataPoints().addDataPointForBarSeries(fact.getCell(0, 1, 2, 30))
58
+ series.getDataPoints().addDataPointForBarSeries(fact.getCell(0, 2, 2, 10))
59
+ series.getDataPoints().addDataPointForBarSeries(fact.getCell(0, 3, 2, 60))
60
+
61
+ # Saving the presentation
62
+ pres.save(data_dir + "3Drotation.pptx", Rjb::import('com.aspose.slides.SaveFormat').Pptx)
63
+
64
+ puts "Done with rotation, please check the output file."
65
+ end
66
+
67
+ def set_gapwidth()
68
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
69
+
70
+ # Instantiate Presentation class that represents the presentation file
71
+ pres = Rjb::import('com.aspose.slides.Presentation').new
72
+
73
+ # Access first slide
74
+ sld = pres.getSlides().get_Item(0)
75
+
76
+ # Add chart with default data
77
+ chart = sld.getShapes().addChart(Rjb::import('com.aspose.slides.ChartType').StackedColumn3D, 0, 0, 500, 500)
78
+
79
+ # Getting the chart data worksheet
80
+ fact = chart.getChartData().getChartDataWorkbook()
81
+
82
+ # Delete default generated series and categories
83
+ chart.getChartData().getSeries().clear()
84
+ chart.getChartData().getCategories().clear()
85
+
86
+ # Adding new series
87
+ chart.getChartData().getSeries().add(fact.getCell(0, 0, 1, "Series 1"), chart.getType())
88
+ chart.getChartData().getSeries().add(fact.getCell(0, 0, 2, "Series 2"), chart.getType())
89
+
90
+ # Adding new categories
91
+ chart.getChartData().getCategories().add(fact.getCell(0, 1, 0, "Caetegoty 1"))
92
+ chart.getChartData().getCategories().add(fact.getCell(0, 2, 0, "Caetegoty 2"))
93
+ chart.getChartData().getCategories().add(fact.getCell(0, 3, 0, "Caetegoty 3"))
94
+
95
+ # Take first chart series
96
+ series = chart.getChartData().getSeries().get_Item(0)
97
+
98
+ # Populating series data
99
+ series.getDataPoints().addDataPointForBarSeries(fact.getCell(0, 1, 1, 20))
100
+ series.getDataPoints().addDataPointForBarSeries(fact.getCell(0, 2, 1, 50))
101
+ series.getDataPoints().addDataPointForBarSeries(fact.getCell(0, 3, 1, 30))
102
+
103
+ # Take second chart series
104
+ series = chart.getChartData().getSeries().get_Item(1)
105
+
106
+ # Populating series data
107
+ series.getDataPoints().addDataPointForBarSeries(fact.getCell(0, 1, 2, 30))
108
+ series.getDataPoints().addDataPointForBarSeries(fact.getCell(0, 2, 2, 10))
109
+ series.getDataPoints().addDataPointForBarSeries(fact.getCell(0, 3, 2, 60))
110
+
111
+ # Set GapWidth value
112
+ series.getParentSeriesGroup().setGapWidth(75)
113
+
114
+ # Saving the presentation
115
+ pres.save(data_dir + "SetGapWidth.pptx", Rjb::import('com.aspose.slides.SaveFormat').Pptx)
116
+
117
+ puts "Set Gapwidth property of chart series, please check the output file."
118
+ end
119
+ end
120
+ end
@@ -0,0 +1,28 @@
1
+ module Asposeslidesjava
2
+ module ChartSeries
3
+ def initialize()
4
+ # Adding Chart Series Overlap for Charts
5
+ add_overlap_for_chart()
6
+ end
7
+
8
+ def add_overlap_for_chart()
9
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
10
+
11
+ # Instantiate Presentation class that represents the presentation file
12
+ pres = Rjb::import('com.aspose.slides.Presentation').new
13
+
14
+ # Adding chart
15
+ chart = pres.getSlides().get_Item(0).getShapes().addChart(Rjb::import('com.aspose.slides.ChartType').ClusteredColumn, 50, 50, 600, 400, true)
16
+ series = chart.getChartData().getSeries()
17
+ if series.get_Item(0).getOverlap() == 0
18
+ # Setting series overlap
19
+ series.get_Item(0).getParentSeriesGroup().setOverlap(-30)
20
+ end
21
+
22
+ # Saving the presentation
23
+ pres.save(data_dir + "Overlap.pptx", Rjb::import('com.aspose.slides.SaveFormat').Pptx)
24
+
25
+ puts "Added chart series overlap for charts, please check the output file."
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,53 @@
1
+ module Asposeslidesjava
2
+ module ChartTrendLines
3
+ def initialize()
4
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
5
+
6
+ # Creating empty presentation
7
+ pres = Rjb::import('com.aspose.slides.Presentation').new
8
+
9
+ # Creating a clustered column chart
10
+ chart = pres.getSlides().get_Item(0).getShapes().addChart(Rjb::import('com.aspose.slides.ChartType').ClusteredColumn, 20, 20, 500, 400)
11
+
12
+ # Adding ponential trend line for chart series 1
13
+ tredLinep = chart.getChartData().getSeries().get_Item(0).getTrendLines().add(Rjb::import('com.aspose.slides.TrendlineType').Exponential)
14
+ tredLinep.setDisplayEquation(false)
15
+ tredLinep.setDisplayRSquaredValue(false)
16
+
17
+ # Adding Linear trend line for chart series 1
18
+ tredLineLin = chart.getChartData().getSeries().get_Item(0).getTrendLines().add(Rjb::import('com.aspose.slides.TrendlineType').Linear)
19
+ tredLineLin.setTrendlineType(Rjb::import('com.aspose.slides.TrendlineType').Linear)
20
+ tredLineLin.getFormat().getLine().getFillFormat().setFillType(Rjb::import('com.aspose.slides.FillType').Solid)
21
+ tredLineLin.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Rjb::import('java.awt.Color').RED)
22
+
23
+
24
+ # Adding Logarithmic trend line for chart series 2
25
+ tredLineLog = chart.getChartData().getSeries().get_Item(1).getTrendLines().add(Rjb::import('com.aspose.slides.TrendlineType').Logarithmic)
26
+ tredLineLog.setTrendlineType(Rjb::import('com.aspose.slides.TrendlineType').Logarithmic)
27
+ tredLineLog.addTextFrameForOverriding("New log trend line")
28
+
29
+ # Adding MovingAverage trend line for chart series 2
30
+ tredLineMovAvg = chart.getChartData().getSeries().get_Item(1).getTrendLines().add(Rjb::import('com.aspose.slides.TrendlineType').MovingAverage)
31
+ tredLineMovAvg.setTrendlineType(Rjb::import('com.aspose.slides.TrendlineType').MovingAverage)
32
+ tredLineMovAvg.setPeriod(3)
33
+ tredLineMovAvg.setTrendlineName("New TrendLine Name")
34
+
35
+ # Adding Polynomial trend line for chart series 3
36
+ tredLinePol = chart.getChartData().getSeries().get_Item(2).getTrendLines().add(Rjb::import('com.aspose.slides.TrendlineType').Polynomial)
37
+ tredLinePol.setTrendlineType(Rjb::import('com.aspose.slides.TrendlineType').Polynomial)
38
+ tredLinePol.setForward(1)
39
+ tredLinePol.setOrder(3)
40
+
41
+ # Adding Power trend line for chart series 3
42
+ tredLinePower = chart.getChartData().getSeries().get_Item(1).getTrendLines().add(Rjb::import('com.aspose.slides.TrendlineType').Power)
43
+ tredLinePower.setTrendlineType(Rjb::import('com.aspose.slides.TrendlineType').Power)
44
+ tredLinePower.setBackward(1)
45
+
46
+ # Saving the presentation
47
+ save_format = Rjb::import('com.aspose.slides.SaveFormat')
48
+ pres.save(data_dir + "ChartTrendLines.pptx", save_format.Pptx)
49
+
50
+ puts "Done with chart trend lines, please check the output file."
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,163 @@
1
+ module Asposeslidesjava
2
+ module CreateChart
3
+ def initialize()
4
+ # Creating Normal Charts
5
+ create_normal_chart()
6
+
7
+ # Creating Scattered Chart with multiple series and different series markers
8
+ create_scatter_chart()
9
+ end
10
+
11
+ def create_normal_chart()
12
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
13
+
14
+ # Instantiate Presentation class that represents the presentation file
15
+ pres = Rjb::import('com.aspose.slides.Presentation').new
16
+
17
+ # Access first slide
18
+ sld = pres.getSlides().get_Item(0)
19
+
20
+ # Add chart with default data
21
+ chart = sld.getShapes().addChart(Rjb::import('com.aspose.slides.ChartType').ClusteredColumn, 0, 0, 500, 500)
22
+
23
+ # Setting chart Title
24
+ # chart.ChartTitle.TextFrameForOverriding.Text = "Sample Title";
25
+ chart.getChartTitle().addTextFrameForOverriding("Sample Title")
26
+ chart.getChartTitle().getTextFrameForOverriding().getTextFrameFormat().setCenterText(Rjb::import('com.aspose.slides.NullableBool').True)
27
+ chart.getChartTitle().setHeight (20)
28
+ chart.hasTitle(true)
29
+
30
+ # Set first series to Show Values
31
+ chart.getChartData().getSeries().get_Item(0).getLabels().getDefaultDataLabelFormat().setShowValue(true)
32
+
33
+ # Setting the index of chart data sheet
34
+ defaultWorksheetIndex = 0
35
+
36
+ # Getting the chart data worksheet
37
+ fact = chart.getChartData().getChartDataWorkbook()
38
+
39
+ # Delete default generated series and categories
40
+ chart.getChartData().getSeries().clear()
41
+ chart.getChartData().getCategories().clear()
42
+ s = chart.getChartData().getSeries().size()
43
+ s = chart.getChartData().getCategories().size()
44
+
45
+ # Adding new series
46
+ chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.getType())
47
+ chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.getType())
48
+
49
+ # Adding new categories
50
+ chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 1, 0, "Caetegoty 1"))
51
+ chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 2, 0, "Caetegoty 2"))
52
+ chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 3, 0, "Caetegoty 3"))
53
+
54
+ # Take first chart series
55
+ series = chart.getChartData().getSeries().get_Item(0)
56
+
57
+ # Now populating series data
58
+ series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 1, 1, 20))
59
+ series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 50))
60
+ series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 30))
61
+
62
+ # Setting fill color for series
63
+ series.getFormat().getFill().setFillType(Rjb::import('com.aspose.slides.FillType').Solid)
64
+ series.getFormat().getFill().getSolidFillColor().setColor(Rjb::import('java.awt.Color').RED)
65
+
66
+
67
+ # Take second chart series
68
+ series = chart.getChartData().getSeries().get_Item(1)
69
+
70
+ # Now populating series data
71
+ series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 1, 2, 30))
72
+ series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 2, 2, 10))
73
+ series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 3, 2, 60))
74
+
75
+ # Setting fill color for series
76
+ series.getFormat().getFill().setFillType(Rjb::import('com.aspose.slides.FillType').Solid)
77
+ series.getFormat().getFill().getSolidFillColor().setColor(Rjb::import('java.awt.Color').GREEN)
78
+
79
+ # create custom labels for each of categories for new series
80
+ # first label will be show Category name
81
+ lbl = series.getDataPoints().get_Item(0).getLabel()
82
+ lbl.getDataLabelFormat().setShowCategoryName(true)
83
+
84
+ lbl = series.getDataPoints().get_Item(1).getLabel()
85
+ lbl.getDataLabelFormat().setShowSeriesName(true)
86
+
87
+ # Show value for third label
88
+ lbl = series.getDataPoints().get_Item(2).getLabel()
89
+ lbl.getDataLabelFormat().setShowValue(true)
90
+ lbl.getDataLabelFormat().setShowSeriesName(true)
91
+ lbl.getDataLabelFormat().setSeparator ("/")
92
+
93
+ # Save presentation with chart
94
+ pres.save(data_dir + "NormalChart.pptx", Rjb::import('com.aspose.slides.SaveFormat').Pptx)
95
+
96
+ puts "Created normal chart, please check the output file."
97
+ end
98
+
99
+ def create_scatter_chart()
100
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
101
+
102
+ # Instantiate Presentation class that represents the presentation file
103
+ pres = Rjb::import('com.aspose.slides.Presentation').new
104
+
105
+ slide = pres.getSlides().get_Item(0)
106
+
107
+ # Creating the default chart
108
+ chart = slide.getShapes().addChart(Rjb::import('com.aspose.slides.ChartType').ScatterWithSmoothLines, 0, 0, 400, 400)
109
+
110
+ # Getting the default chart data worksheet index
111
+ defaultWorksheetIndex = 0
112
+
113
+ # Getting the chart data worksheet
114
+ fact = chart.getChartData().getChartDataWorkbook()
115
+
116
+ # Delete demo series
117
+ chart.getChartData().getSeries().clear()
118
+
119
+ # Add new series
120
+ chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.getType())
121
+ chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 1, 3, "Series 2"), chart.getType())
122
+
123
+ # Take first chart series
124
+ series = chart.getChartData().getSeries().get_Item(0)
125
+
126
+ # Add new point (1:3) there.
127
+ series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 1), fact.getCell(defaultWorksheetIndex, 2, 2, 3))
128
+
129
+ # Add new point (2:10)
130
+ series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 2), fact.getCell(defaultWorksheetIndex, 3, 2, 10))
131
+
132
+ # Edit the type of series
133
+ series.setType(Rjb::import('com.aspose.slides.ChartType').ScatterWithStraightLinesAndMarkers)
134
+
135
+ # Changing the chart series marker
136
+ series.getMarker().setSize(10)
137
+ series.getMarker().setSymbol(Rjb::import('com.aspose.slides.MarkerStyleType').Star)
138
+
139
+ # Take second chart series
140
+ series = chart.getChartData().getSeries().get_Item(1)
141
+
142
+ # Add new point (5:2) there.
143
+ series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 2, 3, 5), fact.getCell(defaultWorksheetIndex, 2, 4, 2))
144
+
145
+ # Add new point (3:1)
146
+ series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 3, 3, 3), fact.getCell(defaultWorksheetIndex, 3, 4, 1))
147
+
148
+ # Add new point (2:2)
149
+ series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 4, 3, 2), fact.getCell(defaultWorksheetIndex, 4, 4, 2))
150
+
151
+ # Add new point (5:1)
152
+ series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 5, 3, 5), fact.getCell(defaultWorksheetIndex, 5, 4, 1))
153
+
154
+ # Changing the chart series marker
155
+ series.getMarker().setSize(10)
156
+ series.getMarker().setSymbol(Rjb::import('com.aspose.slides.MarkerStyleType').Circle)
157
+
158
+ pres.save(data_dir + "AsposeScatterChart.pptx", Rjb::import('com.aspose.slides.SaveFormat').Pptx)
159
+
160
+ puts "Created scatter chart, please check the output file."
161
+ end
162
+ end
163
+ end
@@ -0,0 +1,84 @@
1
+ module Asposeslidesjava
2
+ module ErrorBars
3
+ def initialize()
4
+ # Adding Fixed Error Bar Value for Chart
5
+ add_fixed_error_bar_value()
6
+
7
+ # Adding Custom Error Bar Value for Chart
8
+ add_custom_error_bar_value()
9
+ end
10
+
11
+ def add_fixed_error_bar_value()
12
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
13
+
14
+ # Instantiate Presentation class that represents the presentation file
15
+ pres = Rjb::import('com.aspose.slides.Presentation').new
16
+
17
+ # Creating a bubble chart
18
+ chart = pres.getSlides().get_Item(0).getShapes().addChart(Rjb::import('com.aspose.slides.ChartType').Bubble, 50, 50, 400, 300, true)
19
+
20
+ # Adding Error bars and setting its format
21
+ error_bar_x = chart.getChartData().getSeries().get_Item(0).getErrorBarsXFormat()
22
+ error_bar_y = chart.getChartData().getSeries().get_Item(0).getErrorBarsYFormat()
23
+
24
+ #error_bar_x.isVisible(true)
25
+ #error_bar_y.isVisible(true)
26
+ error_bar_x.setValueType(Rjb::import('com.aspose.slides.ErrorBarValueType').Fixed)
27
+ error_bar_x.setValue(0.1)
28
+ error_bar_y.setValueType(Rjb::import('com.aspose.slides.ErrorBarValueType').Percentage)
29
+ error_bar_y.setValue(5)
30
+ error_bar_x.setType(Rjb::import('com.aspose.slides.ErrorBarType').Plus)
31
+ error_bar_y.getFormat().getLine().setWidth(2.0)
32
+ #error_bar_x.hasEndCap(true)
33
+
34
+ # Save presentation with chart
35
+ pres.save(data_dir + "ErrorBar.pptx", Rjb::import('com.aspose.slides.SaveFormat').Pptx)
36
+
37
+ puts "Added fixed error bar value for chart, please check the output file."
38
+ end
39
+
40
+ def add_custom_error_bar_value()
41
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
42
+
43
+ # Instantiate Presentation class that represents the presentation file
44
+ pres = Rjb::import('com.aspose.slides.Presentation').new
45
+
46
+ slide = pres.getSlides().get_Item(0)
47
+
48
+ # Creating a bubble chart
49
+ chart = pres.getSlides().get_Item(0).getShapes().addChart(Rjb::import('com.aspose.slides.ChartType').Bubble, 50, 50, 400, 300, true)
50
+
51
+ # Adding custom Error bars and setting its format
52
+ error_bar_value_type = Rjb::import('com.aspose.slides.ErrorBarValueType')
53
+ series = chart.getChartData().getSeries().get_Item(0)
54
+ error_bar_x = series.getErrorBarsXFormat()
55
+ error_bar_y = series.getErrorBarsYFormat()
56
+ #error_bar_x.isVisible(true)
57
+ #error_bar_y.isVisible(true)
58
+ error_bar_x.setValueType(error_bar_value_type.Custom)
59
+ error_bar_y.setValueType(error_bar_value_type.Custom)
60
+
61
+ #Accessing chart series data point and setting error bars values for individual point
62
+ data_source_type = Rjb::import('com.aspose.slides.DataSourceType')
63
+ points = series.getDataPoints()
64
+ points.getDataSourceTypeForErrorBarsCustomValues().setDataSourceTypeForXPlusValues(data_source_type.DoubleLiterals)
65
+ points.getDataSourceTypeForErrorBarsCustomValues().setDataSourceTypeForXMinusValues(data_source_type.DoubleLiterals)
66
+ points.getDataSourceTypeForErrorBarsCustomValues().setDataSourceTypeForYPlusValues(data_source_type.DoubleLiterals)
67
+ points.getDataSourceTypeForErrorBarsCustomValues().setDataSourceTypeForYMinusValues(data_source_type.DoubleLiterals)
68
+
69
+ # Setting error bars for chart series points
70
+ i = 0
71
+ while i < points.size()
72
+ points.get_Item(i).getErrorBarsCustomValues().getXMinus().setAsLiteralDouble(i + 1)
73
+ points.get_Item(i).getErrorBarsCustomValues().getXPlus().setAsLiteralDouble(i + 1)
74
+ points.get_Item(i).getErrorBarsCustomValues().getYMinus().setAsLiteralDouble(i + 1)
75
+ points.get_Item(i).getErrorBarsCustomValues().getYPlus().setAsLiteralDouble(i + 1)
76
+ i +=1
77
+ end
78
+
79
+ pres.save(data_dir + "ErrorBarsCustomValues.pptx", Rjb::import('com.aspose.slides.SaveFormat').Pptx)
80
+
81
+ puts "Added custom error bars values for chart, please check the output file."
82
+ end
83
+ end
84
+ end