iText图像调整大小

我要在pdf文件中添加一个水印。水印是.bmp图像,并且是2290 x3026。尝试调整此图片的大小以适合页面时,我遇到很多麻烦,有人有什么建议吗?

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如何处理不同的图像扩展名。

回答:

您可以使用另一种方法:“手动”调整图像大小(即通过图像处理软件),而不是通过iText进行编程。

由于最终尺寸似乎是硬编码的,因此您可以使用已调整大小的图像,并在每次给PDF文档加水印时节省一些处理时间。

以上是 iText图像调整大小 的全部内容, 来源链接: utcz.com/qa/432705.html

回到顶部