如何在 ruby 中将多页 pdf 文件拆分为多个 pdf 文件
How can I split Multipage pdf file into muliple pdf files in ruby
我想知道 ruby gem 中是否有任何脚本可以将多页 pdf 文件转换为每页单独的 pdf 文件 ruby。我试过 gems pdf-reader 和 prawn 但无法解决问题。我们将衷心感谢您的帮助。谢谢。
命令行实用程序 PDFtk 可以轻松做到这一点
pdftk source.pdf cat 1-10 output first10.pdf
pdftk source.pdf cat 10-end output rest.pdf
或
pdftk source.pdf burst
# By default, the output files are named pg_0001.pdf, pg_0002.pdf, etc.
像这样构建实用程序方法:
def split_pdf(source_file, dest_dir)
Dir.mkdir(dest_dir.to_s)
exec("pdftk #{source_file} burst output #{dest_dir}/p%02d.pdf")
Dir.entries(dest_dir.to_s)
.select { |e| e.ends_with?('.pdf') }
.map { |f| "#{dest_dir}/#{f} }
end
并这样称呼它:
source_file = Rails.root.join('public', 'source.pdf')
dest_dir = Rails.root.join('public', 'docs', doc_id)
page_files = split_pdf(source_file, dest_dir)
我想知道 ruby gem 中是否有任何脚本可以将多页 pdf 文件转换为每页单独的 pdf 文件 ruby。我试过 gems pdf-reader 和 prawn 但无法解决问题。我们将衷心感谢您的帮助。谢谢。
命令行实用程序 PDFtk 可以轻松做到这一点
pdftk source.pdf cat 1-10 output first10.pdf
pdftk source.pdf cat 10-end output rest.pdf
或
pdftk source.pdf burst
# By default, the output files are named pg_0001.pdf, pg_0002.pdf, etc.
像这样构建实用程序方法:
def split_pdf(source_file, dest_dir)
Dir.mkdir(dest_dir.to_s)
exec("pdftk #{source_file} burst output #{dest_dir}/p%02d.pdf")
Dir.entries(dest_dir.to_s)
.select { |e| e.ends_with?('.pdf') }
.map { |f| "#{dest_dir}/#{f} }
end
并这样称呼它:
source_file = Rails.root.join('public', 'source.pdf')
dest_dir = Rails.root.join('public', 'docs', doc_id)
page_files = split_pdf(source_file, dest_dir)