阅读背景:

给PDF文件加水印

来源:互联网 

import java.io.BufferedOutputStream;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Date;import com.itextpdf.text.BaseColor;import com.itextpdf.text.DocumentException;import com.itextpdf.text.Element;import com.itextpdf.text.pdf.BaseFont;import com.itextpdf.text.pdf.PdfContentByte;import com.itextpdf.text.pdf.PdfGState;import com.itextpdf.text.pdf.PdfReader;import com.itextpdf.text.pdf.PdfStamper;public class WaterTest{        /**      * 给pdf加水印     *      * @param args     * @throws FileNotFoundException      * @see [类、类#方法、类#成员]     */    public static void main(String[] args) throws FileNotFoundException    {//        makeWater("D:\公司加班、出差制度暂行规定 - 副本.pdf",new BufferedOutputStream(new FileOutputStream(new File("D:\abc.pdf"))));        makeWater("D:\副本.pdf","D:\1.pdf");    }            public static void makeWater(String inputFilename,String outFilename)    {        PdfStamper pdfStamper =null;        try        {            PdfReader pdfReader = new PdfReader(inputFilename);            pdfStamper = new PdfStamper(pdfReader, new FileOutputStream(outFilename));            int totalPages = pdfReader.getNumberOfPages()+1;            BaseFont baseFont = BaseFont.createFont();            PdfGState gState = new PdfGState();            for (int i = 1; i < totalPages; i++)            {                System.out.println(pdfStamper.getOverContent(i));                PdfContentByte pdfContentByte = pdfStamper.getOverContent(i);    //内容上添加水印                gState.setFillOpacity(0.2f);                pdfContentByte.beginText();                                pdfContentByte.setColorFill(BaseColor.BLUE);                pdfContentByte.setFontAndSize(baseFont, 8);                                SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss a");                                pdfContentByte.showTextAligned(Element.ALIGN_CENTER, "下载时间:"+dateFormat.format(new Date()), 300, 10, 0);                pdfContentByte.endText();            }                    }        catch (Exception e)        {            e.printStackTrace();        }        finally        {            try            {                if(pdfStamper!=null)                {                    pdfStamper.close();                }            }            catch (DocumentException e)            {                // TODO Auto-generated catch block                e.printStackTrace();            }            catch (IOException e)            {                // TODO Auto-generated catch block                e.printStackTrace();            }        }    }}import java.io.BufferedOutputStream;import j



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: