x-easypdfは、pdfboxの2次カプセル化に基づいており、使用のしきい値を大幅に削減し、コンポーネント化された形式でpdfを構築します。シンプルで使いやすく、1行のコードで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(有料ソフトウェアに変更すると、試用版を使用すると透かしが生成されます)に依存する必要があります。テキスト置換の方法と組み合わせて、単語からpdfテンプレートへの変換を実現します。テンプレートのエクスポート機能は、次の方法を参照することで実現できます。
1.単語を使用してテンプレートを作成します。
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);
}
効果は次のとおりです。