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,42 +1,38 @@
1
- =begin
2
-
3
- This file is part of Origami, PDF manipulation framework for Ruby
4
- Copyright (C) 2017 Guillaume Delugré.
5
-
6
- Origami is free software: you can redistribute it and/or modify
7
- it under the terms of the GNU Lesser General Public License as published by
8
- the Free Software Foundation, either version 3 of the License, or
9
- (at your option) any later version.
10
-
11
- Origami is distributed in the hope that it will be useful,
12
- but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- GNU Lesser General Public License for more details.
15
-
16
- You should have received a copy of the GNU Lesser General Public License
17
- along with Origami. If not, see <http://www.gnu.org/licenses/>.
18
-
19
- =end
1
+ # frozen_string_literal: true
2
+
3
+ #
4
+ # This file is part of Origami, PDF manipulation framework for Ruby
5
+ # Copyright (C) 2017 Guillaume Delugré.
6
+ #
7
+ # Origami is free software: you can redistribute it and/or modify
8
+ # it under the terms of the GNU Lesser General Public License as published by
9
+ # the Free Software Foundation, either version 3 of the License, or
10
+ # (at your option) any later version.
11
+ #
12
+ # Origami is distributed in the hope that it will be useful,
13
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ # GNU Lesser General Public License for more details.
16
+ #
17
+ # You should have received a copy of the GNU Lesser General Public License
18
+ # along with Origami. If not, see <http://www.gnu.org/licenses/>.
19
+ #
20
20
 
21
21
  module Origami
22
-
23
- module XDP
24
-
25
- module Packet
26
-
27
- #
28
- # The _xdc_ packet encloses application-specific XFA driver configuration instruction.
29
- #
30
- class XDC < XFA::Element
31
- mime_type ''
32
-
33
- def initialize
34
- super("xsl:xdc")
35
-
36
- add_attribute 'xmlns:xdc', 'http://www.xfa.org/schema/xdc/1.0/'
37
- end
38
- end
39
-
22
+ module XDP
23
+ module Packet
24
+ #
25
+ # The _xdc_ packet encloses application-specific XFA driver configuration instruction.
26
+ #
27
+ class XDC < XFA::Element
28
+ mime_type ''
29
+
30
+ def initialize
31
+ super("xsl:xdc")
32
+
33
+ add_attribute 'xmlns:xdc', 'http://www.xfa.org/schema/xdc/1.0/'
40
34
  end
35
+ end
41
36
  end
37
+ end
42
38
  end
@@ -1,146 +1,155 @@
1
- =begin
2
-
3
- This file is part of Origami, PDF manipulation framework for Ruby
4
- Copyright (C) 2017 Guillaume Delugré.
5
-
6
- Origami is free software: you can redistribute it and/or modify
7
- it under the terms of the GNU Lesser General Public License as published by
8
- the Free Software Foundation, either version 3 of the License, or
9
- (at your option) any later version.
10
-
11
- Origami is distributed in the hope that it will be useful,
12
- but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- GNU Lesser General Public License for more details.
15
-
16
- You should have received a copy of the GNU Lesser General Public License
17
- along with Origami. If not, see <http://www.gnu.org/licenses/>.
18
-
19
- =end
1
+ # frozen_string_literal: true
2
+
3
+ #
4
+ # This file is part of Origami, PDF manipulation framework for Ruby
5
+ # Copyright (C) 2017 Guillaume Delugré.
6
+ #
7
+ # Origami is free software: you can redistribute it and/or modify
8
+ # it under the terms of the GNU Lesser General Public License as published by
9
+ # the Free Software Foundation, either version 3 of the License, or
10
+ # (at your option) any later version.
11
+ #
12
+ # Origami is distributed in the hope that it will be useful,
13
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ # GNU Lesser General Public License for more details.
16
+ #
17
+ # You should have received a copy of the GNU Lesser General Public License
18
+ # along with Origami. If not, see <http://www.gnu.org/licenses/>.
19
+ #
20
20
 
21
21
  require 'rexml/element'
22
22
 
23
23
  module Origami
