当前位置:  开发笔记 > 编程语言 > 正文

将pdf文件转换为tiff文件的最佳途径

如何解决《将pdf文件转换为tiff文件的最佳途径》经验,为你挑选了5个好方法。

我有大约1000个pdf文件,我需要将它们转换为300 dpi的tiff文件.做这个的最好方式是什么?如果存在可以编写脚本的SDK或其他工具或工具,那将是理想的.



1> Aeon..:

使用Imagemagick,或者更好的是Ghostscript.

http://www.ibm.com/developerworks/library/l-graf2/#N101C2有一个imagemagick的例子:

convert foo.pdf pages-%03d.tiff

http://www.asmail.be/msg0055376363.html有一个ghostscript的例子:

gs -q -dNOPAUSE -sDEVICE=tiffg4 -sOutputFile=a.tif foo.pdf -c quit

我会安装ghostscript并阅读gs的手册页,看看需要哪些确切的选项和实验.


就我所知,ghostscript确实非常好,据我所知imagemagick正在将ghostscript用于pdf操作。它是否正确?

2> 小智..:

从命令行使用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脚本来转换任意数量的文件......


大多数情况下,您希望将pdf转换为300x300 dpi的TIFF图像,而不是300x300的尺寸.因此,将`-g`开关替换为`-r`:`gswin32c -dNOPAUSE -q -r300x300 ...`
`-sDEVICE = tiffg4`是黑白传真压缩模型.请参阅:http://pages.cs.wisc.edu/~ghost/doc/AFPL/8.00/Devices.htm#TIFF
谢谢@HairyFotr.对于其他访问者,你应该使用`-sDEVICE = tiff24nc`作为24位RGB,或者`-sDEVICE = tiff12nc`作为12位(每通道8/4位).
+1.有用的命令.但是我的颜色数字输出为黑白色.知道为什么吗?

3> gyurisc..:

我写了一个小的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
    }
}


7年后,这仍然有用!我只想添加一个没有PowerShell经验的人,您需要:1.编辑$ tool值以匹配系统上的路径和版本.2.打开PowerShell并cd到存储PDF的目录.3.将代码粘贴到PowerShell窗口中.我需要按几次输入才能让它运行.谢谢gyurisc

4> 小智..:

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

将任意数量的单页PDF文件拖到此文件上会将它们转换为压缩的TIFF,速度为300 DPI.



5> Setori..:

使用python这是我最终得到的

    import os
    os.popen(' '.join([
                       self._ghostscriptPath + 'gswin32c.exe', 
                       '-q',
                       '-dNOPAUSE',
                       '-dBATCH',
                       '-r300',
                       '-sDEVICE=tiff12nc',
                       '-sPAPERSIZE=a4',
                       '-sOutputFile=%s %s' % (tifDest, pdfSource),
                       ]))

推荐阅读
360691894_8a5c48
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有