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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +18 -0
- data/examples/attachments/attachment.rb +7 -8
- data/examples/attachments/nested_document.rb +6 -5
- data/examples/encryption/encryption.rb +5 -4
- data/examples/events/events.rb +7 -6
- data/examples/flash/flash.rb +10 -9
- data/examples/forms/javascript.rb +14 -13
- data/examples/forms/xfa.rb +67 -66
- data/examples/javascript/hello_world.rb +6 -5
- data/examples/javascript/js_emulation.rb +26 -26
- data/examples/loop/goto.rb +12 -11
- data/examples/loop/named.rb +17 -16
- data/examples/signature/signature.rb +11 -11
- data/examples/uri/javascript.rb +25 -24
- data/examples/uri/open-uri.rb +5 -4
- data/examples/uri/submitform.rb +11 -10
- data/lib/origami/3d.rb +330 -334
- data/lib/origami/acroform.rb +267 -268
- data/lib/origami/actions.rb +266 -278
- data/lib/origami/annotations.rb +659 -670
- data/lib/origami/array.rb +192 -196
- data/lib/origami/boolean.rb +66 -70
- data/lib/origami/catalog.rb +360 -363
- data/lib/origami/collections.rb +132 -133
- data/lib/origami/compound.rb +125 -129
- data/lib/origami/destinations.rb +226 -237
- data/lib/origami/dictionary.rb +155 -154
- data/lib/origami/encryption.rb +967 -923
- data/lib/origami/extensions/fdf.rb +270 -275
- data/lib/origami/extensions/ppklite.rb +323 -328
- data/lib/origami/filespec.rb +170 -173
- data/lib/origami/filters/ascii.rb +162 -167
- data/lib/origami/filters/ccitt/tables.rb +248 -252
- data/lib/origami/filters/ccitt.rb +309 -312
- data/lib/origami/filters/crypt.rb +31 -34
- data/lib/origami/filters/dct.rb +47 -50
- data/lib/origami/filters/flate.rb +57 -60
- data/lib/origami/filters/jbig2.rb +50 -53
- data/lib/origami/filters/jpx.rb +40 -43
- data/lib/origami/filters/lzw.rb +151 -155
- data/lib/origami/filters/predictors.rb +250 -255
- data/lib/origami/filters/runlength.rb +111 -115
- data/lib/origami/filters.rb +319 -325
- data/lib/origami/font.rb +173 -177
- data/lib/origami/functions.rb +62 -66
- data/lib/origami/graphics/colors.rb +203 -208
- data/lib/origami/graphics/instruction.rb +79 -81
- data/lib/origami/graphics/path.rb +141 -144
- data/lib/origami/graphics/patterns.rb +156 -160
- data/lib/origami/graphics/render.rb +51 -47
- data/lib/origami/graphics/state.rb +144 -142
- data/lib/origami/graphics/text.rb +185 -188
- data/lib/origami/graphics/xobject.rb +818 -804
- data/lib/origami/graphics.rb +25 -26
- data/lib/origami/header.rb +63 -65
- data/lib/origami/javascript.rb +718 -651
- data/lib/origami/linearization.rb +284 -285
- data/lib/origami/metadata.rb +156 -135
- data/lib/origami/name.rb +98 -100
- data/lib/origami/null.rb +49 -51
- data/lib/origami/numeric.rb +133 -135
- data/lib/origami/obfuscation.rb +180 -182
- data/lib/origami/object.rb +634 -631
- data/lib/origami/optionalcontent.rb +147 -149
- data/lib/origami/outline.rb +46 -48
- data/lib/origami/outputintents.rb +76 -77
- data/lib/origami/page.rb +637 -596
- data/lib/origami/parser.rb +214 -221
- data/lib/origami/parsers/fdf.rb +44 -45
- data/lib/origami/parsers/pdf/lazy.rb +147 -154
- data/lib/origami/parsers/pdf/linear.rb +104 -109
- data/lib/origami/parsers/pdf.rb +109 -107
- data/lib/origami/parsers/ppklite.rb +44 -46
- data/lib/origami/pdf.rb +886 -896
- data/lib/origami/reference.rb +116 -120
- data/lib/origami/signature.rb +617 -625
- data/lib/origami/stream.rb +560 -558
- data/lib/origami/string.rb +366 -368
- data/lib/origami/template/patterns.rb +50 -52
- data/lib/origami/template/widgets.rb +111 -114
- data/lib/origami/trailer.rb +153 -157
- data/lib/origami/tree.rb +55 -57
- data/lib/origami/version.rb +19 -19
- data/lib/origami/webcapture.rb +87 -90
- data/lib/origami/xfa/config.rb +409 -414
- data/lib/origami/xfa/connectionset.rb +113 -117
- data/lib/origami/xfa/datasets.rb +38 -42
- data/lib/origami/xfa/localeset.rb +33 -37
- data/lib/origami/xfa/package.rb +49 -52
- data/lib/origami/xfa/pdf.rb +54 -59
- data/lib/origami/xfa/signature.rb +33 -37
- data/lib/origami/xfa/sourceset.rb +34 -38
- data/lib/origami/xfa/stylesheet.rb +35 -39
- data/lib/origami/xfa/template.rb +1630 -1634
- data/lib/origami/xfa/xdc.rb +33 -37
- data/lib/origami/xfa/xfa.rb +132 -123
- data/lib/origami/xfa/xfdf.rb +34 -38
- data/lib/origami/xfa/xmpmeta.rb +34 -38
- data/lib/origami/xfa.rb +50 -53
- data/lib/origami/xreftable.rb +462 -462
- data/lib/origami.rb +37 -38
- data/test/test_actions.rb +22 -20
- data/test/test_annotations.rb +54 -52
- data/test/test_forms.rb +23 -21
- data/test/test_native_types.rb +82 -78
- data/test/test_object_tree.rb +25 -24
- data/test/test_pages.rb +43 -41
- data/test/test_pdf.rb +2 -0
- data/test/test_pdf_attachment.rb +23 -21
- data/test/test_pdf_create.rb +16 -15
- data/test/test_pdf_encrypt.rb +69 -66
- data/test/test_pdf_parse.rb +131 -129
- data/test/test_pdf_parse_lazy.rb +53 -53
- data/test/test_pdf_sign.rb +67 -67
- data/test/test_streams.rb +145 -143
- data/test/test_xrefs.rb +46 -45
- metadata +64 -8
data/examples/uri/javascript.rb
CHANGED
@@ -1,50 +1,51 @@
|
|
1
1
|
#!/usr/bin/ruby
|
2
|
+
# frozen_string_literal: true
|
2
3
|
|
3
4
|
begin
|
4
|
-
|
5
|
+
require 'origami'
|
5
6
|
rescue LoadError
|
6
|
-
|
7
|
-
|
7
|
+
$: << File.join(__dir__, "../../lib")
|
8
|
+
require 'origami'
|
8
9
|
end
|
9
10
|
include Origami
|
10
11
|
|
11
|
-
OUTPUT_FILE = "#{File.basename(__FILE__,
|
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
|
-
:
|
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
|
-
:
|
20
|
+
x: 100, y: 670, size: 15
|
20
21
|
|
21
22
|
# A JS script to execute at the opening of the document
|
22
|
-
jscript =
|
23
|
-
try {
|
24
|
-
|
25
|
-
}
|
26
|
-
catch(e) {}
|
27
|
-
|
28
|
-
try {
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
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
|
-
|
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)
|
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).
|
data/examples/uri/open-uri.rb
CHANGED
@@ -1,14 +1,15 @@
|
|
1
1
|
#!/usr/bin/ruby
|
2
|
+
# frozen_string_literal: true
|
2
3
|
|
3
4
|
begin
|
4
|
-
|
5
|
+
require 'origami'
|
5
6
|
rescue LoadError
|
6
|
-
|
7
|
-
|
7
|
+
$: << File.join(__dir__, "../../lib")
|
8
|
+
require 'origami'
|
8
9
|
end
|
9
10
|
include Origami
|
10
11
|
|
11
|
-
OUTPUT_FILE = "#{File.basename(__FILE__,
|
12
|
+
OUTPUT_FILE = "#{File.basename(__FILE__, ".rb")}.pdf"
|
12
13
|
URL = "http://google.fr"
|
13
14
|
|
14
15
|
pdf = PDF.new
|
data/examples/uri/submitform.rb
CHANGED
@@ -1,42 +1,43 @@
|
|
1
1
|
#!/usr/bin/ruby
|
2
|
+
# frozen_string_literal: true
|
2
3
|
|
3
4
|
begin
|
4
|
-
|
5
|
+
require 'origami'
|
5
6
|
rescue LoadError
|
6
|
-
|
7
|
-
|
7
|
+
$: << File.join(__dir__, "../../lib")
|
8
|
+
require 'origami'
|
8
9
|
end
|
9
10
|
include Origami
|
10
11
|
|
11
|
-
OUTPUT_FILE = "#{File.basename(__FILE__,
|
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
|
-
|
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
|
-
|
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
|
-
|
25
|
+
x: 106, y: 670, size: 12
|
25
26
|
|
26
27
|
contents.write "Comments:",
|
27
|
-
|
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
|
-
|
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]
|