origami-docspring 2.2.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -0
  3. data/examples/attachments/attachment.rb +7 -8
  4. data/examples/attachments/nested_document.rb +6 -5
  5. data/examples/encryption/encryption.rb +5 -4
  6. data/examples/events/events.rb +7 -6
  7. data/examples/flash/flash.rb +10 -9
  8. data/examples/forms/javascript.rb +14 -13
  9. data/examples/forms/xfa.rb +67 -66
  10. data/examples/javascript/hello_world.rb +6 -5
  11. data/examples/javascript/js_emulation.rb +26 -26
  12. data/examples/loop/goto.rb +12 -11
  13. data/examples/loop/named.rb +17 -16
  14. data/examples/signature/signature.rb +11 -11
  15. data/examples/uri/javascript.rb +25 -24
  16. data/examples/uri/open-uri.rb +5 -4
  17. data/examples/uri/submitform.rb +11 -10
  18. data/lib/origami/3d.rb +330 -334
  19. data/lib/origami/acroform.rb +267 -268
  20. data/lib/origami/actions.rb +266 -278
  21. data/lib/origami/annotations.rb +659 -670
  22. data/lib/origami/array.rb +192 -196
  23. data/lib/origami/boolean.rb +66 -70
  24. data/lib/origami/catalog.rb +360 -363
  25. data/lib/origami/collections.rb +132 -133
  26. data/lib/origami/compound.rb +125 -129
  27. data/lib/origami/destinations.rb +226 -237
  28. data/lib/origami/dictionary.rb +155 -154
  29. data/lib/origami/encryption.rb +967 -923
  30. data/lib/origami/extensions/fdf.rb +270 -275
  31. data/lib/origami/extensions/ppklite.rb +323 -328
  32. data/lib/origami/filespec.rb +170 -173
  33. data/lib/origami/filters/ascii.rb +162 -167
  34. data/lib/origami/filters/ccitt/tables.rb +248 -252
  35. data/lib/origami/filters/ccitt.rb +309 -312
  36. data/lib/origami/filters/crypt.rb +31 -34
  37. data/lib/origami/filters/dct.rb +47 -50
  38. data/lib/origami/filters/flate.rb +57 -60
  39. data/lib/origami/filters/jbig2.rb +50 -53
  40. data/lib/origami/filters/jpx.rb +40 -43
  41. data/lib/origami/filters/lzw.rb +151 -155
  42. data/lib/origami/filters/predictors.rb +250 -255
  43. data/lib/origami/filters/runlength.rb +111 -115
  44. data/lib/origami/filters.rb +319 -325
  45. data/lib/origami/font.rb +173 -177
  46. data/lib/origami/functions.rb +62 -66
  47. data/lib/origami/graphics/colors.rb +203 -208
  48. data/lib/origami/graphics/instruction.rb +79 -81
  49. data/lib/origami/graphics/path.rb +141 -144
  50. data/lib/origami/graphics/patterns.rb +156 -160
  51. data/lib/origami/graphics/render.rb +51 -47
  52. data/lib/origami/graphics/state.rb +144 -142
  53. data/lib/origami/graphics/text.rb +185 -188
  54. data/lib/origami/graphics/xobject.rb +818 -804
  55. data/lib/origami/graphics.rb +25 -26
  56. data/lib/origami/header.rb +63 -65
  57. data/lib/origami/javascript.rb +718 -651
  58. data/lib/origami/linearization.rb +284 -285
  59. data/lib/origami/metadata.rb +156 -135
  60. data/lib/origami/name.rb +98 -100
  61. data/lib/origami/null.rb +49 -51
  62. data/lib/origami/numeric.rb +133 -135
  63. data/lib/origami/obfuscation.rb +180 -182
  64. data/lib/origami/object.rb +634 -631
  65. data/lib/origami/optionalcontent.rb +147 -149
  66. data/lib/origami/outline.rb +46 -48
  67. data/lib/origami/outputintents.rb +76 -77
  68. data/lib/origami/page.rb +637 -596
  69. data/lib/origami/parser.rb +214 -221
  70. data/lib/origami/parsers/fdf.rb +44 -45
  71. data/lib/origami/parsers/pdf/lazy.rb +147 -154
  72. data/lib/origami/parsers/pdf/linear.rb +104 -109
  73. data/lib/origami/parsers/pdf.rb +109 -107
  74. data/lib/origami/parsers/ppklite.rb +44 -46
  75. data/lib/origami/pdf.rb +886 -896
  76. data/lib/origami/reference.rb +116 -120
  77. data/lib/origami/signature.rb +617 -625
  78. data/lib/origami/stream.rb +560 -558
  79. data/lib/origami/string.rb +366 -368
  80. data/lib/origami/template/patterns.rb +50 -52
  81. data/lib/origami/template/widgets.rb +111 -114
  82. data/lib/origami/trailer.rb +153 -157
  83. data/lib/origami/tree.rb +55 -57
  84. data/lib/origami/version.rb +19 -19
  85. data/lib/origami/webcapture.rb +87 -90
  86. data/lib/origami/xfa/config.rb +409 -414
  87. data/lib/origami/xfa/connectionset.rb +113 -117
  88. data/lib/origami/xfa/datasets.rb +38 -42
  89. data/lib/origami/xfa/localeset.rb +33 -37
  90. data/lib/origami/xfa/package.rb +49 -52
  91. data/lib/origami/xfa/pdf.rb +54 -59
  92. data/lib/origami/xfa/signature.rb +33 -37
  93. data/lib/origami/xfa/sourceset.rb +34 -38
  94. data/lib/origami/xfa/stylesheet.rb +35 -39
  95. data/lib/origami/xfa/template.rb +1630 -1634
  96. data/lib/origami/xfa/xdc.rb +33 -37
  97. data/lib/origami/xfa/xfa.rb +132 -123
  98. data/lib/origami/xfa/xfdf.rb +34 -38
  99. data/lib/origami/xfa/xmpmeta.rb +34 -38
  100. data/lib/origami/xfa.rb +50 -53
  101. data/lib/origami/xreftable.rb +462 -462
  102. data/lib/origami.rb +37 -38
  103. data/test/test_actions.rb +22 -20
  104. data/test/test_annotations.rb +54 -52
  105. data/test/test_forms.rb +23 -21
  106. data/test/test_native_types.rb +82 -78
  107. data/test/test_object_tree.rb +25 -24
  108. data/test/test_pages.rb +43 -41
  109. data/test/test_pdf.rb +2 -0
  110. data/test/test_pdf_attachment.rb +23 -21
  111. data/test/test_pdf_create.rb +16 -15
  112. data/test/test_pdf_encrypt.rb +69 -66
  113. data/test/test_pdf_parse.rb +131 -129
  114. data/test/test_pdf_parse_lazy.rb +53 -53
  115. data/test/test_pdf_sign.rb +67 -67
  116. data/test/test_streams.rb +145 -143
  117. data/test/test_xrefs.rb +46 -45
  118. metadata +64 -8
@@ -1,50 +1,51 @@
1
1
  #!/usr/bin/ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  begin
4
- require 'origami'
5
+ require 'origami'
5
6
  rescue LoadError
6
- $: << File.join(__dir__, "../../lib")
7
- require 'origami'
7
+ $: << File.join(__dir__, "../../lib")
8
+ require 'origami'
8
9
  end
9
10
  include Origami
10
11
 
11
- OUTPUT_FILE = "#{File.basename(__FILE__, '.rb')}.pdf"
12
+ OUTPUT_FILE = "#{File.basename(__FILE__, ".rb")}.pdf"
12
13
  URL = "http://google.fr"
13
14
 
14
15
  contents = ContentStream.new.setFilter(:FlateDecode)
15
16
  contents.write OUTPUT_FILE,
16
- :x => 200, :y => 750, :rendering => Text::Rendering::FILL, :size => 30
17
+ x: 200, y: 750, rendering: Text::Rendering::FILL, size: 30
17
18
 
18
19
  contents.write "The script first tries to run your browser using JavaScript.",
19
- :x => 100, :y => 670, :size => 15
20
+ x: 100, y: 670, size: 15
20
21
 
21
22
  # A JS script to execute at the opening of the document
22
- jscript = <<JS
23
- try {
24
- app.launchURL("#{URL}");
25
- }
26
- catch(e) {}
27
-
28
- try {
29
- this.submitForm(
30
- {
31
- cURL: "#{URL}",
32
- bAnnotations: true,
33
- bGet: true,
34
- cSubmitAs: "XML"
35
- });
36
- }
37
- catch(e) {}
23
+ jscript = <<~JS
24
+ try {
25
+ app.launchURL("#{URL}");
26
+ }
27
+ catch(e) {}
28
+
29
+ try {
30
+ this.submitForm(
31
+ {
32
+ cURL: "#{URL}",
33
+ bAnnotations: true,
34
+ bGet: true,
35
+ cSubmitAs: "XML"
36
+ });
37
+ }
38
+ catch(e) {}
38
39
  JS
39
40
 
40
41
  pdf = PDF.new
41
42
 
42
43
  pdf.append_page do |page|
43
- page.Contents = contents
44
+ page.Contents = contents
44
45
  end
45
46
 
46
47
  # Create a new action based on the script, compressed with zlib
47
- jsaction = Action::JavaScript Stream.new(jscript)#@ Filter: :FlateDecode)
48
+ jsaction = Action::JavaScript Stream.new(jscript) # @ Filter: :FlateDecode)
48
49
 
49
50
  # Add the script into the document names dictionary.
50
51
  # Any scripts registered here will be executed at the document opening (with no OpenAction implied).
@@ -1,14 +1,15 @@
1
1
  #!/usr/bin/ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  begin
4
- require 'origami'
5
+ require 'origami'
5
6
  rescue LoadError
6
- $: << File.join(__dir__, "../../lib")
7
- require 'origami'
7
+ $: << File.join(__dir__, "../../lib")
8
+ require 'origami'
8
9
  end
9
10
  include Origami
10
11
 
11
- OUTPUT_FILE = "#{File.basename(__FILE__, '.rb')}.pdf"
12
+ OUTPUT_FILE = "#{File.basename(__FILE__, ".rb")}.pdf"
12
13
  URL = "http://google.fr"
13
14
 
14
15
  pdf = PDF.new
@@ -1,42 +1,43 @@
1
1
  #!/usr/bin/ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  begin
4
- require 'origami'
5
+ require 'origami'
5
6
  rescue LoadError
6
- $: << File.join(__dir__, "../../lib")
7
- require 'origami'
7
+ $: << File.join(__dir__, "../../lib")
8
+ require 'origami'
8
9
  end
9
10
  include Origami
10
11
 
11
- OUTPUT_FILE = "#{File.basename(__FILE__, '.rb')}.pdf"
12
+ OUTPUT_FILE = "#{File.basename(__FILE__, ".rb")}.pdf"
12
13
  URL = "http://mydomain/calc.pdf"
13
14
 
14
15
  pdf = PDF.new
15
16
 
16
17
  contents = ContentStream.new
17
18
  contents.write OUTPUT_FILE,
18
- x: 210, y: 750, rendering: Text::Rendering::FILL, size: 30
19
+ x: 210, y: 750, rendering: Text::Rendering::FILL, size: 30
19
20
 
20
21
  contents.write "When opened, this PDF connects to \"home\"",
21
- x: 156, y: 690, rendering: Text::Rendering::FILL, size: 15
22
+ x: 156, y: 690, rendering: Text::Rendering::FILL, size: 15
22
23
 
23
24
  contents.write "Click \"Allow\" to connect to #{URL} through your current Reader.",
24
- x: 106, y: 670, size: 12
25
+ x: 106, y: 670, size: 12
25
26
 
26
27
  contents.write "Comments:",
27
- x: 75, y: 600, rendering: Text::Rendering::FILL_AND_STROKE, size: 12
28
+ x: 75, y: 600, rendering: Text::Rendering::FILL_AND_STROKE, size: 12
28
29
 
29
30
  comment = <<-EOS
30
31
  Adobe Reader will render the PDF file returned by the remote server.
31
32
  EOS
32
33
 
33
34
  contents.write comment,
34
- x: 75, y: 580, rendering: Text::Rendering::FILL, size: 12
35
+ x: 75, y: 580, rendering: Text::Rendering::FILL, size: 12
35
36
 
36
37
  pdf.append_page Page.new.setContents(contents)
37
38
 
38
39
  # Submit flags.
39
- flags = Action::SubmitForm::Flags::EXPORTFORMAT|Action::SubmitForm::Flags::GETMETHOD
40
+ flags = Action::SubmitForm::Flags::EXPORTFORMAT | Action::SubmitForm::Flags::GETMETHOD
40
41
 
41
42
  # Sends the form at the document opening.
42
43
  pdf.onDocumentOpen Action::SubmitForm[URL, [], flags]