x-easypdf v2.7.8 版本发布,新增 PDF 转换器
x-easypdf基于pdfbox二次封装,极大降低使用门槛,以组件化的形式进行pdf的构建。简单易用,仅需一行代码,便可完成pdf的相关操作。 本次更新内容如下: 新特性: 文档替换器XEasyPdfDocumentReplacer优化文本替换逻辑 新增pdf转换器XEasyPdfConvertor,支持doc/docx/jpg/tiff/markdown/html/mhtml/rtf/odt/txt/mobi等格式转pdf,需添加aspose-words依赖 文档XEasyPdfDocument新增开启重置上下文的方法 页面XEasyPdfPage新增开启重置上下文的方法 原有变更: 页面参数类XEasyPdfPageParam改为私有类 问题修复: 无 新特性说明: 本次新增pdf转换器XEasyPdfConvertor,其中提供一系列转pdf的方法,需依赖aspose-words(改依赖为收费软件,使用试用版会生成水印),可配合文本替换的方法实现word转pdf模板进行模板导出的功能,可参考以下方式实现: 1. 使用word制作模板: 2. 使用pdf转换器转为pdf模板(水印请自行处理): pom文件中添加仓库与依赖: <!--添加仓库--> <repositories> <repository> <id>AsposeJavaAPI</id> <name>Aspose Java API</name> <url>https://repository.aspose.com/repo/</url> </repository> </repositories> <!--添加依赖--> <dependency> <groupId>com.aspose</groupId> <artifactId>aspose-words</artifactId> <version>22.4</version> <type>pom</type> </dependency> 转换代码: // word源文件路径 String source = "C:\\Users\\Administrator\\Desktop\\test.doc"; // pdf文件路径 String dest = "C:\\Users\\Administrator\\Desktop\\test.pdf"; // 转换 XEasyPdfConvertor.toPdf(source, dest); 效果如下: 3. 替换模板: @Test public void testFill(){ // 模板文件路径 String sourcePath = "C:\\Users\\Administrator\\Desktop\\test.pdf"; // 替换后的文件路径 String filePath = "C:\\Users\\Administrator\\Desktop\\testFill.pdf"; // 字体文件路径,与模板文件字体保持一致,非必须 String fontPath = "C:\\Windows\\Fonts\\simsun.ttc,0"; // 定义替换字典(key为待替换字符串,value为替换后的字符串) Map<String, String> map = new HashMap<>(9); map.put("title", "测试报告"); map.put("date", "2022-04-10"); map.put("depart", "呼吸外科"); map.put("no", "0001"); map.put("name", "张三"); map.put("sex", "男"); map.put("age", "10"); map.put("sign", "李某某"); map.put("signTime", "2022-04-10 12:00:00"); // 读取模板文件并替换保存 XEasyPdfHandler.Document .load(sourcePath) .replacer() .setFontPath(fontPath) .enableReplaceCOSArray() .replaceText(map) .finish(filePath); } 效果如下: