pdfrb 0.7.30 → 0.7.32

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 83af6e7d49d84f03ca76b743164b0b4116c259d08719287cf9248afd0affd5ec
4
- data.tar.gz: 5a4de5047f8b57c96543d73a3cafb6903cadb965f1877a4aecef42d57247a5ff
3
+ metadata.gz: b1cd3d8414d6c20ce3716e042003303eb08b96a0b71c0002cbba9fd1b9a21ecd
4
+ data.tar.gz: 6c40d53aadb7ead589dbf47949e73aba8c09d25750e115801f5307a1d9b82fc5
5
5
  SHA512:
6
- metadata.gz: 5a99b5fc62f8f4503577e598996fdc55216a9935da101d1b2c1ab03e5d6931db606938385132b3bbe81c573dcea5439e6bbb006ed51e5ef30333626382da3f3b
7
- data.tar.gz: 1f4b6b491db49a6852e358901e2539c40609caccf8a01a3e0948f10d3fe7fbc09f5a810947acb719c35c285bf90c7ca6d9a51a6718985b002c3b09aa3d891b46
6
+ metadata.gz: a8dd8f8136a9563fb5ed3da98841836026e0fca9164db0f5fa1a7379bffa09f4fd86361361fa91bcff999a97947c72a447053eacec02edfc5354c5852c2248f7
7
+ data.tar.gz: e506eecbd9cb8536cc80e0d79fea1591912de2fedce5d1d5ea092311f8b8c44e013d8befc5c833d5ebb210b94140382f5121f11f0f43bc84bfd6755d90f948d3
@@ -9,9 +9,26 @@ module Pdfrb
9
9
 
10
10
  def push_button?; flags & 0x10000 != 0; end
11
11
  def radio?; flags & 0x8000 != 0; end
12
+ def checkbox?; !push_button? && !radio?; end
12
13
  def no_toggle_to_off?; flags & 0x4000 != 0; end
13
14
  def radios_in_unison?; flags & 0x2000000 != 0; end
14
15
  end
16
+
17
+ # Checkbox button field (s12.7.4.2.2, /Ft /Btn without push or
18
+ # radio flags).
19
+ class CheckboxButton < Button
20
+ arlington_object "FieldBtnCheckbox"
21
+ end
22
+
23
+ # Pushbutton field (s12.7.4.2.4).
24
+ class PushButton < Button
25
+ arlington_object "FieldBtnPush"
26
+ end
27
+
28
+ # Radio button field (s12.7.4.2.3).
29
+ class RadioButton < Button
30
+ arlington_object "FieldBtnRadio"
31
+ end
15
32
  end
16
33
  end
17
34
  end
@@ -4,6 +4,7 @@ module Pdfrb
4
4
  module Model
5
5
  module Type
6
6
  class Choice < Field
7
+ arlington_object "FieldChoice"
7
8
  def value; self[:V]; end
8
9
  def opt; self[:Opt]; end
9
10
  def top_index; self[:TI]; end
@@ -6,6 +6,7 @@ module Pdfrb
6
6
  # EmbeddedFileParameterDictionary (s7.11.3.1). Per /EF entry
7
7
  # /Params dict — checksum, size, dates, mac creator.
8
8
  class EmbeddedFileParameter < Pdfrb::Model::Cos::Dictionary
9
+ arlington_object "EmbeddedFileParameter"
9
10
  def size; self[:Size]; end
10
11
  def creation_date; self[:CreationDate]; end
11
12
  def modification_date; self[:ModDate]; end
@@ -7,6 +7,7 @@ module Pdfrb
7
7
  # EmbeddedFile stream reference: /F (type 1), /UF (Unicode),
8
8
  # /DOS, /Mac, /Unix.
9
9
  class FileSpecEF < Pdfrb::Model::Cos::Dictionary
10
+ arlington_object "FileSpecEF"
10
11
  def primary_file; self[:F]; end
11
12
  def unicode_file; self[:UF]; end
12
13
  def dos_file; self[:DOS]; end
@@ -5,6 +5,7 @@ module Pdfrb
5
5
  module Type
6
6
  # Filespec RF dict (s7.11.2.3). Related files name tree.
7
7
  class FileSpecRF < Pdfrb::Model::Cos::Dictionary
8
+ arlington_object "FileSpecRF"
8
9
  def related_files; self[:Names]; end
9
10
 
10
11
  def each_related(&block)
@@ -4,6 +4,7 @@ module Pdfrb
4
4
  module Model
5
5
  module Type
6
6
  class Field < Cos::Dictionary
7
+ arlington_object "Field"
7
8
  register_type :Field
8
9
 
9
10
  def field_type; self[:FT]; end
@@ -6,6 +6,7 @@ module Pdfrb
6
6
  # Marked-Content Reference (s14.7.6.2). Refers to a marked-content
7
7
  # sequence on a page by MCID.
8
8
  class MarkedContentReference < Cos::Dictionary
9
+ arlington_object "MarkedContentReference"
9
10
  register_type :MCR
10
11
 
11
12
  def type; self[:Type]; end
@@ -6,6 +6,7 @@ module Pdfrb
6
6
  # Namespace dictionary (s14.7.6.1, PDF 2.0). Namespaces for
7
7
  # structure element types in tagged PDF documents.
8
8
  class Namespace < Cos::Dictionary
9
+ arlington_object "Namespace"
9
10
  register_type :Namespace
10
11
 
11
12
  def type; self[:Type]; end
@@ -6,6 +6,7 @@ module Pdfrb
6
6
  # Object reference dict (s14.7.6). Used in structure trees to
7
7
  # refer to a content item without including it directly.
8
8
  class ObjectReference < Cos::Dictionary
9
+ arlington_object "ObjectReference"
9
10
  register_type :ObjRef
10
11
 
11
12
  def type; self[:Type]; end
@@ -0,0 +1,171 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pdfrb
4
+ module Model
5
+ module Type
6
+ # Requirements handler dictionary (s7.9.2, Catalog /Requirements).
7
+ # Common keys across every handler: the feature /S, the version
8
+ # /V that introduced it, the reader handler /RH, and the /Penalty
9
+ # for missing support. Feature-specific keys live on subclasses.
10
+ class RequirementsHandler < Pdfrb::Model::Cos::Dictionary
11
+ arlington_object "RequirementsHandler"
12
+
13
+ def type; self[:Type]; end
14
+ def feature; self[:S]; end
15
+ def version; self[:V]; end
16
+ def reader_handler; self[:RH]; end
17
+ def penalty; self[:Penalty]; end
18
+
19
+ def fatal?
20
+ penalty&.to_sym == :Fatal
21
+ end
22
+
23
+ # /Script — JavaScript reader-handler bootstrap.
24
+ def script; self[:Script]; end
25
+ end
26
+
27
+ # /Requirements entry (s7.9.2): feature "3DMarkup".
28
+ class Requirements3DMarkup < RequirementsHandler
29
+ arlington_object "Requirements3DMarkup"
30
+ end
31
+
32
+ # /Requirements entry (s7.9.2): feature "AcroFormInteract".
33
+ class RequirementsAcroFormInteract < RequirementsHandler
34
+ arlington_object "RequirementsAcroFormInteract"
35
+ end
36
+
37
+ # /Requirements entry (s7.9.2): feature "Action".
38
+ class RequirementsAction < RequirementsHandler
39
+ arlington_object "RequirementsAction"
40
+ end
41
+
42
+ # /Requirements entry (s7.9.2): feature "Attachment".
43
+ class RequirementsAttachment < RequirementsHandler
44
+ arlington_object "RequirementsAttachment"
45
+ end
46
+
47
+ # /Requirements entry (s7.9.2): feature "AttachmentEditing".
48
+ class RequirementsAttachmentEditing < RequirementsHandler
49
+ arlington_object "RequirementsAttachmentEditing"
50
+ end
51
+
52
+ # /Requirements entry (s7.9.2): feature "Collection".
53
+ class RequirementsCollection < RequirementsHandler
54
+ arlington_object "RequirementsCollection"
55
+ end
56
+
57
+ # /Requirements entry (s7.9.2): feature "CollectionEditing".
58
+ class RequirementsCollectionEditing < RequirementsHandler
59
+ arlington_object "RequirementsCollectionEditing"
60
+ end
61
+
62
+ # /Requirements entry (s7.9.2): feature "DPartInteract".
63
+ class RequirementsDPartInteract < RequirementsHandler
64
+ arlington_object "RequirementsDPartInteract"
65
+ end
66
+
67
+ # /Requirements entry (s7.9.2): feature "DigSig".
68
+ class RequirementsDigSig < RequirementsHandler
69
+ arlington_object "RequirementsDigSig"
70
+
71
+ def dig_sig; self[:DigSig]; end
72
+ end
73
+
74
+ # /Requirements entry (s7.9.2): feature "DigSigMDP".
75
+ class RequirementsDigSigMDP < RequirementsHandler
76
+ arlington_object "RequirementsDigSigMDP"
77
+
78
+ def dig_sig; self[:DigSig]; end
79
+ end
80
+
81
+ # /Requirements entry (s7.9.2): feature "DigSigValidation".
82
+ class RequirementsDigSigValidation < RequirementsHandler
83
+ arlington_object "RequirementsDigSigValidation"
84
+
85
+ def dig_sig; self[:DigSig]; end
86
+ end
87
+
88
+ # /Requirements entry (s7.9.2): feature "EnableJavaScripts".
89
+ class RequirementsEnableJavaScripts < RequirementsHandler
90
+ arlington_object "RequirementsEnableJavaScripts"
91
+ end
92
+
93
+ # /Requirements entry (s7.9.2): feature "Encryption".
94
+ class RequirementsEncryption < RequirementsHandler
95
+ arlington_object "RequirementsEncryption"
96
+
97
+ def encrypt_dict; self[:Encrypt]; end
98
+ end
99
+
100
+ # /Requirements entry (s7.9.2): feature "Geospatial2D".
101
+ class RequirementsGeospatial2D < RequirementsHandler
102
+ arlington_object "RequirementsGeospatial2D"
103
+ end
104
+
105
+ # /Requirements entry (s7.9.2): feature "Geospatial3D".
106
+ class RequirementsGeospatial3D < RequirementsHandler
107
+ arlington_object "RequirementsGeospatial3D"
108
+ end
109
+
110
+ # /Requirements entry (s7.9.2): feature "Markup".
111
+ class RequirementsMarkup < RequirementsHandler
112
+ arlington_object "RequirementsMarkup"
113
+ end
114
+
115
+ # /Requirements entry (s7.9.2): feature "Multimedia".
116
+ class RequirementsMultimedia < RequirementsHandler
117
+ arlington_object "RequirementsMultimedia"
118
+ end
119
+
120
+ # /Requirements entry (s7.9.2): feature "Navigation".
121
+ class RequirementsNavigation < RequirementsHandler
122
+ arlington_object "RequirementsNavigation"
123
+ end
124
+
125
+ # /Requirements entry (s7.9.2): feature "OCAutoStates".
126
+ class RequirementsOCAutoStates < RequirementsHandler
127
+ arlington_object "RequirementsOCAutoStates"
128
+ end
129
+
130
+ # /Requirements entry (s7.9.2): feature "OCInteract".
131
+ class RequirementsOCInteract < RequirementsHandler
132
+ arlington_object "RequirementsOCInteract"
133
+ end
134
+
135
+ # /Requirements entry (s7.9.2): feature "PRC".
136
+ class RequirementsPRC < RequirementsHandler
137
+ arlington_object "RequirementsPRC"
138
+ end
139
+
140
+ # /Requirements entry (s7.9.2): feature "RichMedia".
141
+ class RequirementsRichMedia < RequirementsHandler
142
+ arlington_object "RequirementsRichMedia"
143
+ end
144
+
145
+ # /Requirements entry (s7.9.2): feature "STEP".
146
+ class RequirementsSTEP < RequirementsHandler
147
+ arlington_object "RequirementsSTEP"
148
+ end
149
+
150
+ # /Requirements entry (s7.9.2): feature "SeparationSimulation".
151
+ class RequirementsSeparationSimulation < RequirementsHandler
152
+ arlington_object "RequirementsSeparationSimulation"
153
+ end
154
+
155
+ # /Requirements entry (s7.9.2): feature "Transitions".
156
+ class RequirementsTransitions < RequirementsHandler
157
+ arlington_object "RequirementsTransitions"
158
+ end
159
+
160
+ # /Requirements entry (s7.9.2): feature "U3D".
161
+ class RequirementsU3D < RequirementsHandler
162
+ arlington_object "RequirementsU3D"
163
+ end
164
+
165
+ # /Requirements entry (s7.9.2): feature "glTF".
166
+ class RequirementsglTF < RequirementsHandler
167
+ arlington_object "RequirementsglTF"
168
+ end
169
+ end
170
+ end
171
+ end
@@ -4,6 +4,7 @@ module Pdfrb
4
4
  module Model
5
5
  module Type
6
6
  class SignatureField < Field
7
+ arlington_object "FieldSig"
7
8
  def value; self[:V]; end
8
9
  def lock; self[:Lock]; end
9
10
  def seed_value; self[:SV]; end
@@ -6,6 +6,7 @@ module Pdfrb
6
6
  # Software Identifier (s13.3.5.5). Identifies a player for
7
7
  # media rendering.
8
8
  class SoftwareIdentifier < Pdfrb::Model::Cos::Dictionary
9
+ arlington_object "SoftwareIdentifier"
9
10
  def type; self[:Type]; end
10
11
  def u; self[:U]; end
11
12
  def l; self[:L]; end
@@ -4,6 +4,7 @@ module Pdfrb
4
4
  module Model
5
5
  module Type
6
6
  class TextField < Field
7
+ arlington_object "FieldTx"
7
8
  def max_len; self[:MaxLen]; end
8
9
  def value; self[:V]; end
9
10
  def rich_text_value; self[:RV]; end
@@ -7,6 +7,7 @@ module Pdfrb
7
7
  # pages in FullScreen mode. Lives on Page /Trans or on an
8
8
  # ActionTrans.
9
9
  class Transition < Pdfrb::Model::Cos::Dictionary
10
+ arlington_object "Transition"
10
11
  def type; self[:Type]; end
11
12
  def style; self[:S]&.to_sym; end
12
13
  def duration; self[:D]; end
@@ -38,6 +39,7 @@ module Pdfrb
38
39
  # Printer Mark sub-dictionary (s12.5.6.18). Per-printer-mark
39
40
  # sub-parameters.
40
41
  class PrinterMarkSubDict < Pdfrb::Model::Cos::Dictionary
42
+ arlington_object "AppearancePrinterMarkSubDict"
41
43
  def printer; self[:PRINTER]; end
42
44
  def credentials; self[:CREDS]; end
43
45
  end
@@ -45,6 +47,7 @@ module Pdfrb
45
47
  # ExData 3D Markup (s13.6.1). 3D scene metadata for Projection
46
48
  # annotations / 3D models.
47
49
  class ExData3DMarkup < Pdfrb::Model::Cos::Dictionary
50
+ arlington_object "ExData3DMarkup"
48
51
  def type; self[:Type]; end
49
52
  def v3d; self[:V3D]; end
50
53
 
@@ -56,6 +59,7 @@ module Pdfrb
56
59
  # ExData Markup Geo (s12.5.6.21). Geo-spatial markup attached to
57
60
  # a Projection annotation.
58
61
  class ExDataMarkupGeo < Pdfrb::Model::Cos::Dictionary
62
+ arlington_object "ExDataMarkupGeo"
59
63
  def type; self[:Type]; end
60
64
  def coordinate_path; self[:CoordinatePath]; end
61
65
 
@@ -93,6 +93,7 @@ module Pdfrb
93
93
  autoload :LineEndingStyling, "pdfrb/model/type/line_ending_styling"
94
94
  autoload :InteriorColor, "pdfrb/model/type/interior_color"
95
95
  autoload :ObjectReference, "pdfrb/model/type/object_reference"
96
+ autoload :Namespace, "pdfrb/model/type/namespace"
96
97
  autoload :SquareCircle, "pdfrb/model/type/square_circle"
97
98
  autoload :VariableTextField, "pdfrb/model/type/variable_text_field"
98
99
  autoload :DocumentSecurityStore, "pdfrb/model/type/document_security_store"
@@ -104,6 +105,9 @@ module Pdfrb
104
105
  autoload :Field, "pdfrb/model/type/form_field"
105
106
  autoload :TextField, "pdfrb/model/type/text_field"
106
107
  autoload :Button, "pdfrb/model/type/button"
108
+ autoload :CheckboxButton, "pdfrb/model/type/button"
109
+ autoload :PushButton, "pdfrb/model/type/button"
110
+ autoload :RadioButton, "pdfrb/model/type/button"
107
111
  autoload :Choice, "pdfrb/model/type/choice"
108
112
  autoload :SignatureField, "pdfrb/model/type/signature_field"
109
113
  autoload :ViewerPreferences, "pdfrb/model/type/viewer_preferences"
@@ -403,6 +407,9 @@ module Pdfrb
403
407
  autoload :Field, "pdfrb/model/type/form_field"
