ruby - 是否可以使用 Ruby 将一系列 PDF 合并为一个?

标签 ruby pdf

我有一系列按顺序命名的 PDF:

  • 01_foo.pdf
  • 02_bar.pdf
  • 03_baz.pdf
  • 等等

使用 Ruby,是否可以将它们组合成一个大 PDF,同时保持它们的顺序?我不介意安装任何必要的 gem 来完成这项工作。

如果这在 Ruby 中是不可能的,那么另一种语言呢?如果可能,不要使用商业组件。


更新: Jason Navarrete's suggestion导致完美的解决方案:

将需要合并的PDF文件与pdftk放在一个目录下(或确保 pdftk 在您的 PATH 中),然后运行以下脚本:

pdfs = Dir["[0-9][0-9]_*"].sort.join(" ")
`pdftk #{pdfs} output combined.pdf`

或者我什至可以在命令行中以单行方式完成:

ruby -e '`pdftk #{Dir["[0-9][0-9]_*"].sort.join(" ")} output combined.pdf`'

Jason 的好建议,完美的解决方案,谢谢。 给他投赞成票的人

最佳答案

A Ruby-Talk帖子建议使用 pdftk 用于合并 PDF 的工具包。

pdftk 作为外部进程调用并让它处理合并应该相对简单。 PDF::Writer 可能有点矫枉过正,因为您想要完成的只是一个简单的附加。

关于ruby - 是否可以使用 Ruby 将一系列 PDF 合并为一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/85459/

相关文章:

ruby-on-rails - RSpec——对象*应该*创建一次,而是为每个测试创建

linux - 将 PDF 文件中的数据读入 R

html - 将 PDF 转换为 HTML,保持布局

c# - 将 PDF 转换为图像 - 库或命令行 - 免费

ruby - Rspec 因自定义异常而失败

Rubygems 可选依赖项

java - 使用 itext 4 编辑 pdf 中的现有超链接

javascript - PDF.js 在 Firefox 中打开 pdf,但不能在 Chrome/Chromium 或扩展中打开

ruby - 如何使用 watir 在浏览器中显示文本文件的内容?

ruby - 从源代码安装 nginx-1.16.1 时 Chef::Exceptions::nginx 没有启动