我有一个 pdf 文件文件夹(约 1600 张图像)。我想将所有 .pdf 图像转换为 .png 图像。 我该怎么办?
我试过了:
找到。 -maxdepth 1 -type f -name '*.pdf' -exec pdftoppm -r 300 -png {} {};
但有如下错误:
Syntax Error: non-embedded font using identity encoding: Arial
Syntax Error: non-embedded font using identity encoding: Arial,Bold
Syntax Error: Can't get Fields array<0a>
Syntax Warning: Mismatch between font type and embedded font file
Syntax Error: Expected the optional content group list, but wasn't able to find it, or it isn't an Array
还有其他转换解决方案吗?
您可以使用 ImageMagick 创建当前目录中所有 PDF 的 PNG 版本,如下所示:
magick mogrify -density 300 -format PNG *.pdf
如果您希望输出文件位于名为
OUTPUT
的子目录中,请使用:
mkdir OUTPUT
magick mogrify -path OUTPUT -density 300 -format PNG *.pdf
由于您有 1600 个 PDF,您可能会考虑使用 GNU Parallel 为您并行处理它们:
parallel magick {} -density 300 {.}.png ::: *.pdf
您可以使用ImageMagick将png转换为pdf
convert input.pdf -density 300 -alpha remove output.png
这里:
-density 300
将 DPI 分辨率设置为 300-alpha remove
使得 PDF 文件无法透视(这个问题经常发生,但并非总是发生)你可以用它来做这样的事情
find . -maxdepth 1 -type f -name '*.pdf' -exec convert {} -density 300 -alpha remove {}.png \;
请注意,输出文件名将是
somefile.pdf.png
这样。
您可能在 MacOS 上使用 gs 命令工具
brew 安装 Ghostscript
找到。 -type f -name "*.pdf" -exec bash -c 'FILE="$1"; gs -dNOPAUSE -dBATCH -sDEVICE=png16m -r256 -sOutputFile="${FILE%.pdf}_page%03d.png" "${FILE}";' _ '{}' ;
谢谢。