私は私のpdfに入れたい透かしを持っています。ウォーターマークは.bmpイメージで、2290 x 3026です。この写真をページに合わせてサイズを変更しようとすると多くの問題が発生しています。iText Image Resize
Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream("result.pdf"));
document.open();
document.add(new Paragraph("hello"));
document.close();
PdfReader reader = new PdfReader("result.pdf");
int number_of_pages = reader.getNumberOfPages();
PdfStamper pdfStamper = new PdfStamper(reader, new FileOutputStream("result_watermark.pdf"));
// Get the PdfContentByte type by pdfStamper.
Image watermark_image = Image.getInstance("abstract(0307).bmp");
int i = 0;
watermark_image.setAbsolutePosition(0, 0);
watermark_image.scaleToFit(826, 1100);
System.out.println(watermark_image.getScaledWidth());
System.out.println(watermark_image.getScaledHeight());
PdfContentByte add_watermark;
while (i < number_of_pages) {
i++;
add_watermark = pdfStamper.getUnderContent(i);
add_watermark.addImage(watermark_image);
}
pdfStamper.close();
ここにはgetScaled()
メソッドの出力があります。
826.0 - Width
1091.4742 - Height
私はpdfの写真を皆さんと共有しますが、残念ながら私はできません。
代わりに.jpgを使用する必要がありますか?私は、iTextがさまざまな画像拡張子をどれくらいうまく扱っているか本当に分かりません。
あなたはPDFのスクリーンショットを追加できます。 http://meta.stackexchange.com/questions/75491/how-to-upload-an-image-to-a-postまたはhttp://meta.stackexchange.com/questions/57125/inserting-an-imageを参照してください。 -in-a-pre-tag – Ritesh
これは問題ではありません。私が追加しているウォーターマークは会社のウォーターマークです。私はそれを周りに渡すことはできません。私はとにかく言われませんでした。 – Failsafe
プログラムではなく手動でイメージの拡大縮小を試み、コードで手動で拡大縮小したイメージを使用しましたか?スケーリングされたディメンションをハードコードするように見えるので、PDFドキュメントにウォーターマークを付けるたびに処理が節約されます。 –