如何为word文件中指定的页数添加水印?例如word文件中一共有6页,为1,2,3,4,5页添加水印
@akon 在 MS Word 文档中,水印作为文档标题内容后面的形状添加。 当您使用 Watermark 类时,Aspose.Words 会执行相同的操作。 在 MS Word 文档中,由于其流程性质,没有页面的概念,因此为了实现您的需要,不需要水印的页面应该表示为一个单独的部分,具有自己的页眉/页脚,没有水印。 您可以使用 Document.ExtractPages 方法将文档拆分为多个页面,然后使用 Document.AppendDocument 方法将提取的页面合并回来,以使所需的页面成为单独的部分:
Document doc = new Document("C:\\Temp\\in.docx");
// split the document using Document.ExtractPages method.
// for demonstration purposes split only the last page.
Document firstPart = doc.extractPages(0, doc.getPageCount()-1);
Document lastPage = doc.extractPages(doc.getPageCount()-1, 1);
// Add watermark to the first part of the document.
firstPart.getWatermark().setText("My Watermark");
// Unlink header/footer of the second part to avoid inheriting.
lastPage.getFirstSection().getHeadersFooters().linkToPrevious(false);
// Merge documents back and save
firstPart.appendDocument(lastPage, ImportFormatMode.USE_DESTINATION_STYLES);
firstPart.save("C:\\Temp\\out.docx");
我的aspose.word版本是16.8.0,没有extractPages方法
@akon Document.extractPages
方法已在Aspose.Words 20.10版本中引入:
https://docs.aspose.com/words/java/aspose-words-for-java-20-10-release-notes/#documentextractpages-method-was-introduced
我建议您更新到最新版本。