Include it in your Gemfile, make sure to set the version to the Ubuntu release you'll be using it on.
# For Ubuntu 20.04
gem 'pdfdetach', '0.20.3'
List files attached to a PDF
pdfdetach = PDFDetach.new('path/to/pdf_with_attachments.pdf')
files = pdfdetach.list
Save all attached files
pdfdetach = PDFDetach.new('path/to/pdf_with_attachments.pdf')
pdfdetach.saveall(output: 'path/to/output')
You can override the bundled binary with a the binary installed in your system via an initializer
if ENV.fetch('PDFDETACH_PATH', '').present?
PDFDetach.configure do |config|
config.binary_path = ENV.fetch('PDFDETACH_PATH')
end
end
Just make sure the environment variable PDFDETACH_PATH
is the full path to your local binary. If you're using dotenv you could so something like this:
PDFDETACH_PATH=$(which pdfdetach)
If you need to target some other environment, please refer to the build instructions
This gem is available as open source under the terms of the GNU General Public License
Poppler is licensed under the GNU General Public License v2