iText:为什么添加图像会导致文本在 PDF 中显得模糊



我正在使用iText和Java创建一个PDF文件。我试图在左侧放置一个段落,并在右侧浮动一个图像(例如彼此相邻)。使用以下代码确实会插入图像,但它也会使整个页面上的文本模糊(其他页面也可以)。

// add image 
Image img = Image.getInstance(imgPath);
img.setAlignment(Image.RIGHT | Image.TEXTWRAP);
img.scaleToFit(1000, 72f); // 1" height
//img.setSpacingBefore(0f);  // does not have any effect
document.add(img);  
// add text
Paragraph par = new Paragraph("some text here", styleBody);
par.setSpacingBefore(20f);
document.add(par);

如果我删除代码的图像部分,文本看起来很干净。这是我第一次尝试在文本旁边添加图像。一定是做了什么明显错了什么。知道是什么原因造成的吗?

我能够解决这个问题。上面的代码非常好。问题是我使用的是具有透明度的PNG图像。当我删除透明度时(通过在关闭透明度的情况下从 Illustrator 重新导出图像),我能够创建具有清晰文本的 PDF。

我认为透明度迫使 PDF 页面以 CMYK 配色方案而不是 RGB 编写,这可能会导致此问题。

希望这对其他人有所帮助。我到处搜索,但找不到任何在iText中谈论模糊文本的线索。

最新更新