分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
这个例子比较复杂,大家自己看清楚吧
- package com.laozizhu.lowagie.itext;
- import java.io.FileOutputStream;
- import java.net.URL;
- import com.lowagie.text.DocumentException;
- import com.lowagie.text.Element;
- import com.lowagie.text.Image;
- import com.lowagie.text.PageSize;
- import com.lowagie.text.pdf.BaseFont;
- import com.lowagie.text.pdf.PdfContentByte;
- import com.lowagie.text.pdf.PdfReader;
- import com.lowagie.text.pdf.PdfStamper;
- /**
- * iText使用入门:编辑,增加,导入,水印,合并PDF的例子
- *
- * @author 老紫竹(laozizhu.com)
- */
- public class HelloWorldModify {
- public static void main(String[] args) throws Exception, DocumentException {
- PdfReader reader = new PdfReader("HelloWorld.pdf", "World".getBytes());
- PdfStamper stamp = new PdfStamper(reader, new FileOutputStream("stamped.pdf"));
- // 拿到第一页的上部内容部分
- PdfContentByte over = stamp.getOverContent(1);
- // 增加内容
- over.beginText();
- over.setTextMatrix(30, 30);
- BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.EMBEDDED);
- over.setFontAndSize(bf, 18);
- over.showText("page1");
- over.showTextAligned(Element.ALIGN_LEFT, "DUPLICATE", 230, 430, 45);
- over.endText();
- // 增加新的一页2
- stamp.insertPage(2, PageSize.A4);
- // 写上内容
- over = stamp.getOverContent(2);
- over.beginText();
- over.setFontAndSize(bf, 18);
- over.showTextAligned(Element.ALIGN_LEFT, "DUPLICATE OF AN EXISTING PDF DOCUMENT", 30, 600, 0);
- over.endText();
- // 插入水印
- Image img = Image.getInstance(new URL(
- "http://www.java2000.net/images/company/www.java2000.net.gif"));
- img.setAbsolutePosition(200, 400);
- PdfContentByte under = stamp.getUnderContent(2);
- under.addImage(img);
- // 增加新的一页
- stamp.insertPage(3, PageSize.A4);
- // 从现有的别的pdf合并过来
- PdfReader reader2 = new PdfReader("HelloWorld.pdf", "World".getBytes());
- under = stamp.getUnderContent(3);
- under.addTemplate(stamp.getImportedPage(reader2, 1), 1, 0, 0, 1, 0, 0);
- // 关闭
- stamp.close();
- }
- }
运行结果的缩略图