24
+ module XFA
25
+ class XFAError < Error # :nodoc:
26
+ end
24
27
 
25
- module XFA
26
- class XFAError < Error #:nodoc:
28
+ module ClassMethods
29
+ def xfa_attribute(name)
30
+ # Attribute getter.
31
+ attr_getter = "attr_#{name}"
32
+ begin
33
+ remove_method(attr_getter)
34
+ rescue
35
+ NameError
36
+ end
37
+ define_method(attr_getter) do
38
+ attributes[name.to_s]
27
39
  end
28
40
 
29
- module ClassMethods
30
-
31
- def xfa_attribute(name)
32
- # Attribute getter.
33
- attr_getter = "attr_#{name}"
34
- remove_method(attr_getter) rescue NameError
35
- define_method(attr_getter) do
36
- self.attributes[name.to_s]
37
- end
38
-
39
- # Attribute setter.
40
- attr_setter = "attr_#{name}="
41
- remove_method(attr_setter) rescue NameError
42
- define_method(attr_setter) do |value|
43
- self.attributes[name.to_s] = value
44
- end
45
- end
46
-
47
- def xfa_node(name, type, _range = (0..Float::INFINITY))
48
-
49
- adder = "add_#{name}"
50
- remove_method(adder) rescue NameError
51
- define_method(adder) do |*attr|
52
- elt = self.add_element(type.new)
53
-
54
- unless attr.empty?
55
- attr.first.each do |k,v|
56
- elt.attributes[k.to_s] = v
57
- end
58
- end
59
-
60
- elt
61
- end
62
- end
41
+ # Attribute setter.
42
+ attr_setter = "attr_#{name}="
43
+ begin
44
+ remove_method(attr_setter)
45
+ rescue
46
+ NameError
47
+ end
48
+ define_method(attr_setter) do |value|
49
+ attributes[name.to_s] = value
50
+ end
51
+ end
52
+
53
+ def xfa_node(name, type, _range = (0..Float::INFINITY))
54
+ adder = "add_#{name}"
55
+ begin
56
+ remove_method(adder)
57
+ rescue
58
+ NameError
59
+ end
60
+ define_method(adder) do |*attr|
61
+ elt = add_element(type.new)
63
62
 
64
- def mime_type(type)
65
- define_method("mime_type") { return type }
63
+ unless attr.empty?
64
+ attr.first.each do |k, v|
65
+ elt.attributes[k.to_s] = v
66
66
  end
67
- end
67
+ end
68
68
 
69
- def self.included(receiver)
70
- receiver.extend(ClassMethods)
69
+ elt
71
70
  end
71
+ end
72
72
 
73
- class Element < REXML::Element
74
- include XFA
75
-
76
- #
77
- # A permission flag for allowing or blocking attempted changes to the element.
78
- # 0 - Allow changes to properties and content.
79
- # 1 - Block changes to properties and content.
80
- #
81
- module Lockable
82
- def lock!
83
- self.attr_lock = 1
84
- end
85
-
86
- def unlock!
87
- self.attr_lock = 0
88
- end
89
-
90
- def locked?
91
- self.attr_lock == 1
92
- end
93
-
94
- def self.included(receiver)
95
- receiver.xfa_attribute "lock"
96
- end
97
- end
73
+ def mime_type(type)
74
+ define_method("mime_type") { type }
75
+ end
76
+ end
98
77
 
99
- #
100
- # An attribute to hold human-readable metadata.
101
- #
102
- module Descriptive
103
- def self.included(receiver)
104
- receiver.xfa_attribute "desc"
105
- end
106
- end
78
+ def self.included(receiver)
79
+ receiver.extend(ClassMethods)
80
+ end
107
81
 
108
- #
109
- # A unique identifier that may be used to identify this element as a target.
110
- #
111
- module Referencable
112
- def self.included?(receiver)
113
- receiver.xfa_attribute "id"
114
- end
115
- end
82
+ class Element < REXML::Element
83
+ include XFA
84
+
85
+ #
86
+ # A permission flag for allowing or blocking attempted changes to the element.
87
+ # 0 - Allow changes to properties and content.
88
+ # 1 - Block changes to properties and content.
89
+ #
90
+ module Lockable
91
+ def lock!
92
+ self.attr_lock = 1
93
+ end
116
94
 
