Mam znak wodny, który chciałbym umieścić w moim pdf. Znak wodny jest obrazem .bmp i ma rozmiar 2290 x 3026. Mam problem z próbą zmiany rozmiaru tego obrazu, aby pasował do strony, czy ktoś ma jakieś sugestie?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();
Oto wyjście dla metod getScaled()
.
826.0 - Width
1091.4742 - Height
Chciałbym podzielić się z Wami obrazem pdf, ale niestety nie mogę.
Czy powinienem spróbować użyć pliku .jpg? Naprawdę nie wiem, jak dobrze iText obsługuje różne rozszerzenia obrazu.
można dodać zrzut ekranu PDF. Zobacz http://meta.stackexchange.com/questions/75491/how-to-upload-an-image-to-a-post lub http://meta.stackexchange.com/questions/57125/inserting-an-image -w-a-pre-tag – Ritesh
To nie problem. Znak wodny, który dodaję, jest znakiem wodnym firmy, i nie mogę go po prostu przekazać. Dobrze mi powiedziano, że nie. – Failsafe
Czy próbowałeś skalować obraz ręcznie, zamiast programowo, i użyć ręcznie skalowanego obrazu w kodzie? ponieważ wydaje się, że kodowanie na twardą skalę skalowanego wymiaru pozwoli zaoszczędzić trochę przetwarzania za każdym razem, gdy znak wodny zostanie przesłany do znaku wodnego. –