Изменение размера изображения iText

У меня есть водяной знак, который я хотел бы поместить в свой PDF-файл. Водяной знак представляет собой изображение в формате.bmp и имеет размер 2290 x 3026. У меня большие проблемы с изменением размера этого изображения, чтобы оно соответствовало странице, есть ли у кого-нибудь предложения?

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 обрабатывает различные расширения изображений.

19
задан Alexis Pigeon 20 June 2012 в 14:09
поделиться