117
- #
118
- # At template load time, invokes another object in the same document as a prototype for this object.
119
- #
120
- module Prototypable
121
- def self.included?(receiver)
122
- receiver.xfa_attribute "use"
123
- receiver.xfa_attribute "usehref"
124
- end
125
- end
95
+ def unlock!
96
+ self.attr_lock = 0
97
+ end
126
98
 
127
- #
128
- # An identifier that may be used to identify this element in script expressions.
129
- #
130
- module Namable
131
- def self.included?(receiver)
132
- receiver.xfa_attribute "name"
133
- end
134
- end
99
+ def locked?
100
+ attr_lock == 1
135
101
  end
136
102
 
137
- class TemplateElement < Element
138
- include Referencable
139
- include Prototypable
103
+ def self.included(receiver)
104
+ receiver.xfa_attribute "lock"
140
105
  end
106
+ end
141
107
 
142
- class NamedTemplateElement < TemplateElement
143
- include Namable
108
+ #
109
+ # An attribute to hold human-readable metadata.
110
+ #
111
+ module Descriptive
112
+ def self.included(receiver)
113
+ receiver.xfa_attribute "desc"
114
+ end
115
+ end
116
+
117
+ #
118
+ # A unique identifier that may be used to identify this element as a target.
119
+ #
120
+ module Referencable
121
+ def self.included?(receiver)
122
+ receiver.xfa_attribute "id"
123
+ end
124
+ end
125
+
126
+ #
127
+ # At template load time, invokes another object in the same document as a prototype for this object.
128
+ #
129
+ module Prototypable
130
+ def self.included?(receiver)
131
+ receiver.xfa_attribute "use"
132
+ receiver.xfa_attribute "usehref"
133
+ end
134
+ end
135
+
136
+ #
137
+ # An identifier that may be used to identify this element in script expressions.
138
+ #
139
+ module Namable
140
+ def self.included?(receiver)
141
+ receiver.xfa_attribute "name"
144
142
  end
143
+ end
144
+ end
145
+
146
+ class TemplateElement < Element
147
+ include Referencable
148
+ include Prototypable
149
+ end
150
+
151
+ class NamedTemplateElement < TemplateElement
152
+ include Namable
145
153
  end
154
+ end
146
155
  end
@@ -1,43 +1,39 @@
1
- =begin
2
-
3
- This file is part of Origami, PDF manipulation framework for Ruby
4
- Copyright (C) 2017 Guillaume Delugré.
5
-
6
- Origami is free software: you can redistribute it and/or modify
7
- it under the terms of the GNU Lesser General Public License as published by
8
- the Free Software Foundation, either version 3 of the License, or
9
- (at your option) any later version.
10
-
11
- Origami is distributed in the hope that it will be useful,
12
- but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- GNU Lesser General Public License for more details.
15
-
16
- You should have received a copy of the GNU Lesser General Public License
17
- along with Origami. If not, see <http://www.gnu.org/licenses/>.
18
-
19
- =end
1
+ # frozen_string_literal: true
2
+
3
+ #
4
+ # This file is part of Origami, PDF manipulation framework for Ruby
5
+ # Copyright (C) 2017 Guillaume Delugré.
6
+ #
7
+ # Origami is free software: you can redistribute it and/or modify
8
+ # it under the terms of the GNU Lesser General Public License as published by
9
+ # the Free Software Foundation, either version 3 of the License, or
10
+ # (at your option) any later version.
11
+ #
12
+ # Origami is distributed in the hope that it will be useful,
13
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ # GNU Lesser General Public License for more details.
16
+ #
17
+ # You should have received a copy of the GNU Lesser General Public License
18
+ # along with Origami. If not, see <http://www.gnu.org/licenses/>.
19
+ #
20
20
 
21
21
  module Origami
