Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl 如何从PDF文件中提取页面?_Perl_Pdf - Fatal编程技术网

Perl 如何从PDF文件中提取页面?

Perl 如何从PDF文件中提取页面?,perl,pdf,Perl,Pdf,是否有任何Perl脚本可以从PDF文件获取页面并将其转换为另一个PDF文件? 在交互方面,有Acrobat的完整版本。在编程方面,有来自Adobe的解决方案和许多第三方解决方案。谷歌。在OSX上,您可以在预览中通过在缩略图视图中拖动页面来完成此操作。正如gnud已经回答的那样,这是完成此项工作的最佳工具。例如,要将第5-10页从test.pdf提取到out.pdf,您可以编写: pdftk test.pdf cat 5-10 output out.pdf 您要求使用Perl,因此这里有一个很好

是否有任何Perl脚本可以从PDF文件获取页面并将其转换为另一个PDF文件?


在交互方面,有Acrobat的完整版本。在编程方面,有来自Adobe的解决方案和许多第三方解决方案。谷歌。

在OSX上,您可以在预览中通过在缩略图视图中拖动页面来完成此操作。

正如gnud已经回答的那样,这是完成此项工作的最佳工具。例如,要将第5-10页从test.pdf提取到out.pdf,您可以编写:

pdftk test.pdf cat 5-10 output out.pdf

您要求使用Perl,因此这里有一个很好的解决方案。假设您只想将orig.pdf的第3-6页保存到new.pdf:

deletepdfpage.pl orig.pdf 1-2,7- new.pdf

安德烈亚斯给我的密码对我不起作用。如果在Windows上使用,则此公式适用于我:

pdftk source.pdf cat 123-128 output out.pdf dont_ask

Source显然是源pdf,123-128是要提取的页面间隔。pdf是新的pdf。

我相信实际的代码…此代码可能对您有用:

使用CAM::PDF

my$file_name=“abc.pdf”

my$pdf=CAM::pdf->new($file\u name); my$no_pages=$pdf->numPages()

对于(我的$i=1;$igetPageText($i); 打印“$page\n”; #你能读懂它吗?数组/等等…这里可以做操作
}

很抱歉,尽管我是CAM::PDF的作者,但我必须对这个答案投反对票。getPageText()几乎是解决这个问题最糟糕的方法。相反,请尝试CAM::PDF中的extractPages()方法或库中附带的deletepages.pl包装程序。
pdftk source.pdf cat 123-128 output out.pdf dont_ask