x-easypdf se basa en la encapsulación secundaria de pdfbox, que reduce en gran medida el umbral de uso y construye pdf en forma de componentes. Simple y fácil de usar, puede completar operaciones relacionadas con pdf con solo una línea de código.
El contenido de esta actualización es el siguiente:
Nuevas características:
- El sustituto de documentos XEasyPdfDocumentReplacer optimiza la lógica de sustitución de texto
- Se agregó el convertidor de pdf XEasyPdfConvertor, compatible con doc/docx/jpg/tiff/markdown/html/mhtml/rtf/odt/txt/mobi y otros formatos para convertir a pdf, es necesario agregar la dependencia de aspose-words
- Documento XEasyPdfDocument agrega un método para habilitar el contexto de reinicio
- La página XEasyPdfPage agrega un nuevo método para habilitar el contexto de reinicio
Cambios originales:
- La clase de parámetro de página XEasyPdfPageParam se cambia a una clase privada
Corrección de errores: ninguno
Descripción de la nueva función:
Esta vez, un nuevo convertidor de pdf, XEasyPdfConvertor, proporciona una serie de métodos de conversión a pdf, que deben basarse en aspose-words (cambie a un software pago y se generará una marca de agua al usar la versión de prueba), que puede ser combinado con el método de reemplazo de texto para realizar la conversión de plantilla de word a pdf.La función de exportación de plantilla se puede realizar haciendo referencia a los siguientes métodos:
1. Usa Word para hacer una plantilla:
2. Use un convertidor de pdf para convertir a una plantilla de pdf (maneje la marca de agua usted mismo):
Agregue el repositorio y las dependencias al archivo 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>
Código de conversión:
// word源文件路径
String source = "C:\\Users\\Administrator\\Desktop\\test.doc";
// pdf文件路径
String dest = "C:\\Users\\Administrator\\Desktop\\test.pdf";
// 转换
XEasyPdfConvertor.toPdf(source, dest);
El efecto es el siguiente:
3. Reemplace la plantilla:
@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);
}
El efecto es el siguiente: