1.依赖:aspose-words-15.8.0-jdk16.jar
2.代码块
public static String drawWordMultipleLines(String wordUrl, List<PdfDrawDto> drawDtoList, String fileName) throws Exception {
FileInputStream fis = new FileInputStream(wordUrl);
Document xdoc = new Document(fis);
Table table = (Table) xdoc.getChild(NodeType.TABLE, 0, true);
// row 行,cells 列 第八行第一列
Border byBorderType = table.getRows().get(7).getCells().get(0).getCellFormat().getBorders().getByBorderType(BorderType.DIAGONAL_DOWN);
// 边框颜色
byBorderType.setColor(Color.black);
// 边框线宽度
byBorderType.setLineWidth(1);
xdoc.save(fileName, SaveFormat.DOCX);
// 去除水印方法
if(!getLicense()){
return null;
}
File pdf = new File(System.getProperty("user.dir") + "/a.pdf");
ReClient reClient = SpringUtil.getBean(ReClient.class);
Word2PdfAsposeUtil.wordToPdf(fileName, pdf.getPath());
String pdfPath = reClient.fileUpload(FileUtils.getMultipartFile(Files.newInputStream(pdf.toPath()), fileName + ".pdf"));
fis.close();
//将绘制好的pdf重新上传,并返回url
return pdfPath;
}
去除水印
private static boolean getLicense() {
boolean result = false;
try {
//InputStream is = PdfUtil.class.getClassLoader().getResourceAsStream("license.xml"); // license.xml应放在..\WebRoot\WEB-INF\classes路径下
//通过下面直接配置licence路径更方便,路径可以当参数、或者配置在配置文件中,自行修改
InputStream is = new FileInputStream("zhzf-check/src/main/resources/license.xml");
License aposeLic = new License();
aposeLic.setLicense(is);
result = true;
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
license.xml
<License>
<Data>
<Products>
<Product>Aspose.Cells for Java</Product>
<Product>Aspose.Words for Java</Product>
</Products>
<EditionType>Enterprise</EditionType>
<SubscriptionExpiry>20991231</SubscriptionExpiry>
<LicenseExpiry>20991231</LicenseExpiry>
<SerialNumber>8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7</SerialNumber>
</Data>
<Signature>sNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppo+d0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU=</Signature>
</License>
效果图: