2016-06-08 106 views
0

我使用iText和Java創建一個PDF文件。我試圖在左側放置一段,並在右側浮動一個圖像(例如,彼此相鄰)。使用下面的代碼插入圖像,但它也使整個頁面上的文本模糊(其他頁面都很好)。iText:爲什麼添加圖像會導致文本在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); 

如果我刪除代碼的圖像部分,文本看起來很乾淨。這是我第一次嘗試在文字旁添加圖片。一定是做了明顯錯誤的事情。任何想法可能導致這種情況?

+1

我沒有投票,但如果我不得不猜測,我會說這是因爲你描述的問題不能被複制。我從來沒有見過這種行爲。我不知道你使用的是哪個版本的iText。我不知道你正在使用哪個PDF閱讀器。也許這個問題只針對一個特定的觀衆。使用Adobe Reader時是否也會出現這種情況?也許這是一個查看器設置(類似於「降級打印」)。在目前的狀態下,你的問題是無法回答的。也許倒票是爲了告訴你(但解釋倒票的評論會很好)。 –

+0

謝謝@BrunoLowagie。我正在使用Adobe Acrobat X Pro。我唯一改變的是註釋掉上面代碼中的// add image部分。當註釋掉時,頁面看起來很好,當它出現時,頁面上的所有文本都是模糊的。但是,如果我在紙上打印PDF,打印的文字就沒有問題。從你的迴應中,至少這對於所示的代碼來說並不明顯,所以這很有幫助。我會看看我能否以其他方式找到解決方法。 – user46688

+1

提供一個[SSCCE](http://sscce.org/),以便其他人可以複製它。給我們一個沒有任何外部依賴(iText除外)的獨立示例並共享圖像。 (是否有可能是WMF文件?)只有當我們能夠重現這個例子的問題時,我們才能開始尋找罪魁禍首。現在,我們沒有任何工作。我們有成千上萬的例子,我們添加了不顯示您描述的行爲的圖片。我們現在可以給你的唯一有效答案是*「它適用於我們。」* –

回答

1

我能解決這個問題。上面的代碼非常好。問題是我正在使用帶有透明度的PNG圖像。當我刪除透明度時(通過在透明度關閉的情況下從Illustrator中重新導出圖像),我能夠以明文形式創建PDF。

我認爲透明度強制PDF頁面寫入CMYK顏色方案而不是RGB,這可能會導致此問題。

希望這可以幫助別人。我到處搜索,但找不到任何有關iText模糊文本的線索。

+0

這聽起來像是有問題的pdf查看器(即使它是adobe Acrobat),而不是作爲PDF生成器的itext。 – mkl

相關問題