我想创建一个脚本,以 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.pdf
pages example_01.pdf
, example_02.pdf
, ... 其中%02d
代表printf 样式的页码。
包中的工具pdftocairo
和工具可用于创建输入 pdf 文件的图像。pdftoppm
poppler-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
请检查这两个命令的手册页以获取更多选项。