我正在使用

Docsplit.extract_pages("my.pdf").

但我想把页数限制在4页。我试过了
Docsplit.extract_pages("my.pdf", :pages => 1..4)

这不起作用。。
有人能建议我怎么做吗

最佳答案

如果尚未安装,请在计算机中安装pdftk,并相应地设置路径
从lib/docscript/page_extractor.rb:18文件中删除转义,如下所示:
pdftk{ESCAPE[pdf]}突发输出{ESCAPE[page_path]}2>&1“
更改为:

pdftk #{pdf} burst output #{page_path} 2>&1"

默认情况下,gem会忽略您给出的页面范围,并且它将为每页创建一个pdf文件。如果您对此感到满意,那么输出页面将创建在与输入文件相同的文件夹中。
不过,IMHO最简单的解决方案是直接使用pdftk二进制文件,这非常简单:要提取第1-4页,可以使用以下代码片段:
in_file = 'IN.pdf'
range = 1..4
range_s = range.to_s.gsub('..', '-')
cmd = "pdftk.exe #{in_file} cat #{range_s} output pages#{range_s}.pdf"
res = `cmd`.chomp

如果pdftk可执行文件位于您的路径中,则此操作有效。

关于ruby - Ruby +如何将pdf分成单独的页面?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16234051/

10-11 13:11