去除Evaluation Warning : The document was created with Spire.PDF for Java.

去除Evaluation Warning : The document was created with Spire.PDF for Java.

  • 最近项目中有一个需求需要把PDF文件添加页码,最终在网上找到了用Spire去添加的方法,但是比较尴尬的是会在页面的第一页加上Evaluation Warning : The document was created with Spire.PDF for Java.一段文字。最终通过网上找例子找到了解决办法,因为这段文字只出现在第一页,所以这里的处理方式是在文档创建时先添加一个空白页,最后再把空白页去掉,代码如下:

最近项目中有一个需求需要把PDF文件添加页码,最终在网上找到了用Spire去添加的方法,但是比较尴尬的是会在页面的第一页加上Evaluation Warning : The document was created with Spire.PDF for Java.一段文字。最终通过网上找例子找到了解决办法,因为这段文字只出现在第一页,所以这里的处理方式是在文档创建时先添加一个空白页,最后再把空白页去掉,代码如下:

import java.awt.*;
import java.awt.geom.Dimension2D;
import java.awt.geom.Rectangle2D;

import com.spire.pdf.PdfDocument;
import com.spire.pdf.automaticfields.PdfCompositeField;
import com.spire.pdf.automaticfields.PdfPageCountField;
import com.spire.pdf.automaticfields.PdfPageNumberField;
import com.spire.pdf.graphics.PdfBrushes;
import com.spire.pdf.graphics.PdfStringFormat;
import com.spire.pdf.graphics.PdfTextAlignment;
import com.spire.pdf.graphics.PdfTrueTypeFont;
import com.spire.pdf.graphics.PdfVerticalAlignment;

/**
 * 
 * @author changsp
 * 2020年6月4日
 */
public class AddPdfPageNumbers {
     

    public static void main(String[] args) {
     

        //加载PDF文档
        PdfDocument pdf = new PdfDocument();
        pdf.loadFromFile("C:\\Users\\xxx\\Desktop\\1.pdf");
        //添加一个空白页,目的为了删除jar包添加的水印,后面再移除这一页
        pdf.getPages().add();
        //创建字体
        PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("宋体", Font.PLAIN, 10),true);

        //遍历文档中的页
        for (int i = 0; i < pdf.getPages().getCount(); i++) {
     
            Dimension2D pageSize = pdf.getPages().get(i).getSize();
            float y = (float) pageSize.getHeight() - 40;

            //初始化页码域
            PdfPageNumberField number = new PdfPageNumberField();

            //初始化总页数域
            PdfPageCountField count = new PdfPageCountField();

            //创建复合域
            PdfCompositeField compositeField = new PdfCompositeField(font, PdfBrushes.getBlack(), "第{0}页 共{1}页", number, count);

            //设置复合域内文字对齐方式
            compositeField.setStringFormat(new PdfStringFormat(PdfTextAlignment.Right, PdfVerticalAlignment.Top));

            //测量文字大小
            Dimension2D textSize = font.measureString(compositeField.getText());

            //设置复合域的在PDF页面上的位置及大小
            compositeField.setBounds(new Rectangle2D.Float(((float) pageSize.getWidth() - (float) textSize.getWidth())/2, y, (float) textSize.getWidth(), (float) textSize.getHeight()));

            //将复合域添加到PDF页面
            compositeField.draw(pdf.getPages().get(i).getCanvas());
        }
        //移除第一个页
        pdf.getPages().remove(pdf.getPages().get(pdf.getPages().getCount()-1));
        //保存为另外一个文档
        pdf.saveToFile("C:\\Users\\xxx\\Desktop\\2.pdf");
        System.out.println("添加成功");
    }
}

你可能感兴趣的:(java)