如何使用batchscript
而不是像这样的文件来读取目录d:\中包含的文件。我尝试了以下方法:
@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
答案 0 :(得分:1)
Ghostscript不会“合并” PDF文件。它通过解释输入内容来创建新的PDF文件,这不是一回事。您应该阅读文档here
您还没有说过所尝试的命令出了什么问题,如果您不这样做,将很难为您提供帮助。
最可能的问题是您在输入文件名的开头和结尾放置了*个字符。 Ghostscript本身与通配符不匹配,它希望您告诉它要单独处理的每个文件。因此,要处理文件目录,首先要获得所有文件的列表,然后告诉Ghostscritp依次使用每个文件。
您可以使用Ghostscript @filename语法(记录在here中)告诉Ghostscript使用文件的内容,就像在命令行一样。
因此,您所需要做的就是提供一个Shell脚本,该脚本会将文件夹中的文件名写入文件。这不是Ghostscript问题,而是完全取决于您使用的操作系统。
对于Windows,类似:
dir /B *.pdf >> files.txt
gswin32c -sDEVICE=pdfwrite -dBATCH -dNOPAUSE -sOutputFile=\temp\out.pdf @files.txt
del files.txt
可能足以满足您的需求。