如何使用命令行工具将单个pdf文件裁剪成单独的页面pdf?

时间:2011-02-28 07:19:12

标签: pdf

我有一个包含三个页面的单个pdf文件我需要将这个pdf变成三个单独的pdf页面是否有任何命令行工具或脚本来执行此操作。我正在尝试使用pdftk,pdfcrop和GS,但到目前为止还没有任何结果

示例:one.pdf有1页,该页面有3页one.pdf。我需要将此页面分成3个单独的页面

4 个答案:

答案 0 :(得分:2)

据我所知,您有三个并排拼接的pdf页面,构成一个pdf页面,您希望将任何页面分成单个pdf页面

如下: 3 pages into 1

podofobox (来自 podofoutils

  

用法: podofobox [inputfile] [outpufile] [box] [left] [bottom] [width] [height]

     

Box是媒体作物出血修剪艺术之一给出值* 100作为   整数(避免使用strtod的语言环境头痛)

可能是执行此任务的工具

获取输入pdf的mediabox信息(例如,使用 pdfinfo )。您需要知道输入pdf的大小(宽度和高度)(将三个页面并排拼接成一个)

在我的例子中,我们有一个3页并排的pdf

的宽度和高度为:

  

pdfinfo input.pdf | grep“页面大小”页面大小:1785 x 841 pts

这是一个3页并排的拼接3张A4尺寸的PDF页面

所以,为了获得构成 input.pdf 的任何单页的宽度,我们需要划分(已知高度= 841点 1785乘3 = 595

查看我绘制的网格<​​/ p>

grid

此时我们写了这个小小的班轮脚本

for i in `seq 0 59500 119000`; do  podofobox  input.pdf  $i-out.pdf media  $i 0 59500 84100; done

解释该脚本生成三个单页的pdf页面,从0开始,一直到1190点, 0 595 1190 ,是拼接在一起的任何单页的起点。值乘以100( podofobox 语法所需)

这是一个由3个A4页面并排拼接而成的pdf示例,如果您的页面具有不同的几何图形,则只需要除以3并修改脚本

答案 1 :(得分:1)

ImageMagick是我用于所有CLI图形的内容:

convert foo.pdf foo-%01d.pdf

这会生成三个单独的PDF文件:

foo-0.pdf
foo-1.pdf
foo-2.pdf

答案 2 :(得分:0)

尝试使用pdftk的'burst'选项。

example:
pdftk input.pdf burst

你也可以使用gs(ghostscript)imagemajickgraphicsmajick,我希望cups也可以这样做。

答案 3 :(得分:0)

您可以将burst选项与pdftk一起使用。从手册页...

突发

将单个输入PDF文档拆分为单个页面。还会创建名为doc_data.txt的报告,该报告与dump_data的输出相同。如果省略输出节,则PDF页面的名称为:pg_%04d.pdf,例如:pg_0001.pdf,pg_0002.pdf等。要自己命名这些页面,请在输出节中提供printf样式的格式字符串。例如,如果您想要名为page_01.pdf,page_02.pdf等的页面,请将输出page_%02d.pdf传递给pdftk。 加密可以通过附加诸如owner_pw之类的输出选项应用于输出,例如: pdftk in.pdf burst owner_pw foopass