现在的位置: 首页 > 综合 > 正文

itext生成发票套打

2013年04月07日 ⁄ 综合 ⁄ 共 2265字 ⁄ 字号 评论关闭

首先制作一个pdf模板

 

1. 打开Adobe Acrobat,选择“文件 > 创建PDF(F)> 从扫描仪(S)…”, 将原始单据《银行开立个人账户申请书》扫描后保存为“bank.jpg”。 

2. 在Word中创建一个空白的A4规格文档,文件保存为“empty.doc”。

3. 选择“文件 > 创建PDF(F)> 从文件(F)…”打开“empty.doc”文件,在Adobe Acrobat 7.0中生成一个空白的pdf文件,另存为“empty.pdf”。

4. 在Adobe Acrobat中选择“文档(D)> 添加水印和背景(B)… ”,在文件“来源”区域中选择“从文件” 点击“浏览”,选择“bank.jpg”。 
注意在“位置和外观”中,垂直对齐为:“上边”;水平对齐为:“左边”,点击“确定”。

5. 保存文件为“BankTemplet.pdf”。

6. BankTemplet.pdf文件 
  打开“BankTemplet.pdf”文件,选择“工具(T)> 高级编辑工具(A)> 文本域工具(T)”,在需要打印数据项的位置放置文本框,调整合适的大小,设置文本域的名称、字体、外观、格式、动作等属性。 
如:在开户人栏的“姓名”数据项拖放一个文本域名称为CLIENT_NAME,字体为“宋体”字号为“12”。7 按S-2-2-6的方法依次定义其他的数据项文本域。 
注:域名要大写,可以使用数字。

8. 替换“BankTemplet.pdf”文件中的背景: 
  方法(一):选择“文档(D)> 添加水印和背景(B)… ”,在文件“来源”区域中选择“从文件”。 点击“浏览”选择“empty.pdf”,背景图消失,点击“确定”。 
方法(二):选择“文档(D)> 添加水印和背景(B)… ”,在文件“来源”区域中选择“从文本” 在右侧的输入框中只输入空格符,点击“确定”  

9. 保存“BankTemplet.pdf”模板文件,套打格式的模板制作完成。

创建一个servlet

 

Java代码

  1. package com.linkage.invoice;     
  2.     
  3. import java.io.ByteArrayOutputStream;     
  4. import java.io.IOException;     
  5.     
  6. import javax.servlet.ServletException;     
  7. import javax.servlet.ServletOutputStream;     
  8. import javax.servlet.http.HttpServlet;     
  9. import javax.servlet.http.HttpServletRequest;     
  10. import javax.servlet.http.HttpServletResponse;     
  11.     
  12. import com.lowagie.text.DocumentException;     
  13. import com.lowagie.text.Font;     
  14. import com.lowagie.text.pdf.AcroFields;     
  15. import com.lowagie.text.pdf.BaseFont;     
  16. import com.lowagie.text.pdf.PdfContentByte;     
  17. import com.lowagie.text.pdf.PdfReader;     
  18. import com.lowagie.text.pdf.PdfStamper;     
  19.     
  20.     
  21. public class GenPDFServlet extends HttpServlet{     
  22.     
  23.     protected void doGet(HttpServletRequest request, HttpServletResponse response)     
  24.             throws ServletException, IOException {     
  25.              
  26.         request.setCharacterEncoding("GBK");     
  27.         String username = request.getParameter("username");     
  28.         String phonenum = request.getParameter("phonenum");     
  29.         System.out.println(username);     
  30.         System.out.println(phonenum);     
  31.         response.reset();     
  32.              
  33.         ByteArrayOutputStream ba = new ByteArrayOutputStream();     
  34.         /*打开已经定义好字段的pdf模板*/    
  35.         String TemplatePDF = getServletContext().getRealPath("/") + "/invoice.pdf";     
  36.         PdfReader reader = new PdfReader(TemplatePDF);     
  37.              
  38.              

抱歉!评论已关闭.