如何创建一个脚本来截取给定 PDF 文件的所有页面的屏幕截图

如何创建一个脚本来截取给定 PDF 文件的所有页面的屏幕截图

我想创建一个脚本,以 PDF 文件作为输入,并以实际大小(100%)截取每个页面的屏幕截图。所以它看起来像这样:custom_pdfcapture example.PDF执行后,屏幕截图应位于example.PDF与其文件名遵循格式的同一目录中${name_of_pdf}_${page_number}.pdf。我应该研究什么包/命令来完成此任务?

答案1

pdfseparate该包的工具可以poppler-utils提取输入 pdf 文件的单页。

例子:

pdfseparate example.pdf example_%02d.pdf

分为example.pdfpages example_01.pdf, example_02.pdf, ... 其中%02d代表printf 样式的页码。


包中的工具pdftocairo和工具可用于创建输入 pdf 文件的图像。pdftoppmpoppler-utils

例子:

pdftocairo -r 300 -png example.pdf

pdftocairo -scale-to-x 800 -scale-to-y -1 -png example.pdf

这两个命令都将给定文档的所有页面渲染为名为example-01.png, example-02.png, ...的 PNG 图像。

第一个命令将 x 和 y 分辨率设置为 300 PPI(默认为 150 PPI),第二个命令将输出宽度设置为固定 800 像素 ( -scale-to-x 800),输出高度由宽高比 ( -scale-to-y -1) 确定。

您可以使用-jpeg-tiff代替-png生成 JPEG(请参阅-jpegopt更改 JPEG 压缩级别)或 TIFF 图像。

如果文档的 MediaBox 大于其 CropBox(Acrobat 将显示和打印的内容),请添加选项-cropbox

pdfinfo您可以检查包装中包含的盒子尺寸:

pdfinfo -box example.pdf

使用不同渲染后端的实用pdftoppm程序需要输出图像的前缀(此处example),输出类似:

pdftoppm -r 300 -png example.pdf example

请检查这两个命令的手册页以获取更多选项。

相关内容