itext实现pdf套打

xiaoxiao2026-08-27  4

1,刚开始用itext.jar,出错java.lang.NoClassDefFoundErrorcom.lowagie.text.pdf.PdfReader, 出错行: PdfReader reader = new PdfReader(TemplatePDF); 然后换成最新jar包iText-2.1.5.jar,错误去除。 itext官网 [url]http://www.lowagie.com/iText/[/url] 2,关于中文支持 BaseFont bf = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); Font FontChinese = new Font(bf, 12, Font.NORMAL); 需要iTextAsian.jar,下载位置:[url]http://prdownloads.sourceforge.net/itext/iTextAsian.jar[/url] 3,servlet接收不到post的表单数据: <form name="appForm" method="post" ENCTYPE="multipart/form-data">, 原因在于ENCTYPE,enctype="multipart/form-data"的意思,是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据;enctype=\"multipart/form-data\"是上传二进制数据; form里面的input的值以2进制的方式传过去,所以这里request就得不到值了,也就是说加了这段代码,用request就会传递不成功。 4,form.setFieldProperty问题。 BaseFont bf = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H",BaseFont.NOT_EMBEDDED);Font FontChinese = new Font(bf, 12, Font.NORMAL); AcroFields form = stamp.getAcroFields();form.setFieldProperty("shipName","textfont",FontChinese,null); 这里报错是: java.lang.ClassCastException: com.lowagie.text.Font at com.lowagie.text.pdf.AcroFields.setFieldProperty(Unknown Source) 原因是:public boolean (String s, String s1, Object obj, int ai[])这里的setFieldProperty第三个参数只能是BaseFont,而不可以是Font.也就是说textfont,需要的是一个BaseFont. 请参照:[url]http://www.nabble.com/Setting-font-on-Acroform-td11007173.html[/url] [url]http://www.cs.bris.ac.uk/maintain/itext/com/lowagie/text/pdf/AcroFields.html#setFieldProperty(java.lang.String,%20java.lang.String,%20int,%20int[])[/url] 相关资源:Itext利用模板生成PDF实例demo,导入即可使用,供前台下载,打印,预览等
转载请注明原文地址: https://www.6miu.com/read-5051942.html

最新回复(0)