在評論中,我聲稱你的原始圖像確實有邊框。你聲稱它沒有邊框。既然您已經分享了這張圖片,我們可以查看事實以確定誰是對的。
事實證明,我是對的。當我打開GIMP圖像,我清楚地看到一個透明的邊框:

也許你看不到它,因爲你正在尋找在塗料中的圖像或者也許你認爲「透明」和「白色「是相同的顏色。顯然這個假設是錯誤的。
我創建了一個包含您共享,當我打開使用iText RUPS這個PDF,我看到像這樣的圖像的PDF:
在ISO-32000-1不支持
PNG(又名PDF規範),因此想要將PNG引入PDF文件的軟件需要將該PNG轉換爲另一種格式。在iText的情況下,「正常」PNG被轉換爲帶有過濾器/FlateDecode
的位圖。
就你而言,你有一個透明PNG。在ISO-32000-1中,透明圖像總是作爲兩個圖像存儲:您有不透明的圖像(在我的屏幕截圖中,/Img1
與對象編號2)和圖像蒙版(在我的屏幕截圖中,/Img0
與對象編號1)。
如果仔細觀察圖像蒙版(使不透明圖像透明的圖像),您會看到它是黑白圖像,顯示非常小的邊界。該圖像顯示在右下方的「Stream」(這是呈現圖像流的位置)面板中。這個非常小的邊框是透明邊框,我們也可以在GIMP(或支持透明圖像的其他圖像查看器)中看到。
如果此邊框是透明的,那麼您爲什麼在PDF查看器中看到它?那麼,這個邊界被視爲零寬度的線。在PDF查看器中,使用可用於查看PDF的設備上顯示的最小寬度顯示零寬度的線。如果放大PDF,您會注意到線條的寬度保持不變。
總結:你聲稱你的圖像沒有任何邊框,並且iText添加了邊框。我已經證明你錯了:圖像確實有一個透明邊界和iText正確地引入此透明邊框作爲掩碼。 PDF查看器根據ISO-32000-1將此邊框顯示爲零寬度線。
您可以通過刪除原始圖像中的透明邊框來解決您的問題。例如:I 拼合使用GIMP的圖像。結果是這樣的形象:

該圖像不再具有透明的邊緣,當你介紹成一個PDF,顯示沒有邊框,沒有口罩被添加到PDF:

(1.)默認情況下,iText不會爲圖像添加任何邊框。如果您看到邊框,則該邊框已經存在於圖像中。也許你在另一個查看器中查看圖像時看不到它,但它在那裏! (2)您正在使用iText 2.1.5。該版本的日期從2009年3月開始。現在已經快7年了。請升級[以避免問題](http://developers.itextpdf.com/question/can-itext-217-or-earlier-be-used-commercially)。 –
但這是PNG文件,我打開圖像中的油漆,但它沒有顯示任何外邊框,即使我嘗試裁剪和複製此圖像並粘貼到另一個編輯器中,但它不顯示任何外邊框,但是當我通過Java中添加pdf那麼它顯示的是外部邊界。 –
儘管您聲明瞭圖片,圖片*確實有邊框。但是:邊界是透明的,這可以解釋你爲什麼做出錯誤的假設。 –