如何使用 Java 为 PDF 中的图像添加水印
问题描述
如何使用 Java 为 PDF 中的图像添加水印。
解决方案
以下是使用 Java 为 PDF 中的图像添加水印的程序。
import com.itextpdf.io.image.ImageDataFactory; import com.itextpdf.kernel.color.DeviceGray; import com.itextpdf.kernel.geom.Rectangle; import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.kernel.pdf.xobject.PdfFormXObject; import com.itextpdf.layout.Canvas; import com.itextpdf.layout.Document; import com.itextpdf.layout.element.Image; import com.itextpdf.layout.property.TextAlignment; public class AddingToImagesInPDF { public static void main(String args[]) throws Exception { String file = "C:/EXAMPLES/itextExamples/addingImageToPDF.pdf"; //创建 PdfDocument 对象 PdfDocument pdfDoc = new PdfDocument(new PdfWriter(file)); //创建 Document 对象 Document doc = new Document(pdfDoc); //创建图像 Image image = new Image(ImageDataFactory.create( "C:/EXAMPLES/itextExamples/logo.jpg")); image.scaleToFit(400, 700); //创建模板 PdfFormXObject template = new PdfFormXObject(new Rectangle( image.getImageScaledWidth(), image.getImageScaledHeight())); Canvas canvas = new Canvas(template, pdfDoc).add(image); String watermark = "Welcome to Tutorialspoint"; canvas.setFontColor(DeviceGray.LIGHT_GRAY) .showTextAligned(watermark, 100, 360, TextAlignment.CENTER); //将模板添加到文档 Image image1 = new Image(template); doc.add(image1); //关闭文档 doc.close(); System.out.println("Watermark added successfully.."); } }
输入

输出

java_itext.html