22
-
23
- module XDP
24
-
25
- module Packet
26
-
27
- #
28
- # The _xfdf_ (annotations) packet enclosed collaboration annotations placed upon a PDF document.
29
- #
30
- class XFDF < XFA::Element
31
- mime_type 'application/vnd.adobe.xfdf'
32
-
33
- def initialize
34
- super("xfdf")
35
-
36
- add_attribute 'xmlns', 'http://ns.adobe.com/xfdf/'
37
- add_attribute 'xml:space', 'preserve'
38
- end
39
- end
40
-
22
+ module XDP
23
+ module Packet
24
+ #
25
+ # The _xfdf_ (annotations) packet enclosed collaboration annotations placed upon a PDF document.
26
+ #
27
+ class XFDF < XFA::Element
28
+ mime_type 'application/vnd.adobe.xfdf'
29
+
30
+ def initialize
31
+ super("xfdf")
32
+
33
+ add_attribute 'xmlns', 'http://ns.adobe.com/xfdf/'
34
+ add_attribute 'xml:space', 'preserve'
41
35
  end
36
+ end
42
37
  end
38
+ end
43
39
  end
@@ -1,43 +1,39 @@
1
- =begin
2
-
3
- This file is part of Origami, PDF manipulation framework for Ruby
4
- Copyright (C) 2017 Guillaume Delugré.
5
-
6
- Origami is free software: you can redistribute it and/or modify
7
- it under the terms of the GNU Lesser General Public License as published by
8
- the Free Software Foundation, either version 3 of the License, or
9
- (at your option) any later version.
10
-
11
- Origami is distributed in the hope that it will be useful,
12
- but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- GNU Lesser General Public License for more details.
15
-
16
- You should have received a copy of the GNU Lesser General Public License
17
- along with Origami. If not, see <http://www.gnu.org/licenses/>.
18
-
19
- =end
1
+ # frozen_string_literal: true
2
+
3
+ #
4
+ # This file is part of Origami, PDF manipulation framework for Ruby
5
+ # Copyright (C) 2017 Guillaume Delugré.
6
+ #
7
+ # Origami is free software: you can redistribute it and/or modify
8
+ # it under the terms of the GNU Lesser General Public License as published by
9
+ # the Free Software Foundation, either version 3 of the License, or
10
+ # (at your option) any later version.
11
+ #
12
+ # Origami is distributed in the hope that it will be useful,
13
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ # GNU Lesser General Public License for more details.
16
+ #
17
+ # You should have received a copy of the GNU Lesser General Public License
18
+ # along with Origami. If not, see <http://www.gnu.org/licenses/>.
19
+ #
20
20
 
21
21
  module Origami
22
-
23
- module XDP
24
-
25
- module Packet
26
-
27
- #
28
- # An _XMP_ packet contains XML representation of PDF metadata.
29
- #
30
- class XMPMeta < XFA::Element
31
- mime_type 'application/rdf+xml'
32
-
33
- def initialize
34
- super("xmpmeta")
35
-
36
- add_attribute 'xmlns', 'http://ns.adobe.com/xmpmeta/'
37
- add_attribute 'xml:space', 'preserve'
38
- end
39
- end
40
-
22
+ module XDP
23
+ module Packet
24
+ #
25
+ # An _XMP_ packet contains XML representation of PDF metadata.
26
+ #
27
+ class XMPMeta < XFA::Element
28
+ mime_type 'application/rdf+xml'
29
+
30
+ def initialize
31
+ super("xmpmeta")
32
+
33
+ add_attribute 'xmlns', 'http://ns.adobe.com/xmpmeta/'
34
+ add_attribute 'xml:space', 'preserve'
41
35
  end
36
+ end
42
37
  end
38
+ end
43
39
  end
