当前位置: 首页 > 知识库问答 >
问题:

将更高分辨率(DPI)的图像写入PDF

蔺劲
2023-03-14

我看过使用PDFBox基于图像DPI提取图像的代码,如下所示

    PDDocument  document = PDDocument.load(path);
    PDFImageWriter writer = new PDFImageWriter();
    boolean success = writer.writeImage(document, "jpg", "", 1, 1,
                 "C:\\Image Quality\\150", BufferedImage.TYPE_INT_RGB, 150);
    return document;

在上面的代码中,我可以指定图像分辨率(150),同时从pdf中提取图像。更高的分辨率,我得到更大的图像作为回报。

现在,我想反转它的意思是在将图像写入PDF时指定图像的分辨率/dpi,但下面的代码没有提供指定dpi的选项吗?有谁能指引我在哪里失踪

PDPageContentStream contentStream = null;
contentStream = new PDPageContentStream(document, userPage);
contentStream.drawImage(img, 60, 60);       
contentStream.close();

在将图像写入pdf时,请告诉我在哪里可以传递分辨率/DPI参数(因为图像大于pdf页面大小)?

谢谢

共有1个答案

牧业
2023-03-14

在回答之前的问题时,您被告知dpi在PDF中几乎没有意义。

也就是说,很难,您可以使用PDPageContentStream方法实现您的目标。drawXObject(PDXObject xobject、浮点x、浮点y、浮点宽度、浮点高度)

按原始形式调整图像大小(即下采样),然后使用drawImage嵌入下采样图像。

另一方面,使用drawXObject嵌入原始图像并对其进行缩放。因此,在高分辨率打印输出时,前者仅提供降采样、分辨率较低的图像,而后者允许输出分辨率较高的图像。

 类似资料:
  • 问题内容: 情况:我有一张图片,用户可以在上面添加文本,在其中更改颜色,大小,位置,旋转度,字体大小等,我需要将所有这些文本保存在一张图像中。没关系,我通过使用图形缓存保存它们。 问题:由于用户设备的屏幕尺寸,结果图像可能很小。我需要此图像的分辨率为1500-2000像素。如果仅调整此图像的大小,则文本看起来模糊并且不如在屏幕上显示的那样好。 问题:还有其他方法可以将文本视图另存为图像,而不仅仅是

  • 问题内容: 当网站输出到客户端时,我正在尝试优化网站的大小。缓存时,我分别只有1.9MB和29KB。问题在于,第一次加载包含的图像对于移动设备而言并未经过优化。它具有1080p分辨率。 因此,我正在寻找一种方法,该方法允许我首先加载低分辨率版本(),一旦网站加载完毕,请使用高分辨率版本- 甚至分辨率接近所用设备的分辨率版本(或只是) 。 就像每个人都期望的那样,使用CSS设置背景。它应用于主体,整

  • 我有一个java的列表。awt。图像,每个分辨率为300 DPI。我想打印它们,当我开始打印这些图像时(使用javax.PrintService API),只打印一些图像的一部分,因为Java的打印/3D类默认使用72DPI(相对于我的图像的300 DPI)。但是,当我使用72 DPI的图像(与Java默认值具有相同的分辨率)时,所有图像都可以很好地打印(打印整个图像时,而不仅仅是其中的一部分)。

  • 在Java 9中,已经推出了一种新的多分辨率图像API,支持具有不同分辨率变体的多个图像。 该API允许将具有不同分辨率的一组图像用作单个多分辨率图像。 以下是多分辨率图像的主要操作。 - 获取一个特定的图像,这是最好的变体,以指定的尺寸表示这个逻辑图像。 - 获取所有分辨率变体的可读列表。 示例 执行上面示例代码,得到以下结果 -

  • 问题内容: 我想提高图像的分辨率。我使用了PDFRenderer-0.9.0 jar。它是从java.net 下载的,用于将PDF页面转换为图像。 我想将46_2.pdf PDF文件转换为image。转换后的46_2.png图像尺寸较小, 所以我想将图像尺寸增加到。 我以前尝试过 PdfBox 将PDF页面转换为PNG图像文件。有个问题。因此,我尝试使用 PdfRenderer 库进行图像转换。

  • 问题内容: 各位开发人员,大家好。 我正忙于android从应用程序上传图像。 我也可以使用它(代码将在下面)。 但是,当我发送大图像(10兆像素)时,我的应用程序因内存不足异常而崩溃。 一个解决方案是使用压缩,但是如果我要发送完整尺寸的图像怎么办? 我想也许有些东西在溪流中,但我不喜欢溪流。也许urlconnection可能有帮助,但我真的不知道。 我给文件名命名为File [0到9999] .