Ghostscript PDF - > TIFF转换对我来说太糟糕了,人们对它赞不绝口,我一个人看上去闷闷不乐[关闭]
-
03-07-2019 - |
题
当我看到这种输出时,我的胃会搅动。
http://www.freeimagehosting.net/uploads/e1097a5a10.jpg
这是我的命令 正如将pdf文件转换为tiff文件的最佳方式所建议的那样
gswin32c.exe -q -dNOPAUSE -sDEVICE=tiffg4 -sOutputFile=a.tif a.pdf -c quit
我做错了什么?
(不考虑商业产品)
解决方案
tiffg4是一款黑白输出设备。 你应该使用tiff24nc或tiff12nc作为输出设备颜色PDFs - 参见 ghostscript输出设备。 这些将是未压缩的,但您可以将生成的TIFF通过imagemagick或类似方式重新保存为压缩的TIFF。
其他提示
我一直在使用ImageMagick。这是一个非常好的工具,具有很多功能。
安装 ImageMagick 并运行以下命令。这是我在Linux上使用的,您可能必须用正确的 convert
替换它。
以下命令将PDF转换为 CCITT Group 3 标准TIF(传真标准):
convert -define quantum:polarity=min-is-white \
-endian MSB \
-units PixelsPerInch \
-density 204x196 \
-monochrome \
-compress Fax \
-sample 1728 \
"input.pdf" "output.tif"
您也可以使用 GraphicsMagick ,它也类似于ImageMagick,但ImageMagick更关注质量而不是速度
传真真好! ; - )
如果您需要彩色副本,那么danio的答案可能是最好的。我还注意到,从链接的线程中,你省略了为输出指定DPI,因此看起来不好......如果你需要纯粹的抖动B& W,你应该使用更高的分辨率。
nconvert -page 1 -out tiff -dpi 200 -c 2 -o c.tif FMD.pdf
我提到它是为了记录,因为我认为你需要一个许可证来重新发布它(否则它是免费供个人使用)。
谢谢大家,这就是我最终的结果
os.popen(' '.join([
self._ghostscriptPath + 'gswin32c.exe',
'-q',
'-dNOPAUSE',
'-dBATCH',
'-r800',
'-sDEVICE=tiffg4',
'-sPAPERSIZE=a4',
'-sOutputFile=%s %s' % (tifDest, pdfSource),
]))
与建议的其他帖子一样,使用颜色格式(例如-sDEVICE = tiff24nc)并指定更高的分辨率(例如-r600x600):
gswin32c.exe -q -dNOPAUSE -r600 -sDEVICE=tiff24nc -sOutputFile=a.tif a.pdf -c quit
setori的命令未指定用于 tiffg4 输出的分辨率。结果是:Ghostscript将使用其输出的默认设置,即204x196dpi。
为了将分辨率提高到600dpi,请添加 -r600
命令行参数:
gswin32c.exe ^
-o output.tiff ^
-sDEVICE=tiffg4 ^
-r600 ^
input.pdf
另请注意,TIFFG4是标准传真格式,因此仅使用黑色+白色/灰度,但没有颜色。
@jeff:你有没有尝试过使用Ghostscript的 -dDITHERPPI =< lpi>
参数? ( lpi 的合理值是N / 5到N / 20,其中N是dpi的分辨率。因此对于 -r600
,请尝试使用 -dDITHERPPI = 30
到 dDITHERPPI = 120
)。
我在传真页面遇到了同样的问题。
我在php中使用了Imagick,这个命令修正了它的样子。
$Imagick->blackThresholdImage('grey');
我没有看到使用'gs'的任何阈值选项,但转换也可能适合你。
convert a.pdf -threshold 60% a.tif