Java PDF模板生成PDF

简介: Java PDF模板生成PDF

一、 制作PDF模板,使用AdobeAcrobat DC,必须使用这个来制作from域。使用AdobeAcrobat DC将Word导成PDF文档进行文本字段的制作

对模板内容的设置如下:

二、将需要动态传入模板的值进行业务写入


主要是写入的方法


/**
     * 根据PDF模板生成PDF文件
     * @param sourceFile 原模板文件
     * @param targetFile 动态输入写入的文件
     * @param fieldMap 动态数据值
     */
    public static void toPDFWriteValue(String sourceFile,String fileName,String targetFilePath,Map<String,Object> fieldMap)throws Exception{
        try {
            PdfReader reader = new PdfReader(sourceFile)
            ByteArrayOutputStream bos = new ByteArrayOutputStream()
            PdfStamper ps = new PdfStamper(reader, bos)
            AcroFields s = ps.getAcroFields()
            //解决中文
            com.itextpdf.text.pdf.BaseFont bfChinese = com.itextpdf.text.pdf.BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", false)
            s.addSubstitutionFont(bfChinese)
            //判断写入文件是否存在,不存在创建
            File file = new File(targetFilePath)
            if (!file.exists()) {
                file.mkdirs()
            }
            String fileSavePath = targetFilePath + fileName
            File file1 = new File(fileSavePath)
            if (!file1.exists()) {
                file1.createNewFile()
            }
            //将值封装至map中
            for(String key:fieldMap.keySet()){
                //遍历赋值
                s.setField(key,fieldMap.get(key).toString())
            }
            ps.setFormFlattening(true)
            ps.close()
            FileOutputStream fos = new FileOutputStream(fileSavePath)
            fos.write(bos.toByteArray())
        } catch (FileNotFoundException e) {
            logger.error("生成PDF文件异常", e)
        } catch (Exception e) {
            logger.error("生成PDF文件异常", e)
        }
    }
目录
相关文章
|
3月前
|
搜索推荐 Java 数据库连接
Java|在 IDEA 里自动生成 MyBatis 模板代码
基于 MyBatis 开发的项目,新增数据库表以后,总是需要编写对应的 Entity、Mapper 和 Service 等等 Class 的代码,这些都是重复的工作,我们可以想一些办法来自动生成这些代码。
52 6
|
3月前
|
Java Apache Maven
Java将word文档转换成pdf文件的方法?
【10月更文挑战第13天】Java将word文档转换成pdf文件的方法?
1026 1
|
3月前
|
存储 Java API
如何使用 Java 中的 API 更改 PDF 纸张大小
如何使用 Java 中的 API 更改 PDF 纸张大小
62 11
|
3月前
|
算法 Java Linux
java制作海报四:java BufferedImage 转 InputStream 上传至OSS。png 图片合成到模板(另一个图片)上时,透明部分变成了黑色
这篇文章主要介绍了如何将Java中的BufferedImage对象转换为InputStream以上传至OSS,并解决了png图片合成时透明部分变黑的问题。
165 1
|
3月前
|
小程序
java--微信小程序发送模板消息
java--微信小程序发送模板消息
176 0
|
5月前
|
小程序 Java
【aspose-words】Aspose.Words for Java模板语法详细剖析
本文通过详细分析Aspose.Words for Java模板语法,介绍了使用条件块、变量和动态合并表格单元格三个常用模板标签,并结合实际案例进行演示。通过这三个标签的实操,帮助读者更好地掌握Aspose.Words的使用技巧。此外,还提供了官方文档链接以便进一步学习。
182 0
【aspose-words】Aspose.Words for Java模板语法详细剖析
|
4月前
|
Java Apache Maven
Java中使用poi+poi-tl实现根据模板导出word文档
这个过程不仅简化了文档生成的工作,而且保证了生成文档的一致性与准确性,特别适合于那些需要生成大量文档的自动化场景。通过以上步骤,Java开发人员可以实现高效、可靠的Word文档导出功能。
1819 0
|
5月前
|
JavaScript Java Python
【Azure 应用服务】在Azure App Service for Windows 中部署Java/NodeJS/Python项目时,web.config的配置模板内容
【Azure 应用服务】在Azure App Service for Windows 中部署Java/NodeJS/Python项目时,web.config的配置模板内容
|
消息中间件 缓存 运维
憋了半个月的 PDF:精通 Java(七)
真诚的和大家说一句抱歉,因为最近家庭原因 + 我自己思想的懒惰,所以导致有一段时间没有更新技术文章,一直都在憋这一篇关于学习 Java 如何从入门到精通的文章,在没有发文的这段时间很煎熬,甚至无数次的想放弃写这篇文章,因为这篇文章不是很好写,我付出大量的时间和心血来收集大量的素材、研究大量的书本进而熔铸成这篇文章,希望对你有所帮助。
憋了半个月的 PDF:精通 Java(七)
|
缓存 NoSQL Java
憋了半个月的 PDF:精通 Java(六)
真诚的和大家说一句抱歉,因为最近家庭原因 + 我自己思想的懒惰,所以导致有一段时间没有更新技术文章,一直都在憋这一篇关于学习 Java 如何从入门到精通的文章,在没有发文的这段时间很煎熬,甚至无数次的想放弃写这篇文章,因为这篇文章不是很好写,我付出大量的时间和心血来收集大量的素材、研究大量的书本进而熔铸成这篇文章,希望对你有所帮助。
憋了半个月的 PDF:精通 Java(六)

热门文章

最新文章