這是我的第一個問題,請耐心等待。在aspose.words.Document.getMailMerge()後更新mailmerge字段。execute
我有一個aspose.words.Document
對象與mailmerge字段。我需要多次更改其中一個字段。據我所知,一旦你改變了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()
來創建第二個獨立對象。有了這個,我不需要再次添加這些耗時的代碼塊,但我也沒有深入計算或深入搜索這種方法的性能。在我深入瞭解之後,我會添加這些信息。
長話短說我想問的是,我可以在更改後更新MailMerge字段。如果不是這樣,是否有更好的解決方法呢?
感謝您的快速回復。如果我沒有弄錯你提供的更好的解決方案,與我的第二個解決方法非常相似。其實我也遇到過你在上面分享的鏈接,並且這個鏈接:clone document vs prepare document again這個鏈接與克隆文檔的速度相同。 – halil 2014-09-24 12:47:26
即使您已經在磁盤上的某處準備好了合併文檔。與每次合併重新加載文檔相比,克隆文檔的速度更快。 – Saqib 2014-09-24 12:52:48