`
lxy19791111
  • 浏览: 481089 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

PDF套打模板制作(二)

阅读更多

   下面这个servlet代码填充模板(见附件中testEx.pdf文件)中的字段,代码如下:

java 代码
  1. import javax.servlet.*;   
  2. import javax.servlet.http.*;   
  3. import java.io.*;   
  4.   
  5. import com.lowagie.text.*;   
  6. import com.lowagie.text.pdf.*;   
  7.   
  8. public class GenPdfServlet extends HttpServlet {   
  9.   
  10.     protected void doGet(HttpServletRequest request,   
  11.             HttpServletResponse response) throws ServletException,   
  12.             java.io.IOException {   
  13.         response.reset();   
  14.         ByteArrayOutputStream ba = new ByteArrayOutputStream();   
  15.         try {   
  16.             /* 打开已经定义好字段以后的pdf模板 */  
  17.             String TemplatePDF = getServletContext().getRealPath(".")   
  18.                     + "testEx.pdf";   
  19.             PdfReader reader = new PdfReader(TemplatePDF);   
  20.   
  21.             /* 将要生成的目标PDF文件名称 */  
  22.             PdfStamper stamp = new PdfStamper(reader, ba);   
  23.   
  24.             PdfContentByte under = stamp.getUnderContent(1);   
  25.   
  26.             /* 使用中文字体 */  
  27.             BaseFont bf = BaseFont.createFont("STSong-Light""UniGB-UCS2-H",   
  28.                     BaseFont.NOT_EMBEDDED);   
  29.             Font FontChinese = new Font(bf, 12, Font.NORMAL);   
  30.   
  31.             /* 取出报表模板中的所有字段 */  
  32.             AcroFields form = stamp.getAcroFields();   
  33.   
  34.             /* 为字段赋值,注意字段名称是区分大小写的 */  
  35.             form.setField("name""lixy");   
  36.             form.setField("age""26");   
  37.   
  38.             stamp.setFormFlattening(true);   
  39.             /* 必须要调用这个,否则文档不会生成的 */  
  40.             stamp.close();   
  41.         } catch (DocumentException de) {   
  42.             de.printStackTrace();   
  43.             System.err.println("A Document error:" + de.getMessage());   
  44.         }   
  45.         response.setContentType("application/pdf");   
  46.         /* 如果想出来让IE提示你是打开还是保存的对话框,加上下面这句就可以了 */  
  47.         // response.setHeader("Content-disposition","attachment; filename="   
  48.         // +"report.pdf" );   
  49.         response.setContentLength(ba.size());   
  50.         try {   
  51.             ServletOutputStream out = response.getOutputStream();   
  52.             ba.writeTo(out);   
  53.             out.flush();   
  54.             out.close();   
  55.             ba.close();   
  56.         } catch (IOException e) {   
  57.             e.printStackTrace();   
  58.             System.err.println("A Document error:" + e.getMessage());   
  59.         }   
  60.     }   
  61. }  
  • testEx.rar (7.3 KB)
  • 描述: PDF模板文件
  • 下载次数: 2311
分享到:
评论
8 楼 syl469112550 2013-03-05  
请问模版中能自动生成条形码吗,不是二维码。
7 楼 darkobe 2011-12-06  
我怎么赋值不上呢,打开都是空的
6 楼 kmkim 2011-11-16  
你的字体都没有用到。。。。将你的代码贴进去,运行报错。字体错误。
5 楼 genww 2011-04-14  
哈哈,我也叫懒虫
4 楼 lxy19791111 2010-03-18  
jiajiaan555 写道
可不可以提供一个jar包啊?

jar包就是iText,这个你可以从到网上找。
3 楼 jiajiaan555 2010-03-17  
可不可以提供一个jar包啊?
2 楼 lxy19791111 2009-03-02  
xiao0556 写道

谢谢楼主提供的资料很有用,不过有个地方还是不清楚form.setField("name", "lixy");  发现form的value必须是String类型但我如果想传对象怎么办?比如我要传一个列表进去在pdf中做循环应该怎么弄呢?

这个,你最好看看iText的API文档。
1 楼 xiao0556 2009-02-26  
谢谢楼主提供的资料很有用,不过有个地方还是不清楚
form.setField("name", "lixy"); 
发现form的value必须是String类型但我如果想传对象怎么办?比如我要传一个列表进去
在pdf中做循环应该怎么弄呢?

相关推荐

    如何制作PDF套打模板

    PDF套打模板的制作是一个常见的任务,特别是在办公自动化和文档管理中。这个过程涉及到将预设的布局和格式保存为一个模板,以便后续快速填充数据并打印。在本文中,我们将探讨如何创建PDF套打模板,并使用指定的工具...

    PDF套打模板制作(一)

    标题“PDF套打模板制作(一)”涉及到的是一种在PDF文档上进行批量打印或自定义打印的技术。在IT行业中,套打通常用于批量处理类似格式的文档,如发票、合同等,通过预先设定的模板,可以快速高效地完成打印工作。这种...

    Java实现PDF模板套打(证书)

    模板制作完毕后,将xxx.pdf文件拷贝至项目路径下。项目需引用itextpdf-5.5.5.jar处理pdf 套打方法类中加载此pdf模板文件: URL templateFile = this.getClass().getResource(/pdftemplate/xxx.pdf); 根据具体业务...

    专业制作PDF软件 PDF制作软件

    7. 高级排版与设计:一些高级的PDF制作软件提供了丰富的设计工具,如自定义字体、颜色方案、页面模板等,用于制作专业级别的出版物或报告。 8. 打印预览与输出设置:用户可以预览PDF在不同打印机上的效果,并调整...

    Magento模板制作教程.pdf

    以下是对Magento模板制作过程中涉及的关键知识点的详细阐述: 1. Magento的网站和网店结构:Magento允许创建多个网站(Website),每个网站可以包含一个或多个商店(Store),每个商店可以有多个商店视图(Store ...

    iebook模板制作器及教程

    《iebook模板制作器及教程》是一套专为电子书创作设计的工具和学习资源,主要针对iebook软件,帮助用户高效地制作出具有专业水准的电子书籍。iebook是一款强大的数字出版工具,广泛应用于企业宣传、产品展示、在线...

    简历模板100套

    通过"简历模板100套",求职者可以轻松找到适合自己背景和目标的模板,快速制作出专业且引人注目的简历,从而提高面试机会。在竞争激烈的求职市场中,一个好的简历模板无疑是一把利器,助你在众多应聘者中脱颖而出。

    简约工作汇报PPT模板 .pdf打包整理.zip

    【简约工作汇报PPT模板.pdf打包整理.zip】这个压缩包文件包含了用于制作高效、专业且简洁的工作汇报演示文稿的PPT模板。这样的模板通常设计得清晰明了,旨在帮助用户快速整理和呈现工作成果,避免在制作报告时花费...

    PDF目录制作工具

    PDF目录制作工具是一种实用软件,主要用于为PDF文档创建详细的索引和目录,使得阅读和导航PDF文件更加方便。这类工具通常包含多种功能,如自动检测章节、手动添加书签、自定义样式等,以帮助用户高效地管理和组织PDF...

    ruoyi-print.zip

    在这个"ruoyi-print.zip"压缩包中,我们重点探讨的是 Ruoyi 系统集成的开源打印插件 CLodOP,以及它如何支持用户进行自定义打印模板、空白纸打印和套打打印模板的定制。下面我们将深入解析这些关键知识点。 首先,...

    木工模板制作安装安全技术交底归类.pdf

    【木工模板制作安装安全技术交底】 在建筑工程中,木工模板制作和安装是混凝土结构施工的重要环节,涉及到工程质量和施工安全。本交底针对G310洛阳市境段改建工程新安段工区的木工模板制作安装过程,提供了一系列...

    最新200套简历模板

    9. **适应性**:简历模板应适应不同的打印和电子格式,包括PDF和Word文档,确保在各种设备和操作系统上都能保持格式不变。 10. **更新与维护**:简历不是一成不变的,随着经验的增长和技能的提升,求职者应及时更新...

Global site tag (gtag.js) - Google Analytics