iText使用入门 编辑 增加 导入 水印 合并PDF的例子

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               
这个例子比较复杂,大家自己看清楚吧
  1. package com.laozizhu.lowagie.itext;
  2. import java.io.FileOutputStream;
  3. import java.net.URL;
  4. import com.lowagie.text.DocumentException;
  5. import com.lowagie.text.Element;
  6. import com.lowagie.text.Image;
  7. import com.lowagie.text.PageSize;
  8. import com.lowagie.text.pdf.BaseFont;
  9. import com.lowagie.text.pdf.PdfContentByte;
  10. import com.lowagie.text.pdf.PdfReader;
  11. import com.lowagie.text.pdf.PdfStamper;
  12. /**
  13.  * iText使用入门:编辑,增加,导入,水印,合并PDF的例子
  14.  * 
  15.  * @author 老紫竹(laozizhu.com)
  16.  */
  17. public class HelloWorldModify {
  18.   public static void main(String[] args) throws Exception, DocumentException {
  19.     PdfReader reader = new PdfReader("HelloWorld.pdf""World".getBytes());
  20.     PdfStamper stamp = new PdfStamper(reader, new FileOutputStream("stamped.pdf"));
  21.     // 拿到第一页的上部内容部分
  22.     PdfContentByte over = stamp.getOverContent(1);
  23.     // 增加内容
  24.     over.beginText();
  25.     over.setTextMatrix(3030);
  26.     BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.EMBEDDED);
  27.     over.setFontAndSize(bf, 18);
  28.     over.showText("page1");
  29.     over.showTextAligned(Element.ALIGN_LEFT, "DUPLICATE"23043045);
  30.     over.endText();
  31.     // 增加新的一页2
  32.     stamp.insertPage(2, PageSize.A4);
  33.     // 写上内容
  34.     over = stamp.getOverContent(2);
  35.     over.beginText();
  36.     over.setFontAndSize(bf, 18);
  37.     over.showTextAligned(Element.ALIGN_LEFT, "DUPLICATE OF AN EXISTING PDF DOCUMENT"306000);
  38.     over.endText();
  39.     // 插入水印
  40.     Image img = Image.getInstance(new URL(
  41.         "http://www.java2000.net/images/company/www.java2000.net.gif"));
  42.     img.setAbsolutePosition(200400);
  43.     PdfContentByte under = stamp.getUnderContent(2);
  44.     under.addImage(img);
  45.     // 增加新的一页
  46.     stamp.insertPage(3, PageSize.A4);
  47.     // 从现有的别的pdf合并过来
  48.     PdfReader reader2 = new PdfReader("HelloWorld.pdf""World".getBytes());
  49.     under = stamp.getUnderContent(3);
  50.     under.addTemplate(stamp.getImportedPage(reader2, 1), 100100);
  51.     // 关闭
  52.     stamp.close();
  53.   }
  54. }

运行结果的缩略图

           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

这里写图片描述

猜你喜欢

转载自blog.csdn.net/jgfyyfd/article/details/83759688