lib/hexapdf/cli/command.rb in hexapdf-0.18.0 vs lib/hexapdf/cli/command.rb in hexapdf-0.19.0
- old
+ new
@@ -64,10 +64,11 @@
@out_options.compress_pages = false
@out_options.object_streams = :preserve
@out_options.xref_streams = :preserve
@out_options.streams = :preserve
@out_options.optimize_fonts = false
+ @out_options.prune_page_resources = false
@out_options.encryption = :preserve
@out_options.enc_user_pwd = @out_options.enc_owner_pwd = nil
@out_options.enc_key_length = 128
@out_options.enc_algorithm = :aes
@@ -167,10 +168,14 @@
end
options.on("--[no-]compress-pages", "Recompress page content streams (may take a long " \
"time; default: #{@out_options.compress_pages})") do |c|
@out_options.compress_pages = c
end
+ options.on("--[no-]prune-page-resources", "Prunes unused objects from the page resources " \
+ "(may take a long time; default: #{@out_options.prune_page_resources})") do |c|
+ @out_options.prune_page_resources = c
+ end
options.on("--[no-]optimize-fonts", "Optimize embedded font files; " \
"default: #{@out_options.optimize_fonts})") do |o|
@out_options.optimize_fonts = o
end
end
@@ -234,10 +239,11 @@
# See: #define_optimization_options
def apply_optimization_options(doc)
doc.task(:optimize, compact: @out_options.compact,
object_streams: @out_options.object_streams,
xref_streams: @out_options.xref_streams,
- compress_pages: @out_options.compress_pages)
+ compress_pages: @out_options.compress_pages,
+ prune_page_resources: @out_options.prune_page_resources)
if @out_options.streams != :preserve || @out_options.optimize_fonts
doc.each(only_current: false) do |obj|
optimize_stream(obj)
optimize_font(obj)
end