印刷用の画像を含むPDFを作成する必要があります。iTextを使用して高解像度の画像をPDFに追加しています。品質が72DPIに低下しています。印刷後の画像の品質が低下します。
元の画像の解像度は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ではポイントとして扱われます。つまり、画像をそのまま追加すると、1インチあたり72ピクセルになります。
画像を元のサイズの24パーセントに拡大縮小します。これは、解像度を上げることを意味します。スペースの24%だけを使用して、同じ数のピクセルを表示しています。この場合、611.76ポイントに分散された2549ピクセルを表示しています。これは約8.5インチです。これは、実際に300DPIの解像度があることを意味します。
この問題はPDF内の画像の解像度が原因ではないと思います(ただし、PDFを検査できないため、わかりにくいです)。この問題は、PDFの解像度とは異なる解像度を使用してドキュメントを印刷する印刷プロセスが原因であると思います。
いずれの場合も:メソッドscalePercent()
、scaleAbsolute()
またはを使用する場合、iTextはピクセル数を減らしませんscaleToFit()
。
コメントに基づく追加情報:
PDFには解像度がないため、PDFに「解像度」を要求しても意味がありません(PDF内の画像には解像度がある場合があります)。Photoshopが解像度が72DPIであると言う理由がわかりません。PDFの測定単位はポイントに対応し、1インチに72ポイントあるため、これがデフォルト値である可能性があります。
あなたが共有したPDFを調べました。画面で見ても解像度の低下は見られません。ドキュメントのサイズは8.5x11インチであることがわかります。画像については、Acrobatによって生成されたレポートをご覧ください。
幅/高さ:2550/3300ピクセルで表示されます。
2550 / 8.5 = 300
3300/11 = 300
したがって、解像度は1インチあたり300ピクセルです。または:PDFは希望どおりに作成されます。
ただし、ドキュメントを印刷すると解像度が低下すると言います。これは、さまざまな原因で発生する可能性があります。8.5x11インチより大きいページに印刷している場合、プリンタがその解像度で印刷できない場合、PDFビューアが「劣化した印刷」を使用してのみ印刷できる場合があります。 ..。。
私のアドバイスは、このPDFをさまざまなプリンターでさまざまなビューアーを使用してテストし、原因を見つけることです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加