前言
依靠模版向word输出内容
提示:以下是本篇文章正文内容,下面案例可供参考
一、依赖
<!-- 添加PageOffice依赖-->
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<classifier>jdk17</classifier>
</dependency>
二、demo
1.引入库
代码如下(示例):
File src = new File(filePath);//文件路径String
String prePath = "xxx"//目标路径
String tarPath = prePath + ".docx";//word路径
String pdfPath = prePath + ".pdf";//pdf路径
File target = FileUtil.copy(templatePath, tarPath, true); //复制模版内容
Document document = new Document(tarPath);;//生成word对象
DocumentBuilder builder = new DocumentBuilder(document);//doc对象操作
AsposeUtils asposeUtils = new AsposeUtils(document, builder);
//定义书签输出必须PO_开头
asposeUtils.moveToBookmarkWrite("PO_xx", "xx");
// 第一个表格获取表格对象
Table table01 = asposeUtils.getTableByBookMarkName(builder, "PO_TABLE_01");
asposeUtils.setTable(table01);
//新增表格行 7第几行开始
Row startRow = table01.getRows().get(7);
table01.insertAfter(startRow.deepClone(true), startRow);
table01.setText(0, 0, "" + (i + 1)); //row第几行输出 col第几列输出 text内容
// 合并单元格
//合并行数数组
int[] mergeNumArray = new int[gslist.size()];
row = mergeNumArray[i] + 8;
//第一次从第八行第一列开始
Cell cellStartRange = table01.getRows().get(8).getCells().get(0);
Cell cellEndRange = table01.getRows().get(row).getCells().get(0);
mergeCells(cellStartRange, cellEndRange);
//第一次从第八行第八列开始
Cell cellStartRange1 = table01.getRows().get(8).getCells().get(8);
Cell cellEndRange1 = table01.getRows().get(row - 1).getCells().get(8);
mergeCells(cellStartRange1, cellEndRange1);
asposeUtils.cellSetText(rowIndex, 0, "xx");//表格行 列 输出
//word 保存
document.save(tarPath);
try {
//拿到目标对象
Document doc = new Document(new FileInputStream(tarPath));
doc.save(pdfPath);//转pdf保存
log.info("word转pdf成功:{}", pdfPath);
} catch (Exception e) {
e.printStackTrace();
}
总结
以上就是aspose Document 对word的操作