pdfrb 0.8.4 → 0.8.5
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/annotation/base.rb +2 -2
- data/lib/pdfrb/appearance/generator.rb +1 -1
- data/lib/pdfrb/cli/images.rb +1 -1
- data/lib/pdfrb/cli.rb +3 -3
- data/lib/pdfrb/color/default_profile.rb +1 -1
- data/lib/pdfrb/conformance/ltv.rb +1 -1
- data/lib/pdfrb/conformance/pades.rb +4 -4
- data/lib/pdfrb/conformance/pdf_2_af.rb +2 -2
- data/lib/pdfrb/conformance/pdf_a.rb +1 -1
- data/lib/pdfrb/conformance/pdf_x.rb +3 -3
- data/lib/pdfrb/conformance/tagged_pdf.rb +1 -1
- data/lib/pdfrb/content/canvas.rb +1 -1
- data/lib/pdfrb/content/hidden_text_detector.rb +1 -1
- data/lib/pdfrb/content/shading/base.rb +1 -1
- data/lib/pdfrb/content/tiling_pattern.rb +1 -1
- data/lib/pdfrb/digital_signature/signing.rb +2 -2
- data/lib/pdfrb/document/annotations.rb +10 -10
- data/lib/pdfrb/document/associated_files.rb +2 -2
- data/lib/pdfrb/document/colors.rb +1 -1
- data/lib/pdfrb/document/destinations.rb +4 -4
- data/lib/pdfrb/document/encryption.rb +1 -1
- data/lib/pdfrb/document/files.rb +5 -5
- data/lib/pdfrb/document/fonts/subsetting.rb +87 -0
- data/lib/pdfrb/document/fonts.rb +10 -80
- data/lib/pdfrb/document/form.rb +9 -9
- data/lib/pdfrb/document/form_xobject.rb +1 -1
- data/lib/pdfrb/document/graphics_state.rb +1 -1
- data/lib/pdfrb/document/images.rb +1 -6
- data/lib/pdfrb/document/info.rb +1 -1
- data/lib/pdfrb/document/layers.rb +1 -1
- data/lib/pdfrb/document/metadata.rb +1 -1
- data/lib/pdfrb/document/outline.rb +8 -8
- data/lib/pdfrb/document/output_intents.rb +3 -3
- data/lib/pdfrb/document/pages.rb +19 -8
- data/lib/pdfrb/document/pdf_a.rb +1 -1
- data/lib/pdfrb/document/portfolio.rb +3 -3
- data/lib/pdfrb/document/shadings.rb +2 -9
- data/lib/pdfrb/document/stamps.rb +2 -2
- data/lib/pdfrb/document/structure.rb +9 -9
- data/lib/pdfrb/document.rb +9 -2
- data/lib/pdfrb/encryption/security_handler.rb +1 -2
- data/lib/pdfrb/font/cff/subsetter.rb +0 -0
- data/lib/pdfrb/font/sfnt.rb +73 -0
- data/lib/pdfrb/font/true_type/subsetter.rb +1 -57
- data/lib/pdfrb/font/true_type/wrapper.rb +3 -3
- data/lib/pdfrb/font.rb +1 -0
- data/lib/pdfrb/font_loader/true_type.rb +2 -2
- data/lib/pdfrb/font_loader/type3.rb +1 -1
- data/lib/pdfrb/importer.rb +3 -3
- data/lib/pdfrb/linearization/writer.rb +1 -1
- data/lib/pdfrb/model/object.rb +7 -0
- data/lib/pdfrb/model/type/action_hide.rb +1 -1
- data/lib/pdfrb/model/type/action_sound.rb +2 -2
- data/lib/pdfrb/model/type/add_action_catalog.rb +1 -1
- data/lib/pdfrb/model/type/add_action_form_field.rb +1 -1
- data/lib/pdfrb/model/type/add_action_page_object.rb +1 -1
- data/lib/pdfrb/model/type/add_action_screen_annotation.rb +1 -1
- data/lib/pdfrb/model/type/add_action_widget_annotation.rb +1 -1
- data/lib/pdfrb/model/type/alternate_image.rb +2 -2
- data/lib/pdfrb/model/type/bead.rb +4 -4
- data/lib/pdfrb/model/type/catalog.rb +1 -1
- data/lib/pdfrb/model/type/d_part.rb +4 -4
- data/lib/pdfrb/model/type/document_security_store.rb +1 -1
- data/lib/pdfrb/model/type/dss.rb +1 -1
- data/lib/pdfrb/model/type/function_stitching.rb +1 -1
- data/lib/pdfrb/model/type/generic_appearance.rb +1 -1
- data/lib/pdfrb/model/type/opt_content_ext.rb +2 -2
- data/lib/pdfrb/model/type/optional_content_membership.rb +2 -2
- data/lib/pdfrb/model/type/page.rb +5 -7
- data/lib/pdfrb/model/type/page_tree_node.rb +2 -2
- data/lib/pdfrb/model/type/rich_media_configuration.rb +1 -1
- data/lib/pdfrb/model/type/struct_elem.rb +2 -2
- data/lib/pdfrb/model/type/struct_tree_root.rb +2 -2
- data/lib/pdfrb/model/type/thread.rb +3 -3
- data/lib/pdfrb/model/type/three_d_stream.rb +1 -1
- data/lib/pdfrb/model/type/viewport.rb +1 -1
- data/lib/pdfrb/model/type/vri.rb +1 -1
- data/lib/pdfrb/model/type/web_capture_command.rb +1 -1
- data/lib/pdfrb/model/type/web_capture_image_set.rb +1 -1
- data/lib/pdfrb/model/type/web_capture_page_set.rb +2 -2
- data/lib/pdfrb/task/extract_images.rb +1 -2
- data/lib/pdfrb/task/extract_text.rb +1 -1
- data/lib/pdfrb/task/merge.rb +3 -3
- data/lib/pdfrb/task/thumbnail.rb +1 -1
- data/lib/pdfrb/version.rb +1 -1
- data/lib/pdfrb/writer.rb +4 -5
- data/lib/pdfrb/xmp.rb +2 -2
- metadata +3 -1
|
@@ -36,7 +36,7 @@ module Pdfrb
|
|
|
36
36
|
ref = value[:S]
|
|
37
37
|
return nil unless ref && document
|
|
38
38
|
|
|
39
|
-
resolved =
|
|
39
|
+
resolved = document.resolve(ref)
|
|
40
40
|
return nil unless resolved
|
|
41
41
|
|
|
42
42
|
Pdfrb::Model::Type::WebCaptureCommandSettings.new(resolved.value)
|
|
@@ -32,7 +32,7 @@ module Pdfrb
|
|
|
32
32
|
|
|
33
33
|
arr = refs.is_a?(Pdfrb::Model::PdfArray) ? refs.value : refs
|
|
34
34
|
arr = [arr] unless arr.is_a?(::Array)
|
|
35
|
-
arr.filter_map { |r|
|
|
35
|
+
arr.filter_map { |r| document.resolve(r) }
|
|
36
36
|
end
|
|
37
37
|
|
|
38
38
|
# /CT — optional content type (RFC 2045).
|
|
@@ -31,7 +31,7 @@ module Pdfrb
|
|
|
31
31
|
|
|
32
32
|
arr = refs.is_a?(Pdfrb::Model::PdfArray) ? refs.value : refs
|
|
33
33
|
arr = [arr] unless arr.is_a?(::Array)
|
|
34
|
-
arr.filter_map { |r|
|
|
34
|
+
arr.filter_map { |r| document.resolve(r) }
|
|
35
35
|
end
|
|
36
36
|
|
|
37
37
|
# /CT — optional content type.
|
|
@@ -64,7 +64,7 @@ module Pdfrb
|
|
|
64
64
|
arr = refs.is_a?(Pdfrb::Model::PdfArray) ? refs.value : refs
|
|
65
65
|
arr = [arr] unless arr.is_a?(::Array)
|
|
66
66
|
arr.filter_map do |r|
|
|
67
|
-
resolved =
|
|
67
|
+
resolved = document.resolve(r)
|
|
68
68
|
next nil unless resolved && resolved.value.is_a?(::Hash)
|
|
69
69
|
|
|
70
70
|
Pdfrb::Model::Type::WebCaptureCommand.new(resolved.value)
|
|
@@ -15,8 +15,7 @@ module Pdfrb
|
|
|
15
15
|
document.pages.each_with_index do |page, idx|
|
|
16
16
|
xobjects = xobject_map(page, document)
|
|
17
17
|
xobjects&.each do |name, ref|
|
|
18
|
-
stream =
|
|
19
|
-
document.object(ref) : ref
|
|
18
|
+
stream = document.resolve(ref)
|
|
20
19
|
next unless stream.is_a?(Pdfrb::Model::Cos::Stream)
|
|
21
20
|
next unless stream.value[:Subtype] == :Image
|
|
22
21
|
|
|
@@ -148,7 +148,7 @@ module Pdfrb
|
|
|
148
148
|
return nil unless fonts.is_a?(::Hash)
|
|
149
149
|
|
|
150
150
|
entry = fonts[name] || fonts[name.to_sym] || fonts[name.to_s]
|
|
151
|
-
|
|
151
|
+
@document.resolve(entry)
|
|
152
152
|
end
|
|
153
153
|
end
|
|
154
154
|
private_constant :FontResolver
|
data/lib/pdfrb/task/merge.rb
CHANGED
|
@@ -20,7 +20,7 @@ module Pdfrb
|
|
|
20
20
|
new_value[:Parent] = parent_ref(target)
|
|
21
21
|
new_page = target.add(new_value, type: Pdfrb::Model::Type::Page)
|
|
22
22
|
kids = pages_root(target).value[:Kids]
|
|
23
|
-
kids <<
|
|
23
|
+
kids << new_page.ref
|
|
24
24
|
pages_root(target).value[:Count] = (pages_root(target).value[:Count] || 0) + 1
|
|
25
25
|
end
|
|
26
26
|
end
|
|
@@ -30,7 +30,7 @@ module Pdfrb
|
|
|
30
30
|
ref = target.catalog.value[:Pages] || begin
|
|
31
31
|
root = target.add({ Type: :Pages, Kids: [], Count: 0 },
|
|
32
32
|
type: Pdfrb::Model::Type::PageTreeNode)
|
|
33
|
-
target.catalog.value[:Pages] =
|
|
33
|
+
target.catalog.value[:Pages] = root.ref
|
|
34
34
|
target.catalog.value[:Pages]
|
|
35
35
|
end
|
|
36
36
|
target.object(ref)
|
|
@@ -39,7 +39,7 @@ module Pdfrb
|
|
|
39
39
|
|
|
40
40
|
def parent_ref(target)
|
|
41
41
|
root = pages_root(target)
|
|
42
|
-
|
|
42
|
+
root.ref
|
|
43
43
|
end
|
|
44
44
|
private_class_method :parent_ref
|
|
45
45
|
end
|
data/lib/pdfrb/task/thumbnail.rb
CHANGED
data/lib/pdfrb/version.rb
CHANGED
data/lib/pdfrb/writer.rb
CHANGED
|
@@ -46,8 +46,7 @@ module Pdfrb
|
|
|
46
46
|
encrypt_ref = trailer[:Encrypt]
|
|
47
47
|
return {} unless encrypt_ref
|
|
48
48
|
|
|
49
|
-
encrypt_dict =
|
|
50
|
-
document.object(encrypt_ref) : encrypt_ref
|
|
49
|
+
encrypt_dict = document.resolve(encrypt_ref)
|
|
51
50
|
return {} unless encrypt_dict
|
|
52
51
|
|
|
53
52
|
handler = Pdfrb::Encryption::StandardSecurityHandler.new(
|
|
@@ -288,7 +287,7 @@ module Pdfrb
|
|
|
288
287
|
def write_trailer(xref_pos, prev: nil)
|
|
289
288
|
root = document.catalog
|
|
290
289
|
root_ref = root && root.is_a?(Pdfrb::Model::Object) && root.indirect? ?
|
|
291
|
-
|
|
290
|
+
root.ref : nil
|
|
292
291
|
size = [(@xref_offsets.keys.max || 0) + 1, document.next_oid || 1].max
|
|
293
292
|
|
|
294
293
|
existing = document.trailer || {}
|
|
@@ -334,7 +333,7 @@ module Pdfrb
|
|
|
334
333
|
return if inherited.nil?
|
|
335
334
|
|
|
336
335
|
Array(root.value[:Kids]).each do |kid_ref|
|
|
337
|
-
page =
|
|
336
|
+
page = document.resolve(kid_ref)
|
|
338
337
|
next unless page.is_a?(Pdfrb::Model::Cos::Dictionary)
|
|
339
338
|
next if page.value.key?(:Resources)
|
|
340
339
|
|
|
@@ -369,7 +368,7 @@ module Pdfrb
|
|
|
369
368
|
root = document.catalog
|
|
370
369
|
return nil unless root && root.indirect?
|
|
371
370
|
|
|
372
|
-
|
|
371
|
+
root.ref
|
|
373
372
|
end
|
|
374
373
|
|
|
375
374
|
def trailer_hash_for_stream
|
data/lib/pdfrb/xmp.rb
CHANGED
|
@@ -43,7 +43,7 @@ Pdfrb::Document.prepend(Module.new do
|
|
|
43
43
|
)
|
|
44
44
|
stream.stream = xmp_data
|
|
45
45
|
catalog.value[:Metadata] =
|
|
46
|
-
|
|
46
|
+
stream.ref
|
|
47
47
|
end
|
|
48
48
|
|
|
49
49
|
def sync_pdfa_metadata!
|
|
@@ -61,6 +61,6 @@ Pdfrb::Document.prepend(Module.new do
|
|
|
61
61
|
)
|
|
62
62
|
stream.stream = xmp_data
|
|
63
63
|
catalog.value[:Metadata] =
|
|
64
|
-
|
|
64
|
+
stream.ref
|
|
65
65
|
end
|
|
66
66
|
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.8.
|
|
4
|
+
version: 0.8.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Inc.
|
|
@@ -865,6 +865,7 @@ files:
|
|
|
865
865
|
- lib/pdfrb/document/encryption.rb
|
|
866
866
|
- lib/pdfrb/document/files.rb
|
|
867
867
|
- lib/pdfrb/document/fonts.rb
|
|
868
|
+
- lib/pdfrb/document/fonts/subsetting.rb
|
|
868
869
|
- lib/pdfrb/document/form.rb
|
|
869
870
|
- lib/pdfrb/document/form_xobject.rb
|
|
870
871
|
- lib/pdfrb/document/graphics_state.rb
|
|
@@ -924,6 +925,7 @@ files:
|
|
|
924
925
|
- lib/pdfrb/font/encoding/zapf_dingbats_encoding.rb
|
|
925
926
|
- lib/pdfrb/font/glyph_list.rb
|
|
926
927
|
- lib/pdfrb/font/metrics_helper.rb
|
|
928
|
+
- lib/pdfrb/font/sfnt.rb
|
|
927
929
|
- lib/pdfrb/font/true_type.rb
|
|
928
930
|
- lib/pdfrb/font/true_type/cmap.rb
|
|
929
931
|
- lib/pdfrb/font/true_type/file.rb
|