asposepdfjava 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) 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/asposepdfjava.gemspec +27 -0
  7. data/config/aspose.yml +5 -0
  8. data/data/Example.svg +69 -0
  9. data/data/index.html +5 -0
  10. data/data/input.pdf +0 -0
  11. data/data/input1.pdf +0 -0
  12. data/lib/asposepdfjava.rb +71 -0
  13. data/lib/asposepdfjava/Converter/convertpagestoimages.rb +21 -0
  14. data/lib/asposepdfjava/Converter/htmltopdf.rb +18 -0
  15. data/lib/asposepdfjava/Converter/pdftodoc.rb +16 -0
  16. data/lib/asposepdfjava/Converter/pdftoexcel.rb +19 -0
  17. data/lib/asposepdfjava/Converter/pdftosvg.rb +22 -0
  18. data/lib/asposepdfjava/Converter/svgtopdf.rb +19 -0
  19. data/lib/asposepdfjava/Document/addjavascript.rb +27 -0
  20. data/lib/asposepdfjava/Document/addlayers.rb +40 -0
  21. data/lib/asposepdfjava/Document/addtoc.rb +56 -0
  22. data/lib/asposepdfjava/Document/getdocumentwindow.rb +46 -0
  23. data/lib/asposepdfjava/Document/getpdffileinfo.rb +22 -0
  24. data/lib/asposepdfjava/Document/getxmpmetadata.rb +16 -0
  25. data/lib/asposepdfjava/Document/optimize.rb +47 -0
  26. data/lib/asposepdfjava/Document/removemetadata.rb +24 -0
  27. data/lib/asposepdfjava/Document/setdocumentwindow .rb +49 -0
  28. data/lib/asposepdfjava/Document/setdocumentwindow.rb +49 -0
  29. data/lib/asposepdfjava/Document/setexpiration.rb +26 -0
  30. data/lib/asposepdfjava/Document/setpdffileinfo.rb +26 -0
  31. data/lib/asposepdfjava/Pages/concatenatepdffiles.rb +22 -0
  32. data/lib/asposepdfjava/Pages/deletepage.rb +19 -0
  33. data/lib/asposepdfjava/Pages/getnumberofpages.rb +14 -0
  34. data/lib/asposepdfjava/Pages/getpage.rb +25 -0
  35. data/lib/asposepdfjava/Pages/getpageproperties.rb +27 -0
  36. data/lib/asposepdfjava/Pages/insertemptypage.rb +19 -0
  37. data/lib/asposepdfjava/Pages/insertemptypageatendoffile.rb +19 -0
  38. data/lib/asposepdfjava/Pages/splitallpages.rb +29 -0
  39. data/lib/asposepdfjava/Pages/updatepagedimensions.rb +26 -0
  40. data/lib/asposepdfjava/Text/addhtml.rb +33 -0
  41. data/lib/asposepdfjava/Text/addtext.rb +39 -0
  42. data/lib/asposepdfjava/Text/extracttextfromallpages.rb +34 -0
  43. data/lib/asposepdfjava/Text/replacetextallpages.rb +39 -0
  44. data/lib/asposepdfjava/asposepdf.rb +5 -0
  45. data/lib/asposepdfjava/converter.rb +6 -0
  46. data/lib/asposepdfjava/document.rb +11 -0
  47. data/lib/asposepdfjava/helloworld.rb +21 -0
  48. data/lib/asposepdfjava/pages.rb +9 -0
  49. data/lib/asposepdfjava/text.rb +4 -0
  50. data/lib/asposepdfjava/version.rb +3 -0
  51. data/samples/test.rb +8 -0
  52. metadata +150 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 89ac1902e34a00eebb3720bf2d0063472b008803
4
+ data.tar.gz: 3b683923efc493c8fa95cca2757bcc00b73206b3
5
+ SHA512:
6
+ metadata.gz: e4ce5a8105ebd1f9a9ee680997c50413cb3a36d2021ff96f991d657b9d381dac0184bb2f6ddfb95117bfbe343ca6cfafe93db68c88e455954d7f5f8c8d64f8ab
7
+ data.tar.gz: 0cb5a18d0226f7464a122e89496f526a41fa044eddf0fb72df97684e75b0d14bb39d56bca3019841e2686ca905b350293e38a41d11e9db6d8a65373aca03aedc
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2001-2015 Aspose Pty Ltd
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,31 @@
1
+ # Aspose_Pdf_Java_for_Ruby
2
+ Aspose.Pdf Java for Ruby is a gem that demonstrates / provides the Aspose.Pdf for Java API usage examples in Ruby by using Rjb - Ruby Java Bridge.
3
+
4
+ ## Installation
5
+
6
+ Execute following command.
7
+
8
+ $ gem install asposepdfjava
9
+
10
+ To download Aspose.Pdf for Java API to be used with these examples through RJB, Please navigate to:
11
+
12
+ http://www.aspose.com/community/files/72/java-components/aspose.pdf-for-java/
13
+
14
+ Note: Create jars folder at root of the gem and copy downloaded Aspose.Pdf for java component into it.
15
+
16
+ For most complete documentation of the project, check Aspose.Pdf Java for Ruby confluence wiki link:
17
+
18
+ http://www.aspose.com/docs/display/pdfjava/2.+Aspose.Pdf+Java+For+Ruby
19
+
20
+ ## Usage
21
+
22
+ ```ruby
23
+ require File.dirname(File.dirname(File.dirname(__FILE__))) + '/lib/asposepdfjava'
24
+ include Asposepdfjava
25
+ include Asposepdfjava::HelloWorld
26
+ initialize_aspose_pdf
27
+ ```
28
+ Lets understand the above code
29
+ * The first line makes sure that the aspose pdf is loaded and available
30
+ * Include the files that are required to access the aspose pdf
31
+ * Initialize the libraries. The aspose JAVA classes are loaded from the path provided in the aspose.yml file
data/Rakefile ADDED
@@ -0,0 +1,2 @@
1
+ require "bundler/gem_tasks"
2
+
@@ -0,0 +1,27 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'asposepdfjava/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'asposepdfjava'
8
+ spec.version = Asposepdfjava::VERSION
9
+ spec.authors = ['Aspose Marketplace']
10
+ spec.email = ['marketplace@aspose.com']
11
+ spec.summary = %q{A Ruby gem to work with Aspose.Pdf libraries}
12
+ spec.description = %q{AsposePdfJava is a Ruby gem that can help working with Aspose.Pdf libraries}
13
+ spec.homepage = 'https://github.com/asposepdf/Aspose_Pdf_Java/tree/master/Plugins/Aspose_Pdf_Java_for_Ruby'
14
+ spec.license = 'MIT'
15
+
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ['lib']
20
+
21
+ spec.add_development_dependency 'bundler', '~> 1.7'
22
+ spec.add_development_dependency 'rake', '~> 10.0'
23
+ spec.add_development_dependency 'rspec'
24
+
25
+ spec.add_dependency 'rjb', '~> 1.5.2'
26
+
27
+ end
data/config/aspose.yml ADDED
@@ -0,0 +1,5 @@
1
+ jar_dir: ../asposepdfjava/jars
2
+ license_path: ../asposepdfjava/license/path
3
+ jvm_args: -Xms512m -Xmx1G
4
+
5
+
data/data/Example.svg ADDED
@@ -0,0 +1,69 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg
3
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
4
+ xmlns:cc="http://web.resource.org/cc/"
5
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
6
+ xmlns:svg="http://www.w3.org/2000/svg"
7
+ xmlns="http://www.w3.org/2000/svg"
8
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
9
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
10
+ width="600"
11
+ height="600"
12
+ id="svg2"
13
+ sodipodi:version="0.32"
14
+ inkscape:version="0.45.1"
15
+ sodipodi:docname="Example.svg"
16
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
17
+ sodipodi:docbase="/home/gmaxwell"
18
+ version="1.0">
19
+ <metadata
20
+ id="metadata9">
21
+ <rdf:RDF>
22
+ <cc:Work
23
+ rdf:about="">
24
+ <dc:format>image/svg+xml</dc:format>
25
+ <dc:type
26
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
27
+ </cc:Work>
28
+ </rdf:RDF>
29
+ </metadata>
30
+ <sodipodi:namedview
31
+ inkscape:window-height="620"
32
+ inkscape:window-width="814"
33
+ inkscape:pageshadow="2"
34
+ inkscape:pageopacity="0.0"
35
+ guidetolerance="10.0"
36
+ gridtolerance="10.0"
37
+ objecttolerance="10.0"
38
+ borderopacity="1.0"
39
+ bordercolor="#666666"
40
+ pagecolor="#ffffff"
41
+ id="base"
42
+ width="600px"
43
+ height="600px"
44
+ inkscape:zoom="0.35974058"
45
+ inkscape:cx="50"
46
+ inkscape:cy="519.04966"
47
+ inkscape:window-x="483"
48
+ inkscape:window-y="101"
49
+ inkscape:current-layer="svg2" />
50
+ <defs
51
+ id="defs16" />
52
+ <g
53
+ id="g2161"
54
+ transform="matrix(6.3951354,0,0,6.3951354,-22.626246,-7.1082509)">
55
+ <path
56
+ nodetypes="ccccccccccccccccccccccccccccccccccccccc"
57
+ id="flowRoot1882"
58
+ d="M 36.009766,9.2505083 C 37.739295,9.4211273 38.305879,11.470697 38.052581,12.935049 C 37.346266,16.153899 36.316821,19.51466 35.445405,22.717701 C 36.091666,24.812224 31.712284,24.008877 33.219932,22.315459 C 34.817041,18.411202 36.011404,13.498336 36.009766,9.2505083 z M 36.009766,2.9926958 C 38.210311,1.2242088 40.996268,9.172757 33.911571,6.1534847 C 33.884619,5.7603019 36.096289,3.3869447 36.009766,2.9926958 z M 41.371094,15.871601 C 41.371094,13.66457 41.371094,11.457539 41.371094,9.250508 C 43.180621,9.4257387 43.963014,11.704559 43.286137,13.215517 C 42.859084,15.059792 42.939241,17.3996 44.601487,18.625335 C 46.710544,19.683477 49.38774,17.353112 48.803268,15.118437 C 48.93196,13.406538 48.236292,11.613848 48.968862,9.9690415 C 51.055097,9.6500357 51.500677,12.487155 50.544985,13.844747 C 50.070023,15.309708 50.857452,16.781898 50.672344,18.239432 C 50.279615,19.94056 48.418404,20.00023 47.0225,20.071868 C 45.478489,20.38194 43.516835,20.791368 42.361947,19.38874 C 41.522514,18.444089 41.211274,17.107671 41.371094,15.871601 z M 61.224609,9.5727739 C 60.41978,11.557552 58.100804,10.235616 56.62767,10.571551 C 53.836862,14.393611 60.920038,13.513667 61.8085,17.011648 C 61.85613,18.933747 60.028359,20.587389 58.129091,20.443312 C 56.904487,20.607229 54.609204,20.982393 54.417879,19.267622 C 55.280609,17.508269 57.336359,19.528803 58.633111,18.8463 C 60.403141,17.99081 59.402232,15.555325 57.728781,15.321475 C 56.550115,14.98135 55.091813,15.225439 54.254747,14.112764 C 53.017669,12.881167 53.392132,10.733148 54.736719,9.7413252 C 56.619172,8.3307396 59.170326,8.9535067 61.224609,9.5727739 z M 66.458984,6.1450396 C 65.368126,7.6333334 67.348936,9.9531574 68.987229,9.0948979 C 69.978133,11.042503 66.524641,10.777931 66.473495,12.430992 C 64.443605,16.101814 68.48273,18.623426 67.571657,20.417528 C 65.440858,20.26155 64.324307,17.844452 64.577433,15.919357 C 64.70847,14.408586 65.055107,12.79361 64.322961,11.373941 C 63.786422,9.5475192 64.150419,7.1452655 65.954233,6.1552477 L 66.206043,6.1203323 L 66.458984,6.1450396 L 66.458984,6.1450396 z " />
59
+ <path
60
+ nodetypes="ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"
61
+ id="flowRoot1890"
62
+ d="M 10.867188,44.877953 C 6.2812618,42.124849 5.2205914,52.366268 10.409215,49.892431 C 12.389385,49.295568 14.988045,43.912658 10.867188,44.877953 z M 15.167969,43.987328 C 14.919826,46.33724 16.617756,52.554202 12.298734,50.536918 C 9.8041142,52.312916 6.0580855,52.958674 4.5023123,49.583386 C 2.6350454,45.257322 7.3033103,42.298712 11.046443,43.361059 C 15.247185,41.320786 9.4930286,38.338264 7.1068792,40.322138 C 3.4374421,40.01388 7.406407,37.201407 9.3495087,37.962912 C 12.44212,37.877788 15.556534,40.380131 15.171751,43.648912 L 15.169638,43.83797 L 15.167969,43.987328 z M 30.53125,43.553734 C 29.638794,45.911558 32.49467,50.463872 28.779999,51.070944 C 26.888088,47.702306 30.931621,41.190257 25.58365,40.046147 C 20.73931,40.312798 21.252194,45.910871 22.001439,49.154066 C 21.84253,51.828309 18.790577,51.39256 19.585585,48.673738 C 19.851829,45.693864 18.285332,39.630301 20.986983,38.702911 C 23.508461,40.80889 25.761847,35.731906 28.452459,38.686226 C 29.921454,39.793194 30.827618,41.709992 30.53125,43.553734 z M 38.807,49.770223 C 42.369034,50.768974 44.523344,46.328688 43.700521,43.358983 C 40.402775,35.546453 32.491199,44.344131 38.807,49.770223 z M 39.941406,38.034203 C 52.085872,39.705642 43.204854,59.098342 34.688722,48.642968 C 32.591886,44.778031 34.383109,38.440132 39.291369,38.051827 L 39.941406,38.034203 L 39.941406,38.034203 z M 51.660156,34.624046 C 49.815978,37.850583 54.789459,38.666222 55.83437,39.23566 C 54.140746,40.715733 50.093061,40.12158 51.562461,43.76212 C 51.004096,46.980523 52.486847,50.037723 55.670614,50.54595 C 53.547788,53.782616 48.41793,50.035495 49.349973,46.519692 C 50.339877,43.686471 48.78131,40.671166 48.467256,38.48357 C 51.099926,37.413599 47.886512,33.32283 51.660156,34.624046 z M 69.859375,43.553734 C 68.966918,45.911557 71.822794,50.463872 68.108124,51.070944 C 66.216214,47.702306 70.259746,41.190256 64.911775,40.046145 C 60.222418,40.285904 60.439194,45.757728 61.367942,48.953683 C 60.705448,53.064855 57.788626,49.900134 58.838379,47.289738 C 58.969709,43.381174 59.006437,39.455087 58.607404,35.565714 C 59.356025,31.632413 62.368269,34.68013 61.01352,37.194316 C 60.38417,39.302538 61.469087,40.653476 62.996248,38.474829 C 66.202089,36.826154 70.863269,39.826451 69.859375,43.553734 z M 85.410156,44.374046 C 83.244849,47.905533 76.447085,42.456344 75.976013,47.444052 C 76.913541,51.724548 83.275324,48.726196 84.393639,50.133773 C 82.109855,53.525123 76.421339,51.860111 74.285335,49.01336 C 71.258247,44.729984 74.614013,37.166516 80.254289,37.96756 C 83.286958,38.284495 85.833914,41.310745 85.410156,44.374046 z M 83.253906,43.741234 C 84.431319,39.039614 74.594812,38.687325 76.291886,43.335226 C 78.284783,44.796048 81.032856,43.090943 83.253906,43.741234 z M 96.554688,40.366234 C 93.290612,38.6882 90.622217,42.519635 90.728522,45.492665 C 90.881925,47.333676 92.330286,52.144465 89.028751,50.905988 C 88.95673,46.763963 88.353312,42.447207 89.31721,38.336643 C 91.040471,38.503437 92.207514,40.668181 93.421468,38.208298 C 94.902478,37.44973 97.690944,38.263668 96.554688,40.366234 z " />
63
+ <path
64
+ style="fill:#ff0000"
65
+ nodetypes="ccccccccccccccccccccccccccccccccccccccccccccccccccccc"
66
+ id="flowRoot1898"
67
+ d="M 17.026327,63.789847 C 0.7506376,64.058469 13.88279,66.387154 13.113883,69.323258 C 8.0472417,70.287093 3.5936285,63.565714 6.8090451,59.370548 C 8.7591553,55.717791 15.269922,55.198361 16.902068,59.393261 C 17.532581,60.758947 17.628237,62.396589 17.026327,63.789847 z M 15.306463,62.656109 C 18.852566,58.713773 7.6543584,56.609143 10.765803,61.304742 C 12.124789,62.217715 13.961359,61.705342 15.306463,62.656109 z M 31.307931,62.391383 C 27.130518,63.524026 24.669863,68.663004 27.470717,72.229472 C 25.946657,74.052316 24.253697,71.076237 24.857281,69.636909 C 23.737444,67.038428 17.399862,72.254246 19.386636,68.888657 C 23.159719,67.551193 22.398496,63.711301 22.06067,60.848671 C 24.064085,60.375294 24.370376,65.772689 27.167918,63.326048 C 28.350126,62.546369 29.927362,61.067531 31.307931,62.391383 z M 37.66875,70.598623 C 33.467314,66.62264 32.517064,77.972723 37.30626,74.466636 C 38.742523,73.853608 40.55904,70.38932 37.66875,70.598623 z M 41.677321,70.973131 C 42.340669,75.308182 36.926157,78.361257 33.331921,76.223155 C 29.43435,74.893988 30.618698,67.677232 35.003806,68.567885 C 37.137393,70.592854 42.140265,67.002221 37.656192,66.290007 C 35.242233,65.914214 35.166503,62.640757 38.036954,63.926404 C 40.847923,64.744926 43.227838,68.124735 41.677321,70.973131 z M 62.379099,76.647079 C 62.007404,78.560417 61.161437,84.034535 58.890565,82.010019 C 59.769679,79.039958 62.536382,72.229115 56.947899,72.765789 C 53.790416,73.570863 54.908257,80.968388 51.529286,79.496859 C 51.707831,76.559817 55.858125,71.896837 50.8321,70.678504 C 45.898113,69.907818 47.485944,75.735824 45.286883,78.034703 C 42.916393,76.333396 45.470823,71.647155 46.624124,69.414735 C 50.919507,67.906486 63.618534,70.878704 62.379099,76.647079 z M 66.426447,83.84905 C 67.616398,85.777591 62.114624,94.492698 62.351124,90.31711 C 63.791684,86.581961 65.730376,78.000636 67.391891,74.85575 C 71.027815,73.781175 76.383067,75.350289 76.591972,79.751898 C 77.048545,83.793048 73.066803,88.429945 68.842187,86.765936 C 67.624386,86.282034 66.56741,85.195132 66.426447,83.84905 z M 74.086569,81.803435 C 76.851893,78.050524 69.264402,74.310256 67.560734,78.378191 C 65.893402,80.594099 67.255719,83.775746 69.700555,84.718558 C 72.028708,85.902224 73.688639,83.888662 74.086569,81.803435 z M 82.318799,73.124577 C 84.30523,75.487059 81.655015,88.448086 78.247183,87.275736 C 78.991935,82.387828 81.291029,77.949394 82.318799,73.124577 z M 95.001985,87.684695 C 78.726298,87.953319 91.858449,90.281999 91.089542,93.218107 C 86.0229,94.18194 81.569287,87.460562 84.784701,83.265394 C 86.734814,79.612637 93.245582,79.09321 94.877729,83.28811 C 95.508245,84.653796 95.603892,86.291438 95.001985,87.684695 z M 93.282122,86.550957 C 96.828223,82.608621 85.630017,80.503993 88.741461,85.199592 C 90.100447,86.112565 91.937018,85.600192 93.282122,86.550957 z " />
68
+ </g>
69
+ </svg>
data/data/index.html ADDED
@@ -0,0 +1,5 @@
1
+ <html>
2
+ <body>
3
+ <p>This is sample HTML file.</p>
4
+ </body>
5
+ </html>
data/data/input.pdf ADDED
Binary file
data/data/input1.pdf ADDED
Binary file
@@ -0,0 +1,71 @@
1
+ require_relative 'asposepdfjava/version'
2
+ require_relative 'asposepdfjava/asposepdf'
3
+ require 'logger'
4
+ require 'rjb'
5
+
6
+ module Asposepdfjava
7
+
8
+ class << self
9
+ attr_accessor :aspose_pdf_config
10
+ end
11
+
12
+ def initialize_aspose_pdf
13
+ aspose_jars_dir = Asposepdfjava.aspose_pdf_config ? Asposepdfjava.aspose_pdf_config['jar_dir'] : nil
14
+ aspose_license_path = Asposepdfjava.aspose_pdf_config ? Asposepdfjava.aspose_pdf_config['license_path'] : nil
15
+ jvm_args = Asposepdfjava.aspose_pdf_config ? Asposepdfjava.aspose_pdf_config['jvm_args'] : nil
16
+
17
+ load_aspose_jars(aspose_jars_dir, jvm_args)
18
+ load_aspose_license(aspose_license_path)
19
+ end
20
+
21
+ def load_aspose_license(aspose_license_path)
22
+ if aspose_license_path && File.exist?(aspose_license_path)
23
+ set_license(File.join(aspose_license_path))
24
+ else
25
+ logger = Logger.new(STDOUT)
26
+ logger.level = Logger::WARN
27
+ logger.warn('Using the non licensed aspose jar. Please specify path to your aspose license directory in config/aspose.yml file!')
28
+ end
29
+ end
30
+
31
+ def load_aspose_jars(aspose_jars_dir, jvm_args)
32
+ if aspose_jars_dir && File.exist?(aspose_jars_dir)
33
+ jardir = File.join(aspose_jars_dir, '**', '*.jar')
34
+ else
35
+ jardir = File.join(File.dirname(File.dirname(__FILE__)), 'jars', '**', '*.jar')
36
+ end
37
+
38
+ if jvm_args
39
+ args = jvm_args.split(' ') << '-Djava.awt.headless=true'
40
+ logger = Logger.new(STDOUT)
41
+ logger.level = Logger::DEBUG
42
+ logger.debug("JVM args : #{args}")
43
+ Rjb::load(classpath = Dir.glob(jardir).join(':'), jvmargs=args)
44
+ else
45
+ Rjb::load(classpath = Dir.glob(jardir).join(':'), jvmargs=['-Djava.awt.headless=true'])
46
+ end
47
+
48
+ end
49
+
50
+ def input_file(file)
51
+ Rjb::import('java.io.FileInputStream').new(file)
52
+ end
53
+
54
+ def set_license(aspose_license_file)
55
+ begin
56
+ fstream = input_file(aspose_license_file)
57
+ license = Rjb::import('com.aspose.api.License').new()
58
+ license.setLicense(fstream)
59
+ rescue Exception => ex
60
+ logger = Logger.new(STDOUT)
61
+ logger.level = Logger::ERROR
62
+ logger.error("Could not load the license file : #{ex}")
63
+ fstream.close() if fstream
64
+ end
65
+ end
66
+
67
+ def self.configure_aspose_pdf config
68
+ Asposecellsjava.aspose_pdf_config = config
69
+ end
70
+
71
+ end
@@ -0,0 +1,21 @@
1
+ module Asposepdfjava
2
+ module ConvertPagesToImages
3
+ def initialize()
4
+ # The path to the documents directory.
5
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
6
+
7
+ converter = Rjb::import('com.aspose.pdf.facades.PdfConverter').new
8
+ converter.bindPdf(data_dir + 'input1.pdf')
9
+ converter.doConvert()
10
+ suffix = ".jpg"
11
+ image_count = 1
12
+ image_format_internal = Rjb::import('com.aspose.pdf.ImageFormatInternal')
13
+ while converter.hasNextImage()
14
+ converter.getNextImage(data_dir + "image#{image_count}#{suffix}", image_format_internal.getJpeg())
15
+ image_count +=1
16
+ end
17
+
18
+ puts "PDF pages are converted to individual images successfully!"
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,18 @@
1
+ module Asposepdfjava
2
+ module HtmlToPdf
3
+ def initialize()
4
+ # The path to the documents directory.
5
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
6
+
7
+ htmloptions = Rjb::import('com.aspose.pdf.HtmlLoadOptions').new(data_dir)
8
+
9
+ # Load HTML file
10
+ pdf = Rjb::import('com.aspose.pdf.Document').new(data_dir + "index.html", htmloptions)
11
+
12
+ # Save the concatenated output file (the target document)
13
+ pdf.save(data_dir+ "html.pdf")
14
+
15
+ puts "Document has been converted successfully"
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,16 @@
1
+ module Asposepdfjava
2
+ module PdfToDoc
3
+ def initialize()
4
+ # The path to the documents directory.
5
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
6
+
7
+ # Open the target document
8
+ pdf = Rjb::import('com.aspose.pdf.Document').new(data_dir + 'input1.pdf')
9
+
10
+ # Save the concatenated output file (the target document)
11
+ pdf.save(data_dir+ "output.doc")
12
+
13
+ puts "Document has been converted successfully"
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,19 @@
1
+ module Asposepdfjava
2
+ module PdfToExcel
3
+ def initialize()
4
+ # The path to the documents directory.
5
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
6
+
7
+ # Open the target document
8
+ pdf = Rjb::import('com.aspose.pdf.Document').new(data_dir + 'input1.pdf')
9
+
10
+ # Instantiate ExcelSave Option object
11
+ excelsave = Rjb::import('com.aspose.pdf.ExcelSaveOptions').new
12
+
13
+ # Save the output to XLS format
14
+ pdf.save(data_dir + "Converted_Excel.xls", excelsave)
15
+
16
+ puts "Document has been converted successfully"
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,22 @@
1
+ module Asposepdfjava
2
+ module PdfToSvg
3
+ def initialize()
4
+ # The path to the documents directory.
5
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
6
+
7
+ # Open the target document
8
+ pdf = Rjb::import('com.aspose.pdf.Document').new(data_dir + 'input1.pdf')
9
+
10
+ # instantiate an object of SvgSaveOptions
11
+ save_options = Rjb::import('com.aspose.pdf.SvgSaveOptions').new
12
+
13
+ # do not compress SVG image to Zip archive
14
+ save_options.CompressOutputToZipArchive = false
15
+
16
+ # Save the output to XLS format
17
+ pdf.save(data_dir + "Output.svg", save_options)
18
+
19
+ puts "Document has been converted successfully"
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,19 @@
1
+ module Asposepdfjava
2
+ module SvgToPdf
3
+ def initialize()
4
+ # The path to the documents directory.
5
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
6
+
7
+ # Instantiate LoadOption object using SVG load option
8
+ options = Rjb::import('com.aspose.pdf.SvgLoadOptions').new
9
+
10
+ # Create document object
11
+ pdf = Rjb::import('com.aspose.pdf.Document').new(data_dir + 'Example.svg', options)
12
+
13
+ # Save the output to XLS format
14
+ pdf.save(data_dir + "SVG.pdf")
15
+
16
+ puts "Document has been converted successfully"
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,27 @@
1
+ module Asposepdfjava
2
+ module AddJavaScript
3
+ def initialize()
4
+ # The path to the documents directory.
5
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
6
+
7
+ # Open a pdf document.
8
+ doc = Rjb::import('com.aspose.pdf.Document').new(data_dir + "input1.pdf")
9
+
10
+ # Adding JavaScript at Document Level
11
+ # Instantiate JavascriptAction with desried JavaScript statement
12
+ javaScript = Rjb::import('com.aspose.pdf.JavascriptAction').new("this.print({bUI:true,bSilent:false,bShrinkToFit:true});");
13
+
14
+ # Assign JavascriptAction object to desired action of Document
15
+ doc.setOpenAction(javaScript)
16
+
17
+ # Adding JavaScript at Page Level
18
+ doc.getPages().get_Item(2).getActions().setOnOpen(Rjb::import('com.aspose.pdf.JavascriptAction').new("app.alert('page 2 is opened')"))
19
+ doc.getPages().get_Item(2).getActions().setOnClose(Rjb::import('com.aspose.pdf.JavascriptAction').new("app.alert('page 2 is closed')"))
20
+
21
+ # Save PDF Document
22
+ doc.save(data_dir + "JavaScript-Added.pdf")
23
+
24
+ puts "Added JavaScript Successfully, please check the output file."
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,40 @@
1
+ module Asposepdfjava
2
+ module AddLayers
3
+ def initialize()
4
+ # The path to the documents directory.
5
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
6
+
7
+ doc = Rjb::import('com.aspose.pdf.Document').new
8
+ page = doc.getPages().add()
9
+
10
+ operator = Rjb::import('com.aspose.pdf.Operator')
11
+
12
+ layer = Rjb::import('com.aspose.pdf.Layer').new("oc1", "Red Line")
13
+ layer.getContents().add(operator.SetRGBColorStroke(1, 0, 0))
14
+ layer.getContents().add(operator.MoveTo(500, 700))
15
+ layer.getContents().add(operator.LineTo(400, 700))
16
+ layer.getContents().add(operator.Stroke())
17
+ page.setLayers(Rjb::import('java.util.ArrayList').new)
18
+ page.getLayers().add(layer)
19
+
20
+ layer = Rjb::import('com.aspose.pdf.Layer').new("oc2", "Green Line")
21
+ layer.getContents().add(operator.SetRGBColorStroke(0, 1, 0))
22
+ layer.getContents().add(operator.MoveTo(500, 750))
23
+ layer.getContents().add(operator.LineTo(400, 750))
24
+ layer.getContents().add(operator.Stroke())
25
+ page.getLayers().add(layer)
26
+
27
+ layer = Rjb::import('com.aspose.pdf.Layer').new("oc3", "Blue Line")
28
+ layer.getContents().add(operator.SetRGBColorStroke(0, 0, 1))
29
+ layer.getContents().add(operator.MoveTo(500, 800))
30
+ layer.getContents().add(operator.LineTo(400, 800))
31
+ layer.getContents().add(operator.Stroke())
32
+ page.getLayers().add(layer)
33
+
34
+ # Save PDF Document
35
+ doc.save(data_dir + "Layers-Added.pdf")
36
+
37
+ puts "Added Layers Successfully, please check the output file."
38
+ end
39
+ end
40
+ end