Ghostscript PDF -> TIFF 转换对我来说很糟糕,人们对它赞不绝口,我一个人看起来闷闷不乐

发布于 2024-07-07 06:03:58 字数 1449 浏览 6 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

止于盛夏 2024-07-14 06:03:58

tiffg4 是黑白输出设备。
您应该使用 tiff24nc 或 tiff12nc 作为彩色 PDF 的输出设备 - 请参阅 ghostscript 输出设备
这些将是未压缩的,但您可以将生成的 TIFF 通过 imagemagick 或类似的方式重新保存为压缩的 TIFF。

tiffg4 is a black&white output device.
You should use tiff24nc or tiff12nc as the output device colour PDFs - see ghostscript output devices.
These will be uncompressed but you could put the resulting TIFFs through imagemagick or similar to resave as compressed TIFF.

假装爱人 2024-07-14 06:03:58

我使用 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更关注质量而不是速度。

I have been using ImageMagick for quite a sometime. It's very nice tool with a lot of features.

Install ImageMagick and run following command. This is what I used on Linux, you may have to replace convert with the correct one.

Below command converts PDFs to CCITT Group 3 standard TIFs (Fax standard):

convert -define quantum:polarity=min-is-white \
        -endian MSB \
        -units PixelsPerInch \
        -density 204x196 \
        -monochrome \
        -compress Fax \
        -sample 1728 \
        "input.pdf" "output.tif"

Also you may use GraphicsMagick, it is also similar to ImageMagick, but ImageMagick more concerns with quality than speed.

一绘本一梦想 2024-07-14 06:03:58

谢谢大家,这就是我的结局

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

Thanks guys this is what I ended up with

     os.popen(' '.join([
                       self._ghostscriptPath + 'gswin32c.exe', 
                       '-q',
                       '-dNOPAUSE',
                       '-dBATCH',
                       '-r800',
                       '-sDEVICE=tiffg4',
                       '-sPAPERSIZE=a4',
                       '-sOutputFile=%s %s' % (tifDest, pdfSource),
                       ]))
月隐月明月朦胧 2024-07-14 06:03:58

像建议的其他帖子一样,使用颜色格式(例如 -sDEVICE=tiff24nc)并指定更高分辨率(例如 -r600x600):

gswin32c.exe -q -dNOPAUSE -r600 -sDEVICE=tiff24nc -sOutputFile=a.tif a.pdf -c quit

Like other posts suggested, use a color format (e.g. -sDEVICE=tiff24nc) and specify a higher resolution (e.g. -r600x600):

gswin32c.exe -q -dNOPAUSE -r600 -sDEVICE=tiff24nc -sOutputFile=a.tif a.pdf -c quit
无语# 2024-07-14 06:03:58

setori 的命令未指定用于 tiffg4 输出的分辨率。 结果是:Ghostscript 将使用该输出的默认设置,即 204x196dpi。

为了将分辨率提高到 600dpi,请添加 -r600 命令行参数:

gswin32c.exe ^
   -o output.tiff ^
   -sDEVICE=tiffg4 ^
   -r600 ^
    input.pdf

另请注意,TIFFG4 是标准传真格式,因此它仅使用黑+白/灰度,而不使用颜色。

@jeff:您是否尝试过使用 Ghostscript 使用 -dDITHERPPI= 参数? (lpi 的合理值为 N/5 到 N/20,其中 N 是以 dpi 为单位的分辨率。因此,对于 -r600,请尝试使用 -dDITHERPPI=30dDITHERPPI=120)。

setori's command does not specify the resolution to use for the tiffg4 output. The consequence is: Ghostscript will use its default setting for that output, which is 204x196dpi.

In order to increase the resolution to 600dpi, add a -r600 commandline parameter:

gswin32c.exe ^
   -o output.tiff ^
   -sDEVICE=tiffg4 ^
   -r600 ^
    input.pdf

Also note that TIFFG4 is the standard fax format and as such it uses black+white/grayscale only, but no colors.

@jeff: Have you ever tried the -dDITHERPPI=<lpi> parameter with Ghostscript? (Reasonable values for lpi are N/5 to N/20, where N is the resolution in dpi. So for -r600 use try with -dDITHERPPI=30 to dDITHERPPI=120).

じее 2024-07-14 06:03:58

对于传真来说非常好! ;-)

danio 的答案可能是最好的,如果您需要彩色副本。

我还注意到,从链接的线程中,您省略了为输出指定 DPI,因此外观很糟糕...如果您需要纯抖动黑白,则应该使用更高分辨率。

我还使用 NConvert 获得了漂亮的图像

nconvert -page 1 -out tiff -dpi 200 -c 2 -o c.tif FMD.pdf

我提及它是为了记录,因为我认为您需要许可证才能重新分发它(否则它可以免费供个人使用)。

It is quite nice for a fax! ;-)

danio's answer is probably the best, if you need a color copy.

I notice also, from the linked thread, that you omitted to specify DPI for the output, hence the bad look... If you need pure dithered B&W, you should use a higher resolution.

I also got a good looking image using NConvert

nconvert -page 1 -out tiff -dpi 200 -c 2 -o c.tif FMD.pdf

I mention it for the record, because I think you need a license to redistribute it (it is free for personal use otherwise).

风吹雪碎 2024-07-14 06:03:58

我在传真页面上遇到了同样的问题。

我在 php 中使用 Imagick,这个命令修复了它的外观。

$Imagick->blackThresholdImage('grey');

我没有看到任何使用“gs”的阈值选项,但转换可能也适合您。

convert a.pdf -threshold 60% a.tif

I ran into the same problem with fax pages.

I was using Imagick in php and this command fixed the way it looked.

$Imagick->blackThresholdImage('grey');

I didn't see any threshold option using 'gs' but convert may also work for you.

convert a.pdf -threshold 60% a.tif
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文