【问题标题】:Write Images (300 DPI) to PDF without losing quality将图像 (300 DPI) 写入 PDF 而不损失质量
【发布时间】:2014-10-06 16:58:35
【问题描述】:

我正在使用 PDFBox 库并创建 A4(8.5x11 英寸)页面大小。现在我有 2500x3300 大小的图像,我想在 PDF 上书写。但 pdf 大小实际上是 612 x 792,如何将 300 DPI 图像写入 PDF ?

如果我调整图像大小以适应 2500x3300 -> 612x792,它会失去质量。应该有一些方法可以将图像写入具有 300 DPI 的 pdf。

我正在使用 PDFBox,如果我遗漏了上述说明中的任何内容,请告诉我

更新问题:

让我以其他方式解释这个问题,我想为用户提供自定义设置,以提供将图像绘制为 PDF 的图像 DPI。我知道 PDFBox 可以将图像写入 PDF,但没有可用的 DPI 设置可用于将图像写入 PDF 与 DPI 相关。目前我正在使用 PDFBox 正在使用 PDPageContentStream.drawImage(img, , );但没有可用于在 PDF 上写入图像的 DPI 参数。请告诉我我们可以使用哪种方法将图像绘制为带有 DPI 参数的 pdf。

谢谢

【问题讨论】:

  • 您混淆了 size in points (612x792) 和 resolution。您的图像,像素大小为 2500x3300,实际上在 300 dpi 上几乎是 612 x 792 点。
  • 感谢 Jongware。明白了,请查看更新后的问题陈述

标签: image pdf pdfbox dpi


【解决方案1】:

如果该过程没有对图像进行下采样(像素数没有改变),那么您并没有失去质量。如果 PDF 中图像的物理尺寸发生变化,分辨率可能会发生变化,但这不会降低质量;它只是看起来更小或更大。

如果您希望分辨率保持不变,则 PDF 中图像的物理尺寸如下:

图像宽度 = 2500 / 300 英寸 = 600 点; 图像高度 = 3300 / 300 英寸 = 792

你的 A4:

页面宽度 = 8.5 英寸 = 612 点; 页面高度 = 11 英寸 = 792

这其实很合适。

添加 0、6 或 12 点的水平平移以水平对齐图像左、中或右。

---更新

在将光栅图像转换为 PDF 时(或更好:创建带有图像的 PDF 页面时),您不应将 DPI 视为一种设置。 DPI 来自光栅图像的像素行数和列数,以及 PDF 页面上该图像的物理宽度和高度。如果您不触摸图像(我假设这是因为您不想降低质量),那么您必须选择物理宽度和高度,以便生成的 DPI 符合要求。 DPI = #pixels / 英寸。

【讨论】:

  • 嗨弗兰克,让我以其他方式解释这个问题,我想为用户提供自定义设置,以提供图像的 DPI,图像将被绘制为 PDF。我知道 PDFBox 可以将图像写入 PDF,但没有可用的 DPI 设置可用于将图像写入 PDF 与 DPI 相关。目前我正在使用 PDFBox 正在使用 PDPageContentStream.drawImage(img, , );但没有可用于在 PDF 上写入图像的 DPI 参数。我的问题现在可以理解了吗?
猜你喜欢
  • 2014-03-22
  • 2012-07-26
  • 1970-01-01
  • 1970-01-01
  • 2012-10-08
  • 1970-01-01
  • 2019-10-06
  • 1970-01-01
相关资源
最近更新 更多