2

Docsplit用来分割pdf成页面使用

Docsplit.extract_pages("my.pdf").

但我想将页数限制为 4。我试过了

Docsplit.extract_pages("my.pdf", :pages => 1..4) 

这是行不通的..

谁能建议我该怎么做

4

1 回答 1

1
  1. 如果尚未完成,请在您的机器上安装pdftk并相应地设置您的路径
  2. 从 lib/docscript/page_extractor.rb:18 文件中删除 ESCAPE,如下所示:

    pdftk #{ESCAPE[pdf]} 突发输出 #{ESCAPE[page_path]} 2>&1"

改成 :

pdftk #{pdf} burst output #{page_path} 2>&1"
  1. 默认情况下,gem 会忽略您提供的页面范围,它会为每页创建一个 pdf 文件。如果您对此感到满意,那么将在与输入文件相同的文件夹中创建输出页面。

但是,恕我直言,最简单的解决方案是直接使用 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 可执行文件在您的 PATH 中,则此方法有效

于 2013-05-28T13:10:29.617 回答