service:
public class AsposeService (){
public String createLetter(){
//模板地址
String letterTemplatePath = "D:\template\demo.docx";
try{
//註冊apose
InputStream is = Test.class.getClassLoader().getResourceAsStream("license.xml");
License aposeLic= new License ();
aposeLic.setLicense(is );
//創建world對象
com.apose.words.Document doc = new com.apose.words.Document(letterTemplatePath );
//去除背景水印
removeWordWatermark(doc );
//替換模板中的字段 true 是否匹配大小寫 false 是否匹配單詞
doc.getRange().replace("${old_name}","hellow",true,false);
//DocumentBuilder 操作Document的類。 提供 插入文本、段落、列表、表格、圖片和其他內容
com.apose.words.DocumentBuilder builder= new com.apose.words.DocumentBuilder(doc );
//添加鏈接
//builder.moveToBookmark("url_mark");
//builder.inseretHyperlink("title","www.baidu.com",false); //在title處 添加url false :是否是書籤
//添加table表格
//builder.moveToBookmark("table_mark");
//Table table = builder.startTable();
//table.insertCell();
//table.write("姓名")
//table.insertCell();
//table.write("年齡")
FileOutStream os = null;
//保存pdf地址
String letterSavePdfPath = "D:\demo.pdf";
File pdfFile = new File(letterSavePdfPath );
Files.deleteIfExists(pdfFile.toPath());
os = new FileOutputStream(new File(letterSavePdfPath ));
doc.save(os,SaveFormat.PDF);
}catch{
return "error";
}
return "success";
}
//word去水印
public void removeWordWatermark(com.apose.words.Document doc){
for(Section sect : doc.getSections()){
removeWatermarkFromHeader(sect,HeaderFooterType.HEADER_PRIMARY);
removeWatermarkFromHeader(sect,HeaderFooterType.HEADER_FIRST);
removeWatermarkFromHeader(sect,HeaderFooterType.HEADER_EVEN);
}
}
//移除指定位置的水印
removeWatermarkFromHeader(Section sect,int headerType){
HeaderFooter header = sect.getHeaderFooters().getByHeaderFooterType(headerType);
if(header != null){
header.,removeAllChildren();
}
}
}
license.xml:
<License>
<Data>
<Products>
<Product>Aspose.Total 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>