combine_pdf 0.1.3 → 0.1.4
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/combine_pdf/combine_pdf_pdf.rb +20 -6
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b732c13238534158bddb82ff89b5c0d14fdccdd2
|
4
|
+
data.tar.gz: 45ef6b52039c289ba1f71cce445c245d42c01bc1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0ac937aea55ebc4f5be4cb9a2a7c9fadd45cc4e3dd01ff86749486541e1056787e89795fd514f031036e4156d4c7807101e82d0b88c64d00b813966211f97b15
|
7
|
+
data.tar.gz: 1b89918e8c4e79e005dcd1961f8f89fcb89565ed95b57e429a7fb82a1cbabe009665d3396a54db0c6e38ced2b9dc72c720157348404b4a791d374bfae5669353
|
@@ -137,7 +137,10 @@ module CombinePDF
|
|
137
137
|
if @need_to_rebuild_resources
|
138
138
|
rebuild_resources
|
139
139
|
end
|
140
|
-
|
140
|
+
#rebuild_catalog
|
141
|
+
catalog = rebuild_catalog_and_objects
|
142
|
+
# add ID and generation numbers to objects
|
143
|
+
renumber_object_ids
|
141
144
|
|
142
145
|
warn "Formatting PDF output"
|
143
146
|
|
@@ -340,6 +343,22 @@ module CombinePDF
|
|
340
343
|
pages_array
|
341
344
|
end
|
342
345
|
|
346
|
+
# removes a PDF page from the file and the catalog
|
347
|
+
#
|
348
|
+
# returns the removed page.
|
349
|
+
#
|
350
|
+
# returns nil if failed or if out of bounds.
|
351
|
+
#
|
352
|
+
# page_index:: the page's index in the zero (0) based page array. negative numbers represent a count backwards (-1 being the end of the page array and 0 being the begining).
|
353
|
+
def remove(page_index)
|
354
|
+
catalog = rebuild_catalog
|
355
|
+
pages_array = catalog[:Pages][:referenced_object][:Kids]
|
356
|
+
removed_page = pages_array.delete_at page_index
|
357
|
+
catalog[:Pages][:referenced_object][:Count] = pages_array.length
|
358
|
+
removed_page
|
359
|
+
end
|
360
|
+
|
361
|
+
|
343
362
|
# add page numbers to the PDF
|
344
363
|
#
|
345
364
|
# For unicode text, a unicode font(s) must first be registered. the registered font(s) must supply the
|
@@ -545,7 +564,6 @@ module CombinePDF
|
|
545
564
|
end
|
546
565
|
# @private
|
547
566
|
def renumber_object_ids(start = nil)
|
548
|
-
warn "Resetting Object Reference IDs"
|
549
567
|
@set_start_id = start || @set_start_id
|
550
568
|
start = @set_start_id
|
551
569
|
history = {}
|
@@ -553,7 +571,6 @@ module CombinePDF
|
|
553
571
|
obj[:indirect_reference_id] = start
|
554
572
|
start += 1
|
555
573
|
end
|
556
|
-
warn "Finished serializing IDs"
|
557
574
|
end
|
558
575
|
|
559
576
|
# @private
|
@@ -588,8 +605,6 @@ module CombinePDF
|
|
588
605
|
|
589
606
|
# @private
|
590
607
|
def rebuild_catalog(*with_pages)
|
591
|
-
warn "Re-Building Catalog"
|
592
|
-
|
593
608
|
# # build page list v.1 Slow but WORKS
|
594
609
|
# # Benchmark testing value: 26.708394
|
595
610
|
# old_catalogs = @objects.select {|obj| obj.is_a?(Hash) && obj[:Type] == :Catalog}
|
@@ -635,7 +650,6 @@ module CombinePDF
|
|
635
650
|
@objects = []
|
636
651
|
@objects << catalog
|
637
652
|
add_referenced catalog
|
638
|
-
renumber_object_ids
|
639
653
|
catalog
|
640
654
|
end
|
641
655
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: combine_pdf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Boaz Segev
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-09-
|
12
|
+
date: 2014-09-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: ruby-rc4
|