data/lib/origami/xfa.rb CHANGED
@@ -1,62 +1,59 @@
1
- =begin
2
-
3
- This file is part of Origami, PDF manipulation framework for Ruby
4
- Copyright (C) 2017 Guillaume Delugré.
5
-
6
- Origami is free software: you can redistribute it and/or modify
7
- it under the terms of the GNU Lesser General Public License as published by
8
- the Free Software Foundation, either version 3 of the License, or
9
- (at your option) any later version.
10
-
11
- Origami is distributed in the hope that it will be useful,
12
- but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- GNU Lesser General Public License for more details.
15
-
16
- You should have received a copy of the GNU Lesser General Public License
17
- along with Origami. If not, see <http://www.gnu.org/licenses/>.
18
-
19
- =end
1
+ # frozen_string_literal: true
2
+
3
+ #
4
+ # This file is part of Origami, PDF manipulation framework for Ruby
5
+ # Copyright (C) 2017 Guillaume Delugré.
6
+ #
7
+ # Origami is free software: you can redistribute it and/or modify
8
+ # it under the terms of the GNU Lesser General Public License as published by
9
+ # the Free Software Foundation, either version 3 of the License, or
10
+ # (at your option) any later version.
11
+ #
12
+ # Origami is distributed in the hope that it will be useful,
13
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ # GNU Lesser General Public License for more details.
16
+ #
17
+ # You should have received a copy of the GNU Lesser General Public License
18
+ # along with Origami. If not, see <http://www.gnu.org/licenses/>.
19
+ #
20
20
 
21
21
  module Origami
22
-
23
- autoload :XFA, "origami/xfa/xfa"
24
-
25
- module XDP
26
- autoload :Package, "origami/xfa/package"
27
-
28
- module Packet
29
- autoload :Config, "origami/xfa/config"
30
- autoload :ConnectionSet, "origami/xfa/connectionset"
31
- autoload :Datasets, "origami/xfa/datasets"
32
- autoload :LocaleSet, "origami/xfa/localeset"
33
- autoload :PDF, "origami/xfa/pdf"
34
- autoload :Signature, "origami/xfa/signature"
35
- autoload :SourceSet, "origami/xfa/sourceset"
36
- autoload :StyleSheet, "origami/xfa/stylesheet"
37
- autoload :Template, "origami/xfa/template"
38
- autoload :XDC, "origami/xfa/xdc"
39
- autoload :XFDF, "origami/xfa/xfdf"
40
- autoload :XMPMeta, "origami/xfa/xmpmeta"
41
- end
42
-
22
+ autoload :XFA, "origami/xfa/xfa"
23
+
24
+ module XDP
25
+ autoload :Package, "origami/xfa/package"
26
+
27
+ module Packet
28
+ autoload :Config, "origami/xfa/config"
29
+ autoload :ConnectionSet, "origami/xfa/connectionset"
30
+ autoload :Datasets, "origami/xfa/datasets"
31
+ autoload :LocaleSet, "origami/xfa/localeset"
32
+ autoload :PDF, "origami/xfa/pdf"
33
+ autoload :Signature, "origami/xfa/signature"
34
+ autoload :SourceSet, "origami/xfa/sourceset"
35
+ autoload :StyleSheet, "origami/xfa/stylesheet"
36
+ autoload :Template, "origami/xfa/template"
37
+ autoload :XDC, "origami/xfa/xdc"
38
+ autoload :XFDF, "origami/xfa/xfdf"
39
+ autoload :XMPMeta, "origami/xfa/xmpmeta"
43
40
  end
41
+ end
44
42
 
45
- class XFAStream < Stream
46
- # TODO
47
- end
43
+ class XFAStream < Stream
44
+ # TODO
45
+ end
48
46
 
49
- class PDF
50
- def create_xfa_form(xdp, *fields)
51
- acroform = create_form(*fields)
52
- acroform.XFA = XFAStream.new(xdp, :Filter => :FlateDecode)
47
+ class PDF
48
+ def create_xfa_form(xdp, *fields)
49
+ acroform = create_form(*fields)
50
+ acroform.XFA = XFAStream.new(xdp, Filter: :FlateDecode)
53
51
 
54
- acroform
55
- end
56
-
57
- def xfa_form?
58
- self.form? and self.Catalog.AcroForm.key?(:XFA)
59
- end
52
+ acroform
60
53
  end
61
54
 
55
+ def xfa_form?
56
+ form? and self.Catalog.AcroForm.key?(:XFA)
57
+ end
58
+ end
62
59
  end