【发布时间】:2015-04-09 08:13:56
【问题描述】:
我的应用程序使用带有合并字段的RTF file 作为源,并使用Aspose.Words 创建一个PDF file。此应用程序的用户将生成的文档提供给他们的客户,因此将为他们的每个客户打印相同文档的副本。然而,这些副本只有一个区别,那就是每个文档副本末尾的副本编号。
现在;假设有 4 个客户,因此将打印相同文档的 4 个副本,只有副本编号不同。我通过创建相同的文档 4 次来实现这一点,每次我插入我的 html 文本、合并字段并添加副本号然后附加文档。最后,我有一个大文档,其中附加了所有 4 个创建的文档。
这是我的代码块,那里有很多代码,所以我尝试将它们缩小到仅相关部分:
import com.aspose.words.*
Document docAllAppended = new Document(loadDocument("/documents/" + RTFFileName));
Document docTemp=null;
for (int i = 1; i <= copyNumber; i++) {
docTemp = new Document(loadDocument("/documents/" + RTFFileName));
DocumentBuilder builder = new DocumentBuilder(docTemp);
//insert html which includes file context
builder.insertHtml(htmlText);
//insert Copy number
builder.moveToBookmark("sayfa");
Font font = builder.getFont();
font.setBold(true);
font.setSize(8);
builder.write("Copy Number-" + i+ " / ");
font.setBold(false);
docAllAppended.appendDocument(docTemp,ImportFormatMode.USE_DESTINATION_STYLES);
}
这看起来非常不必要并且性能低下。此外,每次我的用户尝试更改要打印的副本数时,我的应用程序都会从一开始就计算整个事情。我要问的是,有没有办法让它更快,或者当要打印的副本数发生变化时如何不重新创建整个东西?到目前为止,我还没有找到太多。
提前致谢。
【问题讨论】:
标签: java printing rtf aspose aspose.words