pdfrb 0.7.22 → 0.7.24
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/lib/pdfrb/model/type/action_go_to_e.rb +31 -0
- data/lib/pdfrb/model/type/action_rich_media_execute.rb +3 -2
- data/lib/pdfrb/model/type/action_thread.rb +1 -0
- data/lib/pdfrb/model/type/add_action_form_field.rb +42 -0
- data/lib/pdfrb/model/type/add_action_screen_annotation.rb +62 -0
- data/lib/pdfrb/model/type/add_action_widget_annotation.rb +72 -0
- data/lib/pdfrb/model/type/appearance_trap_net.rb +8 -18
- data/lib/pdfrb/model/type/collection.rb +1 -0
- data/lib/pdfrb/model/type/collection_colors.rb +36 -0
- data/lib/pdfrb/model/type/collection_field.rb +1 -0
- data/lib/pdfrb/model/type/collection_folder.rb +33 -0
- data/lib/pdfrb/model/type/collection_item.rb +1 -0
- data/lib/pdfrb/model/type/collection_schema.rb +1 -0
- data/lib/pdfrb/model/type/collection_sort.rb +1 -0
- data/lib/pdfrb/model/type/collection_split.rb +24 -0
- data/lib/pdfrb/model/type/collection_subitem.rb +21 -0
- data/lib/pdfrb/model/type/movie_annotation.rb +25 -0
- data/lib/pdfrb/model/type/projection_annotation.rb +43 -0
- data/lib/pdfrb/model/type/three_d_annotation.rb +33 -0
- data/lib/pdfrb/model/type/trap_network_annotation.rb +28 -0
- data/lib/pdfrb/model/type.rb +17 -2
- data/lib/pdfrb/version.rb +1 -1
- metadata +14 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c7f4bfdd940c5efb31509b47b458c221611bd9fab8e65f45c3c5f0d4a55af63e
|
|
4
|
+
data.tar.gz: ca8423b413d1c1c22387df07f0cb8deac73549b3be0b944cfbe96600b43a146c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e047623b3eb1d875605e7582e56c11c38c963acef221ac017f977e9c875efc291081c2fe7f66d8ed27b1bbe5f76cf75770f8605288c89a98157d90102b2c3f9c
|
|
7
|
+
data.tar.gz: a072c1ca23b1e030a276f8dc15483ef26d852b5889bd8896d1b6f22efcaab0e2a772c132fa14405a99d301649e4447e9dcf28133279ea592a1f297f115a4caad
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Pdfrb
|
|
4
|
+
module Model
|
|
5
|
+
module Type
|
|
6
|
+
# GoToE action (s12.6.4.4, PDF 1.6). Navigate to a destination in
|
|
7
|
+
# an embedded PDF file.
|
|
8
|
+
class ActionGoToE < Action
|
|
9
|
+
arlington_object "ActionGoToE"
|
|
10
|
+
register_subtype :GoToE
|
|
11
|
+
|
|
12
|
+
def target_file; self[:F]; end
|
|
13
|
+
def destination; self[:D]; end
|
|
14
|
+
def new_window; self[:NewWindow]; end
|
|
15
|
+
def target; self[:T]; end
|
|
16
|
+
|
|
17
|
+
def new_window?
|
|
18
|
+
new_window == true
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def targets_embedded_file?
|
|
22
|
+
!target_file.nil?
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def named_destination?
|
|
26
|
+
destination.is_a?(Symbol) || destination.is_a?(String)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -6,11 +6,12 @@ module Pdfrb
|
|
|
6
6
|
# RichMediaExecute action (s12.6.4.12, PDF 2.0). Execute a
|
|
7
7
|
# command on a RichMedia annotation.
|
|
8
8
|
class ActionRichMediaExecute < Action
|
|
9
|
+
arlington_object "ActionRichMediaExecute"
|
|
9
10
|
register_subtype :RichMediaExecute
|
|
10
11
|
|
|
11
12
|
def target; self[:TA]; end
|
|
12
|
-
def instance; self[:
|
|
13
|
-
def
|
|
13
|
+
def instance; self[:TI]; end
|
|
14
|
+
def command; self[:CMD]; end
|
|
14
15
|
end
|
|
15
16
|
end
|
|
16
17
|
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Pdfrb
|
|
4
|
+
module Model
|
|
5
|
+
module Type
|
|
6
|
+
# Additional Actions for interactive form fields (s12.6.3.17,
|
|
7
|
+
# Table 199). All four triggers carry JavaScript actions.
|
|
8
|
+
class AddActionFormField < Pdfrb::Model::Cos::Dictionary
|
|
9
|
+
arlington_object "AddActionFormField"
|
|
10
|
+
|
|
11
|
+
# /K — keystroke: format before committing a changed value.
|
|
12
|
+
def on_keystroke(document = nil)
|
|
13
|
+
resolve_action(:K, document)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# /F — format: reformat after a new value is committed.
|
|
17
|
+
def on_format(document = nil)
|
|
18
|
+
resolve_action(:F, document)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# /V — validate (recalculate) after the field value changes.
|
|
22
|
+
def on_validate(document = nil)
|
|
23
|
+
resolve_action(:V, document)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# /C — recalculate when another field changes.
|
|
27
|
+
def on_calculate(document = nil)
|
|
28
|
+
resolve_action(:C, document)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
private
|
|
32
|
+
|
|
33
|
+
def resolve_action(key, document)
|
|
34
|
+
ref = value[key]
|
|
35
|
+
return nil unless ref && document
|
|
36
|
+
|
|
37
|
+
ref.is_a?(Pdfrb::Model::Reference) ? document.object(ref) : ref
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Pdfrb
|
|
4
|
+
module Model
|
|
5
|
+
module Type
|
|
6
|
+
# Additional Actions for screen annotations (s12.6.3.17, PDF 1.5).
|
|
7
|
+
# Media events on the screen's region.
|
|
8
|
+
class AddActionScreenAnnotation < Pdfrb::Model::Cos::Dictionary
|
|
9
|
+
arlington_object "AddActionScreenAnnotation"
|
|
10
|
+
|
|
11
|
+
# /E — cursor enters the screen region.
|
|
12
|
+
def on_cursor_enter(document = nil)
|
|
13
|
+
resolve_action(:E, document)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# /X — cursor exits the screen region.
|
|
17
|
+
def on_cursor_exit(document = nil)
|
|
18
|
+
resolve_action(:X, document)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# /D — mouse button pressed inside.
|
|
22
|
+
def on_mouse_down(document = nil)
|
|
23
|
+
resolve_action(:D, document)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# /U — mouse button released inside.
|
|
27
|
+
def on_mouse_up(document = nil)
|
|
28
|
+
resolve_action(:U, document)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# /PO — page containing the screen is opened.
|
|
32
|
+
def on_page_open(document = nil)
|
|
33
|
+
resolve_action(:PO, document)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# /PC — page containing the screen is closed.
|
|
37
|
+
def on_page_close(document = nil)
|
|
38
|
+
resolve_action(:PC, document)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# /PV — screen becomes visible.
|
|
42
|
+
def on_visible(document = nil)
|
|
43
|
+
resolve_action(:PV, document)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# /PI — screen becomes invisible.
|
|
47
|
+
def on_invisible(document = nil)
|
|
48
|
+
resolve_action(:PI, document)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
private
|
|
52
|
+
|
|
53
|
+
def resolve_action(key, document)
|
|
54
|
+
ref = value[key]
|
|
55
|
+
return nil unless ref && document
|
|
56
|
+
|
|
57
|
+
ref.is_a?(Pdfrb::Model::Reference) ? document.object(ref) : ref
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Pdfrb
|
|
4
|
+
module Model
|
|
5
|
+
module Type
|
|
6
|
+
# Additional Actions for widget annotations (s12.6.3.17, PDF 1.2).
|
|
7
|
+
# Mouse, focus, and page events on the widget's region.
|
|
8
|
+
class AddActionWidgetAnnotation < Pdfrb::Model::Cos::Dictionary
|
|
9
|
+
arlington_object "AddActionWidgetAnnotation"
|
|
10
|
+
|
|
11
|
+
# /E — cursor enters the widget's region.
|
|
12
|
+
def on_cursor_enter(document = nil)
|
|
13
|
+
resolve_action(:E, document)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# /X — cursor exits the widget's region.
|
|
17
|
+
def on_cursor_exit(document = nil)
|
|
18
|
+
resolve_action(:X, document)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# /D — mouse button pressed inside.
|
|
22
|
+
def on_mouse_down(document = nil)
|
|
23
|
+
resolve_action(:D, document)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# /U — mouse button released inside.
|
|
27
|
+
def on_mouse_up(document = nil)
|
|
28
|
+
resolve_action(:U, document)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# /Fo — widget receives input focus.
|
|
32
|
+
def on_focus(document = nil)
|
|
33
|
+
resolve_action(:Fo, document)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# /Bl — widget loses input focus.
|
|
37
|
+
def on_blur(document = nil)
|
|
38
|
+
resolve_action(:Bl, document)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# /PO — page containing the widget is opened.
|
|
42
|
+
def on_page_open(document = nil)
|
|
43
|
+
resolve_action(:PO, document)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# /PC — page containing the widget is closed.
|
|
47
|
+
def on_page_close(document = nil)
|
|
48
|
+
resolve_action(:PC, document)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# /PV — widget becomes visible.
|
|
52
|
+
def on_visible(document = nil)
|
|
53
|
+
resolve_action(:PV, document)
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# /PI — widget becomes invisible.
|
|
57
|
+
def on_invisible(document = nil)
|
|
58
|
+
resolve_action(:PI, document)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
private
|
|
62
|
+
|
|
63
|
+
def resolve_action(key, document)
|
|
64
|
+
ref = value[key]
|
|
65
|
+
return nil unless ref && document
|
|
66
|
+
|
|
67
|
+
ref.is_a?(Pdfrb::Model::Reference) ? document.object(ref) : ref
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
end
|
|
@@ -6,7 +6,7 @@ module Pdfrb
|
|
|
6
6
|
# AppearanceTrapNet sub-dictionary (s7.7.3.3, Table 327). Per-
|
|
7
7
|
# appearance-stream trap-net (ink-flattening) parameters.
|
|
8
8
|
class AppearanceTrapNetSubDict < Pdfrb::Model::Cos::Dictionary
|
|
9
|
-
arlington_object "
|
|
9
|
+
arlington_object "AppearanceTrapNetSubDict"
|
|
10
10
|
def pos_h; self[:PosH]; end
|
|
11
11
|
def pos_l; self[:PosL]; end
|
|
12
12
|
def span_h_min; self[:SpanH]; end
|
|
@@ -19,8 +19,13 @@ module Pdfrb
|
|
|
19
19
|
end
|
|
20
20
|
|
|
21
21
|
# AppearanceTrapNet (s7.7.3.3). The trap-net dictionary that wraps
|
|
22
|
-
# appearance sub-dicts.
|
|
22
|
+
# appearance sub-dicts (/N, /R, /D).
|
|
23
23
|
class AppearanceTrapNet < Pdfrb::Model::Cos::Dictionary
|
|
24
|
+
arlington_object "AppearanceTrapNet"
|
|
25
|
+
def normal; self[:N]; end
|
|
26
|
+
def rollover; self[:R]; end
|
|
27
|
+
def down; self[:D]; end
|
|
28
|
+
|
|
24
29
|
def type; self[:Type]; end
|
|
25
30
|
def version; self[:Version]; end
|
|
26
31
|
def font_state_appearance; self[:FontStateAppearance]; end
|
|
@@ -41,6 +46,7 @@ module Pdfrb
|
|
|
41
46
|
# AppearanceSubDict (s12.5.4). Sub-dictionary inside Appearance
|
|
42
47
|
# entries /N, /R, /D that maps each appearance state to a stream.
|
|
43
48
|
class AppearanceSubDict < Pdfrb::Model::Cos::Dictionary
|
|
49
|
+
arlington_object "AppearanceSubDict"
|
|
44
50
|
def each_state(&block)
|
|
45
51
|
return enum_for(:each_state) unless block
|
|
46
52
|
|
|
@@ -64,22 +70,6 @@ module Pdfrb
|
|
|
64
70
|
!!app_build
|
|
65
71
|
end
|
|
66
72
|
end
|
|
67
|
-
|
|
68
|
-
# Annotation Projection dict (s12.5.6.21). Projection annotation
|
|
69
|
-
# for spatial content.
|
|
70
|
-
class AnnotationProjectionDict < Pdfrb::Model::Cos::Dictionary
|
|
71
|
-
def ex_data; self[:ExData]; end
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
# ExData Projection dict (s12.5.6.21, Table 198). Holds the
|
|
75
|
-
# geospatial projection details used by Projection annotations.
|
|
76
|
-
class ExDataProjection < Pdfrb::Model::Cos::Dictionary
|
|
77
|
-
def type; self[:Type]; end
|
|
78
|
-
|
|
79
|
-
def project?
|
|
80
|
-
type == :ProjectedPDL
|
|
81
|
-
end
|
|
82
|
-
end
|
|
83
73
|
end
|
|
84
74
|
end
|
|
85
75
|
end
|
|
@@ -7,6 +7,7 @@ module Pdfrb
|
|
|
7
7
|
# collection of embedded files with a presentation schema. Lives
|
|
8
8
|
# on Catalog /Collection.
|
|
9
9
|
class Collection < Pdfrb::Model::Cos::Dictionary
|
|
10
|
+
arlington_object "Collection"
|
|
10
11
|
def schema; self[:Schema]; end
|
|
11
12
|
def default_view; self[:View]; end
|
|
12
13
|
def sort; self[:Sort]; end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Pdfrb
|
|
4
|
+
module Model
|
|
5
|
+
module Type
|
|
6
|
+
# Collection colors (s7.11.5, PDF 1.7 Adobe extension level 3).
|
|
7
|
+
# UI color scheme for the portfolio view; each value is a 0..1 RGB
|
|
8
|
+
# or Gray component array.
|
|
9
|
+
class CollectionColors < Pdfrb::Model::Cos::Dictionary
|
|
10
|
+
arlington_object "CollectionColors"
|
|
11
|
+
|
|
12
|
+
def background; self[:Background]; end
|
|
13
|
+
def card_background; self[:CardBackground]; end
|
|
14
|
+
def card_border; self[:CardBorder]; end
|
|
15
|
+
def primary_text; self[:PrimaryText]; end
|
|
16
|
+
def secondary_text; self[:SecondaryText]; end
|
|
17
|
+
|
|
18
|
+
def gray_background?
|
|
19
|
+
components(background) == 1
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def rgb_background?
|
|
23
|
+
components(background) == 3
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
private
|
|
27
|
+
|
|
28
|
+
def components(color)
|
|
29
|
+
return 0 if color.nil?
|
|
30
|
+
|
|
31
|
+
color.is_a?(Pdfrb::Model::PdfArray) ? color.to_a.size : 0
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Pdfrb
|
|
4
|
+
module Model
|
|
5
|
+
module Type
|
|
6
|
+
# Collection folder (s7.11.5, PDF 1.7 Adobe extension level 3).
|
|
7
|
+
# A folder node in the portfolio's folder hierarchy.
|
|
8
|
+
class CollectionFolder < Pdfrb::Model::Cos::Dictionary
|
|
9
|
+
arlington_object "CollectionFolder"
|
|
10
|
+
|
|
11
|
+
def id; self[:ID]; end
|
|
12
|
+
def name; self[:Name]; end
|
|
13
|
+
def parent; self[:Parent]; end
|
|
14
|
+
def child; self[:Child]; end
|
|
15
|
+
def next_folder; self[:Next]; end
|
|
16
|
+
def collection_item; self[:CI]; end
|
|
17
|
+
def description; self[:Desc]; end
|
|
18
|
+
def creation_date; self[:CreationDate]; end
|
|
19
|
+
def modified_date; self[:ModDate]; end
|
|
20
|
+
def thumbnail; self[:Thumb]; end
|
|
21
|
+
def free; self[:Free]; end
|
|
22
|
+
|
|
23
|
+
def root_folder?
|
|
24
|
+
parent.nil?
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def has_children?
|
|
28
|
+
!child.nil?
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -6,6 +6,7 @@ module Pdfrb
|
|
|
6
6
|
# Collection item (s7.11.5). Per-embedded-file values for the
|
|
7
7
|
# schema fields.
|
|
8
8
|
class CollectionItem < Pdfrb::Model::Cos::Dictionary
|
|
9
|
+
arlington_object "CollectionItem"
|
|
9
10
|
def value_for(field_name)
|
|
10
11
|
self[field_name.to_sym] || self[field_name.to_s]
|
|
11
12
|
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Pdfrb
|
|
4
|
+
module Model
|
|
5
|
+
module Type
|
|
6
|
+
# Collection split (s7.11.5, PDF 1.7 Adobe extension level 3).
|
|
7
|
+
# Where the portfolio view places the split between panels.
|
|
8
|
+
class CollectionSplit < Pdfrb::Model::Cos::Dictionary
|
|
9
|
+
arlington_object "CollectionSplit"
|
|
10
|
+
|
|
11
|
+
def direction; self[:Direction]; end
|
|
12
|
+
def position; self[:Position]; end
|
|
13
|
+
|
|
14
|
+
def vertical?
|
|
15
|
+
direction == :V
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def horizontal?
|
|
19
|
+
direction == :H
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Pdfrb
|
|
4
|
+
module Model
|
|
5
|
+
module Type
|
|
6
|
+
# Collection subitem (s7.11.5, PDF 1.7 Adobe extension level 3).
|
|
7
|
+
# Assigns one embedded file to a folder via the folder's /P path
|
|
8
|
+
# and the /D display value.
|
|
9
|
+
class CollectionSubitem < Pdfrb::Model::Cos::Dictionary
|
|
10
|
+
arlington_object "CollectionSubitem"
|
|
11
|
+
|
|
12
|
+
def display_value; self[:D]; end
|
|
13
|
+
def parent_folder_path; self[:P]; end
|
|
14
|
+
|
|
15
|
+
def numeric_display?
|
|
16
|
+
display_value.is_a?(Numeric)
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Pdfrb
|
|
4
|
+
module Model
|
|
5
|
+
module Type
|
|
6
|
+
# Movie annotation (s12.5.6.14). /Subtype /Movie. Plays a Movie
|
|
7
|
+
# when activated.
|
|
8
|
+
class MovieAnnotation < Annotation
|
|
9
|
+
arlington_object "AnnotMovie"
|
|
10
|
+
|
|
11
|
+
def movie; self[:Movie]; end
|
|
12
|
+
def action; self[:A]; end
|
|
13
|
+
def title; self[:T]; end
|
|
14
|
+
|
|
15
|
+
def has_movie?
|
|
16
|
+
!movie.nil?
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def uses_action?
|
|
20
|
+
!action.nil?
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Pdfrb
|
|
4
|
+
module Model
|
|
5
|
+
module Type
|
|
6
|
+
# Projection annotation (s12.5.6.19, PDF 1.7+AdobeExt). Projects
|
|
7
|
+
# a duplicate of a region of a page with a modified appearance.
|
|
8
|
+
class ProjectionAnnotation < MarkupAnnotation
|
|
9
|
+
arlington_object "AnnotProjection"
|
|
10
|
+
|
|
11
|
+
def title; self[:T]; end
|
|
12
|
+
def popup; self[:Popup]; end
|
|
13
|
+
def rich_contents; self[:RC]; end
|
|
14
|
+
def creation_date; self[:CreationDate]; end
|
|
15
|
+
def in_reply_to; self[:IRT]; end
|
|
16
|
+
def subject; self[:Subj]; end
|
|
17
|
+
def reply_type; self[:RT]; end
|
|
18
|
+
def intent; self[:IT]; end
|
|
19
|
+
def ex_data; self[:ExData]; end
|
|
20
|
+
|
|
21
|
+
def has_projection_data?
|
|
22
|
+
!ex_data.nil?
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# Annotation Projection dict (s12.5.6.21). Projection annotation
|
|
27
|
+
# for spatial content.
|
|
28
|
+
class AnnotationProjectionDict < Pdfrb::Model::Cos::Dictionary
|
|
29
|
+
def ex_data; self[:ExData]; end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# ExData Projection dict (s12.5.6.21, Table 198). Holds the
|
|
33
|
+
# geospatial projection details used by Projection annotations.
|
|
34
|
+
class ExDataProjection < Pdfrb::Model::Cos::Dictionary
|
|
35
|
+
def type; self[:Type]; end
|
|
36
|
+
|
|
37
|
+
def project?
|
|
38
|
+
type == :ProjectedPDL
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Pdfrb
|
|
4
|
+
module Model
|
|
5
|
+
module Type
|
|
6
|
+
# 3D annotation (s13.6.2, PDF 1.6+). /Subtype /3D. Hosts a 3D
|
|
7
|
+
# artwork stream, activation behaviour, and viewing state.
|
|
8
|
+
class ThreeDAnnotation < Annotation
|
|
9
|
+
arlington_object "Annot3D"
|
|
10
|
+
|
|
11
|
+
def artwork; self[:"3DD"]; end
|
|
12
|
+
def default_view; self[:"3DV"]; end
|
|
13
|
+
def activation; self[:"3DA"]; end
|
|
14
|
+
def interactive; self[:"3DI"]; end
|
|
15
|
+
def view_box; self[:"3DB"]; end
|
|
16
|
+
def units; self[:"3DU"]; end
|
|
17
|
+
def geometry; self[:GEO]; end
|
|
18
|
+
|
|
19
|
+
def interactive?
|
|
20
|
+
interactive == true
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def has_measure?
|
|
24
|
+
!geometry.nil?
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def default_view_name?
|
|
28
|
+
default_view.is_a?(Symbol) || default_view.is_a?(String)
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Pdfrb
|
|
4
|
+
module Model
|
|
5
|
+
module Type
|
|
6
|
+
# Trap network annotation (s14.11.5). Marks the extent of the
|
|
7
|
+
# trap network applied by a prepress system. Its appearance
|
|
8
|
+
# stream carries per-colorant trap parameters.
|
|
9
|
+
class TrapNetworkAnnotation < MarkupAnnotation
|
|
10
|
+
arlington_object "AnnotTrapNetwork"
|
|
11
|
+
|
|
12
|
+
def last_modified; self[:LastModified]; end
|
|
13
|
+
def version; self[:Version]; end
|
|
14
|
+
def annot_states; self[:AnnotStates]; end
|
|
15
|
+
def font_fauxing; self[:FontFauxing]; end
|
|
16
|
+
|
|
17
|
+
def annot_states?
|
|
18
|
+
!annot_states.nil?
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def fauxed_font_names
|
|
22
|
+
fonts = font_fauxing
|
|
23
|
+
fonts.is_a?(Pdfrb::Model::PdfArray) ? fonts.to_a : fonts
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
data/lib/pdfrb/model/type.rb
CHANGED
|
@@ -201,6 +201,10 @@ module Pdfrb
|
|
|
201
201
|
autoload :PrinterMarkSubDict, "pdfrb/model/type/transition"
|
|
202
202
|
autoload :ScreenAnnotation, "pdfrb/model/type/screen_annotation"
|
|
203
203
|
autoload :SoundAnnotation, "pdfrb/model/type/sound_annotation"
|
|
204
|
+
autoload :ThreeDAnnotation, "pdfrb/model/type/three_d_annotation"
|
|
205
|
+
autoload :MovieAnnotation, "pdfrb/model/type/movie_annotation"
|
|
206
|
+
autoload :ProjectionAnnotation, "pdfrb/model/type/projection_annotation"
|
|
207
|
+
autoload :TrapNetworkAnnotation, "pdfrb/model/type/trap_network_annotation"
|
|
204
208
|
|
|
205
209
|
# Rich Media annotation family (s13.6).
|
|
206
210
|
autoload :RichMediaAnnotation, "pdfrb/model/type/rich_media_annotation"
|
|
@@ -270,6 +274,7 @@ module Pdfrb
|
|
|
270
274
|
autoload :ActionGoTo3DView, "pdfrb/model/type/action_go_to_3d_view"
|
|
271
275
|
autoload :ActionGoToDp, "pdfrb/model/type/action_go_to_dp"
|
|
272
276
|
autoload :ActionRichMediaExecute, "pdfrb/model/type/action_rich_media_execute"
|
|
277
|
+
autoload :ActionGoToE, "pdfrb/model/type/action_go_to_e"
|
|
273
278
|
autoload :ActionNOP, "pdfrb/model/type/action_nop"
|
|
274
279
|
|
|
275
280
|
# Signature family (s12.8).
|
|
@@ -286,8 +291,8 @@ module Pdfrb
|
|
|
286
291
|
autoload :AppearanceSubDict, "pdfrb/model/type/appearance_trap_net"
|
|
287
292
|
autoload :MediaClip, "pdfrb/model/type/media_clip"
|
|
288
293
|
autoload :Rendition, "pdfrb/model/type/rendition"
|
|
289
|
-
autoload :ExDataProjection, "pdfrb/model/type/
|
|
290
|
-
autoload :AnnotationProjectionDict, "pdfrb/model/type/
|
|
294
|
+
autoload :ExDataProjection, "pdfrb/model/type/projection_annotation"
|
|
295
|
+
autoload :AnnotationProjectionDict, "pdfrb/model/type/projection_annotation"
|
|
291
296
|
|
|
292
297
|
# Media offset / player / screen types.
|
|
293
298
|
autoload :MediaOffsetTime, "pdfrb/model/type/media_offset"
|
|
@@ -332,6 +337,10 @@ module Pdfrb
|
|
|
332
337
|
autoload :CollectionSort, "pdfrb/model/type/collection_sort"
|
|
333
338
|
autoload :CollectionField, "pdfrb/model/type/collection_field"
|
|
334
339
|
autoload :CollectionItem, "pdfrb/model/type/collection_item"
|
|
340
|
+
autoload :CollectionColors, "pdfrb/model/type/collection_colors"
|
|
341
|
+
autoload :CollectionFolder, "pdfrb/model/type/collection_folder"
|
|
342
|
+
autoload :CollectionSplit, "pdfrb/model/type/collection_split"
|
|
343
|
+
autoload :CollectionSubitem, "pdfrb/model/type/collection_subitem"
|
|
335
344
|
|
|
336
345
|
# Signature transform parameters (s12.8.2).
|
|
337
346
|
autoload :MDPDict, "pdfrb/model/type/mdp_dict"
|
|
@@ -405,6 +414,12 @@ module Pdfrb
|
|
|
405
414
|
# Additional actions on page objects (s12.6.3.16).
|
|
406
415
|
autoload :AddActionPageObject, "pdfrb/model/type/add_action_page_object"
|
|
407
416
|
|
|
417
|
+
# Additional actions on form fields / screen + widget annotations
|
|
418
|
+
# (s12.6.3.17).
|
|
419
|
+
autoload :AddActionFormField, "pdfrb/model/type/add_action_form_field"
|
|
420
|
+
autoload :AddActionScreenAnnotation, "pdfrb/model/type/add_action_screen_annotation"
|
|
421
|
+
autoload :AddActionWidgetAnnotation, "pdfrb/model/type/add_action_widget_annotation"
|
|
422
|
+
|
|
408
423
|
# Border style (s12.5.4). BorderEffect lives in its own file.
|
|
409
424
|
autoload :BorderStyle, "pdfrb/model/type/border_style"
|
|
410
425
|
autoload :BorderEffect, "pdfrb/model/type/border_effect"
|
data/lib/pdfrb/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: pdfrb
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.7.
|
|
4
|
+
version: 0.7.24
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-08-
|
|
11
|
+
date: 2026-08-19 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: thor
|
|
@@ -956,6 +956,7 @@ files:
|
|
|
956
956
|
- lib/pdfrb/model/type/action.rb
|
|
957
957
|
- lib/pdfrb/model/type/action_go_to_3d_view.rb
|
|
958
958
|
- lib/pdfrb/model/type/action_go_to_dp.rb
|
|
959
|
+
- lib/pdfrb/model/type/action_go_to_e.rb
|
|
959
960
|
- lib/pdfrb/model/type/action_go_to_r.rb
|
|
960
961
|
- lib/pdfrb/model/type/action_goto.rb
|
|
961
962
|
- lib/pdfrb/model/type/action_hide.rb
|
|
@@ -977,7 +978,10 @@ files:
|
|
|
977
978
|
- lib/pdfrb/model/type/action_trans.rb
|
|
978
979
|
- lib/pdfrb/model/type/action_uri.rb
|
|
979
980
|
- lib/pdfrb/model/type/add_action_catalog.rb
|
|
981
|
+
- lib/pdfrb/model/type/add_action_form_field.rb
|
|
980
982
|
- lib/pdfrb/model/type/add_action_page_object.rb
|
|
983
|
+
- lib/pdfrb/model/type/add_action_screen_annotation.rb
|
|
984
|
+
- lib/pdfrb/model/type/add_action_widget_annotation.rb
|
|
981
985
|
- lib/pdfrb/model/type/af_embedded_file.rb
|
|
982
986
|
- lib/pdfrb/model/type/af_file_specification.rb
|
|
983
987
|
- lib/pdfrb/model/type/alternate_image.rb
|
|
@@ -1003,10 +1007,14 @@ files:
|
|
|
1003
1007
|
- lib/pdfrb/model/type/cid_system_info.rb
|
|
1004
1008
|
- lib/pdfrb/model/type/circle_annotation.rb
|
|
1005
1009
|
- lib/pdfrb/model/type/collection.rb
|
|
1010
|
+
- lib/pdfrb/model/type/collection_colors.rb
|
|
1006
1011
|
- lib/pdfrb/model/type/collection_field.rb
|
|
1012
|
+
- lib/pdfrb/model/type/collection_folder.rb
|
|
1007
1013
|
- lib/pdfrb/model/type/collection_item.rb
|
|
1008
1014
|
- lib/pdfrb/model/type/collection_schema.rb
|
|
1009
1015
|
- lib/pdfrb/model/type/collection_sort.rb
|
|
1016
|
+
- lib/pdfrb/model/type/collection_split.rb
|
|
1017
|
+
- lib/pdfrb/model/type/collection_subitem.rb
|
|
1010
1018
|
- lib/pdfrb/model/type/crypt_filter.rb
|
|
1011
1019
|
- lib/pdfrb/model/type/d_part.rb
|
|
1012
1020
|
- lib/pdfrb/model/type/device_n.rb
|
|
@@ -1079,6 +1087,7 @@ files:
|
|
|
1079
1087
|
- lib/pdfrb/model/type/metadata.rb
|
|
1080
1088
|
- lib/pdfrb/model/type/misc_helpers.rb
|
|
1081
1089
|
- lib/pdfrb/model/type/movie.rb
|
|
1090
|
+
- lib/pdfrb/model/type/movie_annotation.rb
|
|
1082
1091
|
- lib/pdfrb/model/type/names.rb
|
|
1083
1092
|
- lib/pdfrb/model/type/namespace.rb
|
|
1084
1093
|
- lib/pdfrb/model/type/object_reference.rb
|
|
@@ -1105,6 +1114,7 @@ files:
|
|
|
1105
1114
|
- lib/pdfrb/model/type/polyline_annotation.rb
|
|
1106
1115
|
- lib/pdfrb/model/type/popup_annotation.rb
|
|
1107
1116
|
- lib/pdfrb/model/type/printer_mark_annotation.rb
|
|
1117
|
+
- lib/pdfrb/model/type/projection_annotation.rb
|
|
1108
1118
|
- lib/pdfrb/model/type/redact_annotation.rb
|
|
1109
1119
|
- lib/pdfrb/model/type/rendition.rb
|
|
1110
1120
|
- lib/pdfrb/model/type/resources.rb
|
|
@@ -1146,6 +1156,7 @@ files:
|
|
|
1146
1156
|
- lib/pdfrb/model/type/thread.rb
|
|
1147
1157
|
- lib/pdfrb/model/type/three_d_activation.rb
|
|
1148
1158
|
- lib/pdfrb/model/type/three_d_animation_style.rb
|
|
1159
|
+
- lib/pdfrb/model/type/three_d_annotation.rb
|
|
1149
1160
|
- lib/pdfrb/model/type/three_d_background.rb
|
|
1150
1161
|
- lib/pdfrb/model/type/three_d_cross_section.rb
|
|
1151
1162
|
- lib/pdfrb/model/type/three_d_lighting_scheme.rb
|
|
@@ -1165,6 +1176,7 @@ files:
|
|
|
1165
1176
|
- lib/pdfrb/model/type/timespan.rb
|
|
1166
1177
|
- lib/pdfrb/model/type/to_unicode_cmap_stream.rb
|
|
1167
1178
|
- lib/pdfrb/model/type/transition.rb
|
|
1179
|
+
- lib/pdfrb/model/type/trap_network_annotation.rb
|
|
1168
1180
|
- lib/pdfrb/model/type/trap_region.rb
|
|
1169
1181
|
- lib/pdfrb/model/type/underline_annotation.rb
|
|
1170
1182
|
- lib/pdfrb/model/type/ur_transform_parameters.rb
|