Ari*_*rik 3 pdf merge ghostscript
我怎样才能读取目录 d:\ 中包含的文件而batchscript不是像这样一个一个的文件。我已经尝试过以下方法:
@echo off
"C:\Program Files\gs\gs9.25\bin\gswin32c.exe" -sDEVICE=pdfwrite -dCompatibilityLevel=1.3 -dPDFSETTINGS=/printer -dColorImageResolution=90 -dAutoRotatePages=/None -dBATCH -dNOPAUSE -sOutputFile=d:\d\koran.pdf *d:\a\01.pdf d:\a\02.pdf d:\a\03.pdf d:\a\04.pdf d:\a\05.pdf d:\a\06.pdf d:\a\07.pdf d:\a\08.pdf d:\a\09.pdf d:\a\10.pdf d:\a\11.pdf d:\a\12.pdf d:\a\13.pdf d:\a\14.pdf d:\a\15.pdf d:\a\16.pdf d:\a\17.pdf d:\a\18.pdf d:\a\19.pdf d:\a\20.pdf d:\a\21.pdf d:\a\22.pdf d:\a\23.pdf d:\a\24.pdf*
exit
Run Code Online (Sandbox Code Playgroud)
Ghostscript 不会“合并”PDF 文件。它通过解释输入的内容来创建新的 PDF 文件,这不是一回事。您应该阅读此处的文档
您还没有说出您尝试过的命令的问题是什么,如果您不这样做,它将很难帮助您。
最可能的问题是您在输入文件名的开头和结尾放置了 * 字符。Ghostscript 本身不匹配通配符,它希望您告诉它您要单独处理的每个文件。因此,要处理一个目录中的文件,首先要获取所有文件的列表,然后告诉 Ghostscritp 依次使用每个文件。
您可以使用 Ghostscript @filename 语法(记录在此处记录)告诉 Ghostscript 使用文件的内容,就好像它是命令行一样。
因此,您需要做的就是编写一个 shell 脚本,它将文件夹中的文件名写入文件中。这不是 Ghostscript 问题,完全取决于您使用的操作系统。
对于 Windows 来说:
dir /B *.pdf >> files.txt
gswin32c -sDEVICE=pdfwrite -dBATCH -dNOPAUSE -sOutputFile=\temp\out.pdf @files.txt
del files.txt
Run Code Online (Sandbox Code Playgroud)
可能足以满足您的需求。