簡體   English   中英

以低分辨率打印圖像

[英]Image getting printed with low resolution

我需要創建帶有圖像的pdf以便進行打印。 我正在使用iText將高分辨率圖像添加到pdf。 它將質量降低到72 DPI。 導致打印后圖像質量差。

原始圖像分辨率為2549 * 3304和DPI(300)。

我嘗試了以下選項

image.scaleAbsolute(2549*.24 ,3304*.24 ); 

image.setDpi(300,300);     

image.scaleToFit(2549*.24 ,3304*.24 );

當前代碼看起來像這樣

Document document = new Document(PageSize.LETTER);

document.open();

Image image = Image.getInstance("C:/Project/bg.png");

image.setAbsolutePosition(0,0);

image.scalePercent(24);

document.add(image);

document.close();

我經歷了一些線程( 使用iTextSharp將圖像添加到PDF並正確縮放 )仍然無法解決問題

有人可以幫我解決這個問題,以便在打印時獲得更好的圖像質量嗎?

setDpi()方法與您的代碼無關,原始圖像的DPI也無關。 像素在iText中被視為點。 這意味着按原樣添加圖像將導致每英寸72個像素。

您將圖像縮放到原始大小的24%。 這意味着您可以提高分辨率:僅使用24%的空間即可顯示相同數量的像素。 在這種情況下,您將顯示2549個像素,分布在611.76點上。 這大約是8.5英寸,這意味着您確實具有300 DPI的分辨率。

我認為問題不是由PDF內圖片的分辨率引起的(但是很難分辨,因為我們無法檢查PDF)。 我認為問題是由使用與PDF分辨率不同的分辨率來打印文檔的打印過程引起的。

無論如何:如果使用scalePercent()scaleAbsolute()scaleToFit()方法,則iText不會減少像素數。

根據評論的其他信息:

向PDF詢問其“分辨率”是沒有意義的,因為PDF沒有任何分辨率(盡管PDF內的圖像可能只有一個)。 我不知道為什么Photoshop告訴您分辨率為72 DPI。 可能這是默認值,因為PDF中的測量單位對應一個點,並且一英寸有72個點。

我已經檢查了您共享的PDF。 在屏幕上查看時,看不到任何分辨率下降。 我可以看到文件尺寸為8.5 x 11英寸。 至於圖片,請看一下Acrobat生成的報告:

在此處輸入圖片說明

它表示寬度/高度:2550/3300像素。

2550 / 8.5 = 300

3300/11 = 300

因此,分辨率為每英寸300像素。 或者:完全按照您想要的方式創建PDF。

但是:您說打印文檔時分辨率較差。 這可能是由許多不同的原因引起的:也許您在大於8.5 x 11英寸的頁面上進行打印,也許打印機無法以該分辨率進行打印,也許PDF查看器只能使用“降級打印”進行打印, ...

我的建議是,您使用不同的查看器在不同的打印機上測試此PDF,以找到罪魁禍首。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM