我的任务是将可搜索的PDF批量转换为仅图像的PDF。我发现我可以使用拳头pdf2ps(将PDF转换为PS)然后使用ps2pdf(将PS转换为PDF)使用Ghostscript。
我在Windows 10上安装了gs920w32.exe。
pdf2ps非常适合我:
pdf2ps "directory\input.pdf" "directory\output.ps"
但是ps2pdf什么都不做:
ps2pdf "directory\output.ps" "directory\output.pdf"
我还注意到,如果我执行没有参数的pdf2ps,我会得到
"Usage: pdf2ps [-dASCII85DecodePages=false] [-dLanguageLevel=n] input.pdf output.ps"
但如果我执行没有参数的ps2pfd,我也什么也得不到。
我做错了什么?
UPD:"仅限图像" PDF与" searchable"相同。 PDF但您无法在其中进行搜索,因此您也可以将其称为“不可搜索的”" PDF。
解: 我通过执行这个解决了我的问题:
gswin64c -o "directory\input.pdf" -dNoOutputFonts -sDEVICE=pdfwrite "directory\output.pdf"
答案 0 :(得分:0)
你做错的第一件事就是期望这种双重转换能够产生只包含图像的PDF文件,但它不会。相关的Ghostscript设备,ps2write和pdfwrite需要相当长的时间来保存矢量信息。关于唯一一次你肯定会在输入中输入的图像是输入PDF文件包含透明度时,因为它无法保存到PostScript中。
你做错的第二件事是使用脚本。它不是为你想要做的而设计的。请改用Ghostscript可执行文件并编写您自己需要的任何脚本。
由于您的(疯狂)任务是将PDF转换为图像,然后将其作为PDF包装回来,您将需要使用其中一个Ghostscript渲染设备为您渲染图像,然后使用一个视图* .ps文件,用于读取该图像并通过pdfwrite设备写入输出。
您不想使用JPEG,因为多个量化会严重影响图像质量。我建议使用RAW。
答案 1 :(得分:0)
我通过执行以下方法解决了我的问题: gswin64c -o“directory \ input.pdf”-dNoOutputFonts -sDEVICE = pdfwrite“directory \ output.pdf”