这是我在这里的第一个问题,请多多包涵。
我有一个aspose.words.Document
带有邮件合并字段的对象。我需要多次更改其中一个字段。据我所知,一旦您使用 更改MailMerge
字段Document.getMailMerge().execute
,该字段将变为纯文本并不再是字段。那是因为当我再次使用具有不同值的这些代码行时,它第二次不起作用。
doc.getMailMerge().execute(
new String[] { "title", "name", "address", "telephone", "fax", "date" },
new Object[] { "Some title", "some name", "some address", "some telephone", "some fax", "some date" });
对于我面临的这个问题,我有两种解决方法:
一种是我再创建一个Document
对象,并将该对象与我的原始Document
对象一起通过所有阶段,除了doc.MailMerge().execute
阶段。然而,MailMerge 阶段之前的阶段需要花费大量时间(对于大型文档),可以用几分钟来衡量,所以我不想把时间加倍。我为此使用了性能工具。
其次是MailMerge()
在第一次使用之前,我Document.deepClone()
在原始文档上使用创建第二个独立对象。有了这个,我不需要第二次添加那些耗时的代码块,但我也没有计算或深入研究这种deepClone()
方法的性能。我会在深入研究后添加该信息。
长话短说,我想问的是,我可以在更改 MailMerge 字段后更新它。如果不是这样,是否有更好的解决方法?