Optimizing a PDF File
This example shows how to read a PDF file, optimize it and write it out again.
The heavy work is done by the
:optimize task which allows control
over which aspects should be optimized. See HexaPDF::Task::Optimize
for detailed information.
The hexapdf binary provides an optimization command which does some additional operations like optimizing the page tree.
ruby optimizing.rb INPUT.PDF
require 'hexapdf' HexaPDF::Document.open(ARGV.shift) do |doc| doc.task(:optimize, compact: true, object_streams: :generate, compress_pages: false) doc.write('optimizing.pdf') end