zoukankan      html  css  js  c++  java
  • 给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

  • 相关阅读:
    二叉排序树
    堆排序
    线索化二叉树
    vue 格式化代码
    线程的理解
    声明式的服务调用 Feign
    使用锁 的理解
    zookeeper 的理解
    AQS 源码解析
    HashMap 的理解与结构
  • 原文地址:https://www.cnblogs.com/woshuaile/p/11865072.html
Copyright © 2011-2022 走看看