404
408
  autoload :TextField, "pdfrb/model/type/text_field"
405
409
  autoload :Button, "pdfrb/model/type/button"
410
+ autoload :CheckboxButton, "pdfrb/model/type/button"
411
+ autoload :PushButton, "pdfrb/model/type/button"
412
+ autoload :RadioButton, "pdfrb/model/type/button"
406
413
  autoload :Choice, "pdfrb/model/type/choice"
407
414
  autoload :SignatureField, "pdfrb/model/type/signature_field"
408
415
 
@@ -467,6 +474,36 @@ module Pdfrb
467
474
  autoload :AddActionScreenAnnotation, "pdfrb/model/type/add_action_screen_annotation"
468
475
  autoload :AddActionWidgetAnnotation, "pdfrb/model/type/add_action_widget_annotation"
469
476
 
477
+ # Requirements handlers (s7.9.2, Catalog /Requirements).
478
+ autoload :Requirements3DMarkup, "pdfrb/model/type/requirements"
479
+ autoload :RequirementsAcroFormInteract, "pdfrb/model/type/requirements"
480
+ autoload :RequirementsAction, "pdfrb/model/type/requirements"
481
+ autoload :RequirementsAttachment, "pdfrb/model/type/requirements"
482
+ autoload :RequirementsAttachmentEditing, "pdfrb/model/type/requirements"
483
+ autoload :RequirementsCollection, "pdfrb/model/type/requirements"
484
+ autoload :RequirementsCollectionEditing, "pdfrb/model/type/requirements"
485
+ autoload :RequirementsDPartInteract, "pdfrb/model/type/requirements"
486
+ autoload :RequirementsDigSig, "pdfrb/model/type/requirements"
487
+ autoload :RequirementsDigSigMDP, "pdfrb/model/type/requirements"
488
+ autoload :RequirementsDigSigValidation, "pdfrb/model/type/requirements"
489
+ autoload :RequirementsEnableJavaScripts, "pdfrb/model/type/requirements"
490
+ autoload :RequirementsEncryption, "pdfrb/model/type/requirements"
491
+ autoload :RequirementsGeospatial2D, "pdfrb/model/type/requirements"
492
+ autoload :RequirementsGeospatial3D, "pdfrb/model/type/requirements"
493
+ autoload :RequirementsHandler, "pdfrb/model/type/requirements"
494
+ autoload :RequirementsMarkup, "pdfrb/model/type/requirements"
495
+ autoload :RequirementsMultimedia, "pdfrb/model/type/requirements"
496
+ autoload :RequirementsNavigation, "pdfrb/model/type/requirements"
497
+ autoload :RequirementsOCAutoStates, "pdfrb/model/type/requirements"
498
+ autoload :RequirementsOCInteract, "pdfrb/model/type/requirements"
499
+ autoload :RequirementsPRC, "pdfrb/model/type/requirements"
500
+ autoload :RequirementsRichMedia, "pdfrb/model/type/requirements"
501
+ autoload :RequirementsSTEP, "pdfrb/model/type/requirements"
502
+ autoload :RequirementsSeparationSimulation, "pdfrb/model/type/requirements"
503
+ autoload :RequirementsTransitions, "pdfrb/model/type/requirements"
504
+ autoload :RequirementsU3D, "pdfrb/model/type/requirements"
505
+ autoload :RequirementsglTF, "pdfrb/model/type/requirements"
506
+
470
507
  # Border style (s12.5.4). BorderEffect lives in its own file.
471
508
  autoload :BorderStyle, "pdfrb/model/type/border_style"
472
509
  autoload :BorderEffect, "pdfrb/model/type/border_effect"
data/lib/pdfrb/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Pdfrb
4
- VERSION = "0.7.30"
4
+ VERSION = "0.7.32"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pdfrb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.30
4
+ version: 0.7.32
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
@@ -1120,6 +1120,7 @@ files:
1120
1120
  - lib/pdfrb/model/type/projection_annotation.rb
1121
1121
  - lib/pdfrb/model/type/redact_annotation.rb
1122
1122
  - lib/pdfrb/model/type/rendition.rb
1123
+ - lib/pdfrb/model/type/requirements.rb
1123
1124
  - lib/pdfrb/model/type/resources.rb
1124
1125
  - lib/pdfrb/model/type/rich_media_activation.rb
1125
1126
  - lib/pdfrb/model/type/rich_media_animation.rb