我有大约1000个pdf文件,我需要将它们转换为300 dpi的tiff文件.做这个的最好方式是什么?如果存在可以编写脚本的SDK或其他工具或工具,那将是理想的.
Aeo*_*eon 59
使用Imagemagick,或者更好的是Ghostscript.
http://www.ibm.com/developerworks/library/l-graf2/#N101C2有一个imagemagick的例子:
convert foo.pdf pages-%03d.tiff
Run Code Online (Sandbox Code Playgroud)
http://www.asmail.be/msg0055376363.html有一个ghostscript的例子:
gs -q -dNOPAUSE -sDEVICE=tiffg4 -sOutputFile=a.tif foo.pdf -c quit
Run Code Online (Sandbox Code Playgroud)
我会安装ghostscript并阅读gs的手册页,看看需要哪些确切的选项和实验.
小智 41
从命令行使用GhostScript,我在过去使用过以下内容:
在Windows上:
gswin32c -dNOPAUSE -q -g300x300 -sDEVICE=tiffg4 -dBATCH -sOutputFile=output_file_name.tif input_file_name.pdf
在*nix上:
gs -dNOPAUSE -q -g300x300 -sDEVICE=tiffg4 -dBATCH -sOutputFile=output_file_name.tif input_file_name.pdf
对于大量文件,可以使用简单的批处理/ shell脚本来转换任意数量的文件......
gyu*_*isc 17
我写了一个小的PowerShell脚本来完成目录结构,并使用ghostscript将所有pdf文件转换为tiff文件.这是我的脚本:
$tool = 'C:\Program Files\gs\gs8.63\bin\gswin32c.exe'
$pdfs = get-childitem . -recurse | where {$_.Extension -match "pdf"}
foreach($pdf in $pdfs)
{
$tiff = $pdf.FullName.split('.')[0] + '.tiff'
if(test-path $tiff)
{
"tiff file already exists " + $tiff
}
else
{
'Processing ' + $pdf.Name
$param = "-sOutputFile=$tiff"
& $tool -q -dNOPAUSE -sDEVICE=tiffg4 $param -r300 $pdf.FullName -c quit
}
}
Run Code Online (Sandbox Code Playgroud)
小智 8
1)安装GhostScript
2)安装ImageMagick
3)创建"Convert-to-TIFF.bat"(Windows XP,Vista,7)并使用以下行:
for %%f in (%*) DO "C:\Program Files\ImageMagick-6.6.4-Q16\convert.exe" -density 300 -compress lzw %%f %%f.tiff
Run Code Online (Sandbox Code Playgroud)
将任意数量的单页PDF文件拖到此文件上会将它们转换为压缩的TIFF,速度为300 DPI.
使用python这是我最终得到的
import os
os.popen(' '.join([
self._ghostscriptPath + 'gswin32c.exe',
'-q',
'-dNOPAUSE',
'-dBATCH',
'-r300',
'-sDEVICE=tiff12nc',
'-sPAPERSIZE=a4',
'-sOutputFile=%s %s' % (tifDest, pdfSource),
]))
Run Code Online (Sandbox Code Playgroud)