image - 将图像 (300 DPI) 写入 PDF,而不损失质量

标签 image pdf pdfbox dpi

我正在使用 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, , );但没有 DPI 参数可用于在 PDF 上写入图像。请告诉我使用 DPI 参数将图像绘制为 pdf 的方法。

谢谢

最佳答案

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

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

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

你的A4纸:

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

这实际上是一个很好的选择。

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

---更新

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

关于image - 将图像 (300 DPI) 写入 PDF,而不损失质量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25284374/

相关文章:

java - 有没有办法使用 Java 截取屏幕截图并将其保存为某种图像?

javascript - 使用图像作为背景并应用于同级的 div parent

html - Firefox 中的 SVG 破解(渲染不清晰)

php - 使用 PHP 从图像中读取文本

java - PDF 框。使用相同图像生成多页文档

java - 将 PDFBox 迁移到 2.x 时出现 GetPages 错误

java - 从 PDFBox 剥离时的文本坐标

java - 从 PDF 中提取所有带有字符串位置的文本

java - 如何在 Adob​​e Reader 中从 Android 应用程序打开服务器上的 pdf

html - 在 DIV 或面板中显示 PDF 的最佳方式是什么