gpt4 book ai didi

pdf - 使用Itext的图像质量

转载 作者:行者123 更新时间:2023-12-03 13:42:41 26 4
gpt4 key购买 nike

可以使用Itext生成PDF文档,其中包含分辨率为150 dpi的图像。

(似乎Itext正在将图像质量降低到72 dpi。)

谢谢

最佳答案

请参见thread,特别是this post,它解释了PDF没有DPI的概念。 This thread也很不错。

本质上(默认情况下,这在技术上并不准确,但不够精确),当您使用iText放置图像时,假定每72像素将使用1英寸的打印空间。如果要更改此规则,则需要更改图像的matrix。您可以直接执行此操作(这很困难),也可以使用缩放方法(容易得多),例如scaleAbsolute()scaleAbsoluteWidth()scaleAbsoluteHeight()scalePercentage()
scaleToFit()

更改矩阵不会以任何方式更改图像,而只会(本质上)更改要塞入一英寸的像素数的定义,在打印时将其称为DPI。 (您实际上是在更改图像像素与文档的用户单位之间的关系,但您实际上并不需要知道。)因此,默认情况下,iText放置的200x200像素图像应以大约2 3/4“的尺寸打印出来。如果调用scaleAbsolute(100,100),它将把这200个像素填充为100个“用户单位”,从而使有效DPI为144,并以大约1 3/8“进行打印。

所有这些都会真正使您的头部受伤,尤其是如果您习惯于使用Adobe Photoshop等程序对某些图像类型设置“分辨率”的程序进行成像时。不幸的是,这更像是一个“打印提示”,并没有真正改变文件。除了打印时,在72DPI下的100x100像素图像与在300DPI下的100x100像素完全相同。 iText完全忽略了此打印提示,可能是因为仅此而已,或者因为并非所有图像格式都支持它。 (没有直接关系,但是一个普遍的误解是,“保存为Web”实际上使图像完全从文件中剥离分辨率信息时,图像变为72DPI。)

忽略实际发生的事情,使图像成为您认为的150 DPI,将源图像的宽度和高度(以像素为单位)乘以0.48(72除以150),然后将这些新数字传递给scaleAbsolute()

Image类上有一个称为setDPI的方法,但据我所知,它实际上对图像的放置没有任何影响,而更多是信息性的。

关于pdf - 使用Itext的图像质量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8239380/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com