Hi Team,
There is a conflict between two types of bookmark code. If we use both the set of bookmark code the first set of bookmark overrides the second one.
The first type is
_((Paragraph) paragraph).getChildNodes(
** NodeType.SHAPE, true).clear();**
** Paragraph p = ((Paragraph) paragraph);**
** p.getChildNodes(NodeType.SHAPE, true).clear();**
** p.appendChild(new BookmarkStart(interimdoc,**
** “MyBookmark”));**
** Run run = new Run(interimdoc, “[” + name + “]”);**
** run.getFont().setSize(12);**
** run.getFont().setStrikeThrough(false);**
** run.getFont().setColor(Color.RED);**
** p.getRuns().add(run);**
** p.appendChild(new BookmarkEnd(interimdoc,**
** “MyBookmark”));**
and the second type is
_public static void ExtractImages(Document doc, String uc, DocumentBuilder builder) throws Exception
** {**
** int i = 1;**
** String bookmark = “bm_extract”;**
** for (Bookmark bm : doc.getRange().getBookmarks()) {**
** if (bm.getName().startsWith(“Bookmark”)) {**
** bm.getBookmarkEnd().getParentNode().insertBefore(new BookmarkEnd(doc, bm.getName()), bm.getBookmarkEnd().getParentNode().getFirstChild());**
** }**
** }**
** try{**
** doc.updatePageLayout();**
** for (Bookmark bm : doc.getRange().getBookmarks()) {**
** if (bm.getName().startsWith(“Bookmark”)) {**
** Node currentNode = bm.getBookmarkStart();**
** while (currentNode.getNodeType() != NodeType.SHAPE)**
** currentNode = currentNode.nextPreOrder(doc);**
** builder.moveTo(currentNode);**
** builder.startBookmark(bookmark + i);**
** builder.moveTo(bm.getBookmarkEnd());**
** builder.endBookmark(bookmark + i);**
** i++;**
** }**
** }**
** for (Bookmark bm : doc.getRange().getBookmarks()) {**
** if (bm.getName().startsWith(“Bookmark”)) {**
** bm.remove();**
** }**
** }**
** doc.updatePageLayout();**
** for (Bookmark bm : doc.getRange().getBookmarks())**
** {**
** if(bm.getName().startsWith(“bm_extract”))**
** {**
** ArrayList nodes = ExtractContentBetweenParagraphs((Paragraph)bm.getBookmarkStart().getParentNode(), (Paragraph) bm.getBookmarkEnd().getParentNode());**
** Document dstDoc = generateDocument(doc, nodes);**
** PageSetup sourcePageSetup = ((Paragraph)bm.getBookmarkStart().getParentNode()).getParentSection().getPageSetup();**
** dstDoc.getFirstSection().getPageSetup().setPaperSize(sourcePageSetup.getPaperSize());**
** dstDoc.getFirstSection().getPageSetup().setLeftMargin(sourcePageSetup.getLeftMargin());**
** dstDoc.getFirstSection().getPageSetup().setRightMargin(sourcePageSetup.getRightMargin());**
** dstDoc.updatePageLayout();**
** if(dstDoc.getLastSection().getBody().getLastParagraph().toString(SaveFormat.TEXT).trim().startsWith(“Fig”))**
** dstDoc.getLastSection().getBody().getLastParagraph().remove();**
** dstDoc.updatePageLayout();**
** while(dstDoc.getFirstSection().getBody().getFirstParagraph()!= null && dstDoc.getFirstSection().getBody().getFirstParagraph().getChildNodes(NodeType.SHAPE, true).getCount() == 0)**
** dstDoc.getFirstSection().getBody().getFirstParagraph().remove();**
** dstDoc.updatePageLayout();**
** if(dstDoc.getFirstSection().getBody().getFirstParagraph().getChildNodes(NodeType.SHAPE, true).getCount() > 0)**
** {**
** String filename = bm.getBookmarkEnd().getParentNode().toString(SaveFormat.TEXT);**
** if(filename.trim().length() > 0)**
** dstDoc.save(folderName + filename.substring(0, 7) + “_Other_Fig.docx”);**
** i++;**
** }**
** }**
** }**
** for (Bookmark bm : doc.getRange().getBookmarks()) {**
** if (bm.getName().startsWith(“bm_extract”)) {**
** String figText = bm.getBookmarkEnd().getParentNode().toString(SaveFormat.TEXT);**
** if(figText.trim().length() > 0)**
** bm.setText(""+figText.trim().substring(0, 7)+"" + ControlChar.PARAGRAPH_BREAK);**
** }**
** }**
** }**
** catch(Exception e)**
** {**
** }**
** }**
Kindly help please.