转换ghostscript光栅化器时如何为Jpeg设置dpi

Posted

技术标签:

【中文标题】转换ghostscript光栅化器时如何为Jpeg设置dpi【英文标题】:How to set dpi for Jpeg when converting ghostscript rasterizer 【发布时间】:2019-03-02 07:01:26 【问题描述】:

我想在 Ghostscript rasterizer 的帮助下生成宽度为 900 像素和 150 dpi 的 PDF 到 Jpeg 图像。

【问题讨论】:

你遇到的问题是宽度和密度是依赖的。一个要么指定宽度,要么指定 DPI。 @user3344003: 有什么方法可以定义 dpi 和高度或宽度。 【参考方案1】:

您可以通过两种方式设置图像的大小;首先,如果您知道 PDF 文件中的 PDF 媒体(MediaBox)的大小,并且以 PostScript 单位(1/72 英寸)为单位,那么简单的计算将为您提供所需的渲染分辨率:

目标 X 分辨率 = 输出宽度(以像素为单位)/(媒体宽度 / 72)

目标 Y 分辨率 = 输出高度(以像素为单位)/(媒体高度 / 72)

然后您可以使用-r 开关设置分辨率,如文档here 中所述

或者,您可以使用-g 开关设置输出媒体大小(以像素为单位),然后使用-dPDFFitPage 开关让Ghostscript 缩放PDF 内容,使其适合输出。请注意,此方法是同构的。也就是说,相同的比例因子适用于 x 和 y 方向。

文档here 中描述了-g 开关,here 描述了-dPDFFitPage 开关。

【讨论】:

以上是关于转换ghostscript光栅化器时如何为Jpeg设置dpi的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows 上使用 Ghostscript 从 PDF 进行分页 JPEG 转换/导出

使用 Ghostscript 9.10 将 PDF 文件转换为 JPEG 文件的正确命令是啥?

在 ghostscript 中旋转 jpeg 图像

将 pdf 转换为图像时出现 Ghostscript 错误

在 clickhouse 中,使用强制转换函数时如何为可为空的列返回 null

具有原始文件名的 GhostScript 输出文件