Ruby - 使用pdftk将多页pdf拆分成许多单页pdf?

时间:2016-03-11 17:35:22

标签: ruby pdf pdftk

我尝试过使用名为docsplit的gem,除了错误之外什么都没有;即使在尝试文档示例时,它们也无法在我的Windows机器上运行。

我浏览了一篇博文,希望这可以在pdftk中完成: here

我有一个名为multi_page.pdf

的pdf

我需要将multi_page.pdf拆分为许多 单页 PDF,然后在名为destination的子目录中输出许多单页PDF p>

这是我所在的地方,它绝对不起作用

source_path = 'C:\Users\ALilland\Documents\split_test\one_page\destination'
source_file = 'C:\Users\ALilland\Documents\split_test\one_page\multi_page.pdf'
FileUtils.cd(source_path)
`pdftk #{source_file} burst output page_%02d.pdf`

2 个答案:

答案 0 :(得分:8)

您可以使用combine_pdf gem:

进行尝试
require 'combine_pdf'

pages = CombinePDF.load("my_pdf.pdf").pages;
i = 0
pages.each do |page|
   pdf = CombinePDF.new
   pdf << page
   pdf.save("#{i}.pdf")
   i+=1
end

combine_pdf gem(我是作者)是一个原生的Ruby解决方案,因此您不必担心pdftk的安装和要求。

答案 1 :(得分:0)

另一种解决方案是使用hexapdf

$ gem install hexapdf
$ hexapdf modify -i 1-10 input.pdf output.pdf

其中1-10是根据其docs进行的页面规范。它说“第1-10页”将出现在输出PDF中。