Aspose.Words java - Mail Merege

Hi,
Our application creates word documents from templates. We were using a third party solution for this. We have decided to move to Aspose.Words java for some reasons. We are finding a problem with respect to existing templates format.
The existing templates use bookmarks to denote start and end of a repeating section for mail merge. But aspose uses tableStart: and tableEnd merge fields. We have hundreds of templates and manually identifing the bookmarks and modifying them to use tableStart and tableEnd merge fields is difficult. We have 2 questions.

  1. Is it possilbe to programatically identify bookmarkstart and bookmarkend and then in the same place, place tableStart and tableEnd fields?
    or
  2. Can we do the repeating merge with bookmarks indicating start and end positions instead of tableStart and tableEnd

Hi
Thank you for your interest in Aspose.Words for java.

  1. You can try using the following code to replace BookMarkStart and BookmarkEnd nodes with TableStart and TableEnd mergefields.
//Open document
Document doc = new Document("in.doc");
//Create DocumentBuilder
DocumentBuilder builder = new DocumentBuilder(doc);
String bookmarkName = "myTable";
//Create TableStart merge filed code
String startFieldCode = "MERGEFIELD TableStart:" + bookmarkName + " \\* MERGEFORMAT";
//Create TableStart merge filed value
String startFieldValue = "«TableStart:" + bookmarkName + "»";
//Create TableEnd merge filed code
String endFieldCode = "MERGEFIELD TableEnd:" + bookmarkName + " \\* MERGEFORMAT";
//Create TableEnd merge filed value
String endFieldValue = "«TableEnd:" + bookmarkName + "»";
//Move cursor to BookmarkStart
builder.moveToBookmark(bookmarkName, true, true);
//Insert TableStart field
builder.insertField(startFieldCode, startFieldValue);
//Move cursor to BookmarkEnd
builder.moveToBookmark(bookmarkName, false, false);
//Insert TableEnd field
builder.insertField(endFieldCode, endFieldValue);
//Remove bookmark
doc.getRange().getBookmarks().get(bookmarkName).getBookmarkEnd().remove();
doc.getRange().getBookmarks().get(bookmarkName).getBookmarkStart().remove();
//Save document
doc.save("out.doc");

I hope this could help you.
2. Unfortunately you can’t do the repeating merge with bookmarks.

Best regards.