使用 Ghostscript 自动转换文件夹中的每个文件
Use Ghostscript to convert every file in a folder automatically
目前我正在使用此命令将文件 X.pdf 转换为 X.tif 。
gs -q -sDEVICE=tiffg4 -r300 -dBATCH -dPDFFitPage -dNOPAUSE -sOutputFile=tif/X.tif pdf/X.pdf
是否有一种平滑的方法来做相当于
gs -q -sDEVICE=tiffg4 -r300 -dBATCH -dPDFFitPage -dNOPAUSE -sOutputFile=tif/*.tif pdf/*.pdf
就像搜索查询一样? (我用 * 替换了 X)它显然不适用于此方法,但也许有类似的语法?
还是我必须写一个批处理文件或类似的东西?
PS:我在 OSX
尝试在包含子目录 tif
和 pdf
的目录中将其另存为 tif2pdf
:
#!/bin/bash
# Change into the "tif" directory to find the input files
cd tif || { echo ERROR: Subdirectory tif not found; exit 1; }
# Loop through all files ending in ".tif"
for f in *.tif; do
# Determine output filename
out=${f%%tif}
out="../pdf/${out}pdf"
# Show the command we would run
echo gs -q -sDEVICE=tiffg4 -r300 -dBATCH -dPDFFitPage -dNOPAUSE -sOutputFile="$out" "$f"
done
然后进入终端中的那个目录并使这个脚本可执行:
chmod +x tif2pdf
然后 运行 它与:
./tif2pdf
目前,它什么都不做,只是向您展示它会做什么。如果您喜欢它组成的命令的外观,请编辑脚本并删除倒数第二行中的单词 echo
并再次 运行 以实际进行转换。
示例输出
gs -q -sDEVICE=tiffg4 -r300 -dBATCH -dPDFFitPage -dNOPAUSE -sOutputFile=../pdf/a.pdf a.tif
gs -q -sDEVICE=tiffg4 -r300 -dBATCH -dPDFFitPage -dNOPAUSE -sOutputFile=../pdf/b.pdf b.tif
我建议 运行先将其 COPY 您的文件。
目前我正在使用此命令将文件 X.pdf 转换为 X.tif 。
gs -q -sDEVICE=tiffg4 -r300 -dBATCH -dPDFFitPage -dNOPAUSE -sOutputFile=tif/X.tif pdf/X.pdf
是否有一种平滑的方法来做相当于
gs -q -sDEVICE=tiffg4 -r300 -dBATCH -dPDFFitPage -dNOPAUSE -sOutputFile=tif/*.tif pdf/*.pdf
就像搜索查询一样? (我用 * 替换了 X)它显然不适用于此方法,但也许有类似的语法?
还是我必须写一个批处理文件或类似的东西?
PS:我在 OSX
尝试在包含子目录 tif
和 pdf
的目录中将其另存为 tif2pdf
:
#!/bin/bash
# Change into the "tif" directory to find the input files
cd tif || { echo ERROR: Subdirectory tif not found; exit 1; }
# Loop through all files ending in ".tif"
for f in *.tif; do
# Determine output filename
out=${f%%tif}
out="../pdf/${out}pdf"
# Show the command we would run
echo gs -q -sDEVICE=tiffg4 -r300 -dBATCH -dPDFFitPage -dNOPAUSE -sOutputFile="$out" "$f"
done
然后进入终端中的那个目录并使这个脚本可执行:
chmod +x tif2pdf
然后 运行 它与:
./tif2pdf
目前,它什么都不做,只是向您展示它会做什么。如果您喜欢它组成的命令的外观,请编辑脚本并删除倒数第二行中的单词 echo
并再次 运行 以实际进行转换。
示例输出
gs -q -sDEVICE=tiffg4 -r300 -dBATCH -dPDFFitPage -dNOPAUSE -sOutputFile=../pdf/a.pdf a.tif
gs -q -sDEVICE=tiffg4 -r300 -dBATCH -dPDFFitPage -dNOPAUSE -sOutputFile=../pdf/b.pdf b.tif
我建议 运行先将其 COPY 您的文件。