給pdf文件加水印(aspose)


//要jar  加群找群主要。

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\\采購合同11.pdf");

    }


    /**
     * 給pdf文件加水印
     * 水印字體不支持宋體,不要亂改字體 !!!
     * @param inputStream 輸入流
     * @param path 輸出路徑
     */
    public static void addWater(InputStream inputStream, String path) {
        Document pdfDocument = new Document(inputStream);

        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();
        //這里下標從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);
    }

}

 有疑問:加Q


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM