// add jar to find a group of major groups.
package com.tythin.tyboot.core.util; import com.aspose.pdf.Color; import com.aspose.pdf.Document; import com.aspose.pdf.FontRepository; import com.aspose.pdf.FontStyles; import com.aspose.pdf.PageCollection; import com.aspose.pdf.Rotation; import com.aspose.pdf.TextStamp; import java.io.InputStream; /** * @author kuangQingLin * @version 1.0 * @date 2019/10/21/021 15:39 **/ public class WatermarkPdfUtil { public static void main(String[] args) { Document pdfDocument = new Document("C:\\Users\\Administrator\\Desktop\\采购合同.pdf"); TextStamp textStamp = new TextStamp("合同水印"); textStamp.setBackground(true); textStamp.setXIndent(200); textStamp.setYIndent(100); textStamp.setRotate(Rotation.None); textStamp.getTextState().setFont( FontRepository.findFont("Arial")); textStamp.getTextState().setFontSize(34.0F); textStamp.getTextState().setFontStyle(FontStyles.Bold); textStamp.getTextState().setFontStyle(FontStyles.Italic); textStamp.getTextState().setForegroundColor(Color.getPink()); TextStamp textStamp1 = new TextStamp("合同水印"); textStamp1.setBackground(true); textStamp1.setXIndent(200); textStamp1.setYIndent(400); textStamp1.setRotate(Rotation.None); textStamp1.getTextState().setFont( FontRepository.findFont("Arial")); textStamp1.getTextState().setFontSize(34.0F); textStamp1.getTextState().setFontStyle(FontStyles.Bold); textStamp1.getTextState().setFontStyle(FontStyles.Italic); textStamp1.getTextState().setForegroundColor(Color.getPink()); TextStamp textStamp2 = new TextStamp("合同水印"); textStamp2.setBackground(true); textStamp2.setXIndent(200); textStamp2.setYIndent(700); textStamp2.setRotate(Rotation.None); textStamp2.getTextState().setFont( FontRepository.findFont("Arial")); textStamp2.getTextState().setFontSize(34.0F); textStamp2.getTextState().setFontStyle(FontStyles.Bold); textStamp2.getTextState().setFontStyle(FontStyles.Italic); textStamp2.getTextState().setForegroundColor(Color.getPink()); PageCollection pages = pdfDocument.getPages(); int size = pages.size(); for (int i = 0; i < size; i++) { pages.get_Item(i + 1).addStamp(textStamp); pages.get_Item(i + 1).addStamp(textStamp1); pages.get_Item(i + 1).addStamp(textStamp2); } pdfDocument.save("C: \\ Users \\ Administrator \\ Desktop \\ procurement contracts 11.pdf" ); } / ** * add watermark to pdf files * Watermark Times New Roman font does not support, do not make change fonts! ! ! * @Param inputStream input stream * @param path output path * / public static void addWater (inputStream the InputStream, String path) { the Document PDFDocument = new new the Document (inputStream); TextStamp textStamp = new new TextStamp ( "Watermark contract" ); textStamp.setBackground ( to true ); textStamp.setXIndent ( 200 is ); textStamp.setYIndent (100); textStamp.setRotate(Rotation.None); textStamp.getTextState().setFont( FontRepository.findFont("Arial")); textStamp.getTextState().setFontSize(34.0F); textStamp.getTextState().setFontStyle(FontStyles.Bold); textStamp.getTextState().setFontStyle(FontStyles.Italic); textStamp.getTextState().setForegroundColor(Color.getPink()); TextStamp textStamp1 = new TextStamp("合同水印"); textStamp1.setBackground(true); textStamp1.setXIndent(200); textStamp1.setYIndent(400); textStamp1.setRotate(Rotation.None); textStamp1.getTextState().setFont( FontRepository.findFont("Arial")); textStamp1.getTextState().setFontSize(34.0F); textStamp1.getTextState().setFontStyle(FontStyles.Bold); textStamp1.getTextState().setFontStyle(FontStyles.Italic); textStamp1.getTextState().setForegroundColor(Color.getPink()); TextStamp textStamp2 = new TextStamp("合同水印"); textStamp2.setBackground(true); textStamp2.setXIndent(200); textStamp2.setYIndent(700); textStamp2.setRotate(Rotation.None); textStamp2.getTextState().setFont( FontRepository.findFont("Arial")); textStamp2.getTextState().setFontSize(34.0F); textStamp2.getTextState().setFontStyle(FontStyles.Bold); textStamp2.getTextState().setFontStyle(FontStyles.Italic); textStamp2.getTextState().setForegroundColor(Color.getPink()); PageCollection pages = pdfDocument.getPages(); int size = pages.size(); //这里下标从1 开始,切记 for (int i = 0; i < size; i++) { pages.get_Item(i + 1).addStamp(textStamp); pages.get_Item(i + 1).addStamp(textStamp1); pages.get_Item(i + 1).addStamp(textStamp2); } pdfDocument.save(path); } }