Ruby +如何将pdf拆分成单独的页面?

时间:2013-04-26 10:17:35

标签: ruby

我正在使用Docsplitpdf分割为使用

的网页
Docsplit.extract_pages("my.pdf").

但我想将页面限制为4.我试过

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

无法正常工作..

任何人都可以建议我做什么

1 个答案:

答案 0 :(得分:0)

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

    pdftk#{ESCAPE [pdf]}连拍输出#{ESCAPE [page_path]} 2>& 1“

  3. 更改为:

    pdftk #{pdf} burst output #{page_path} 2>&1"
    
    1. 默认情况下,gem会忽略您提供的页面范围,并且每页将创建一个pdf文件。如果您对此感到满意,那么输出页面将在与输入文件相同的文件夹中创建。
    2. 然而,最简单的解决方案是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可执行文件位于PATH

      中,则此方法有效