Hello,
Thanks for your response.
I have reproduced your nested bookmarks issue. Sorry that our product doesn't support this feature at this stage. We will add it in our future upgrade.
Best Regards,
Sweety
E-iceblue support team
public void BookMarks()
{
string paraText = "\r\nthis is paragraph text...\r\n\r\n\r\nthis is paragraph text...\r\n\r\n\r\nthis is paragraph text...\r\n\r\n\r\nthis is paragraph text...\r\n\r\n\r\nthis is paragraph text...\r\n\r\n\r\nthis is paragraph text...\r\n\r\n\r\n";
Document document = new Document();
AddStyles(document);
Section section = document.AddSection();
Paragraph parentPara = section.AddParagraph();
parentPara.ApplyStyle("MyHeader");
parentPara.AppendBookmarkStart("TopLevel");
parentPara.AppendText("TopLevel Bookmark");
var para = section.AddParagraph();
para.ApplyStyle("MySmall");
para.AppendText(paraText);
Paragraph childPara;
for (int i = 0; i < 10; i++)
{
parentPara.AppendBookmarkStart("SimpleBookMark -" + i.ToString());
childPara = section.AddParagraph();
childPara.ApplyStyle("MyHeader");
childPara.AppendText("BookMark:" + i.ToString());
parentPara.AppendBookmarkEnd("SimpleBookMark -" + i.ToString());
para = section.AddParagraph();
para.ApplyStyle("MySmall");
para.AppendText(paraText);
}
parentPara.AppendBookmarkEnd("TopLevel");
Paragraph lastPara = section.AddParagraph();
lastPara.ApplyStyle("MyHeader");
lastPara.AppendBookmarkStart("last");
lastPara.AppendText("Last Bookmark");
para = section.AddParagraph();
para.ApplyStyle("MySmall");
para.AppendText(paraText);
lastPara.AppendBookmarkEnd("last");
ToPdfParameterList toPdf = new ToPdfParameterList();
toPdf.CreateWordBookmarks = true;
document.SaveToFile(@"e:\temp\Bookmarks2.Pdf", toPdf);
System.Diagnostics.Process.Start(@"e:\temp\Bookmarks2.Pdf");
}
private static void AddStyles(Document document)
{
ParagraphStyle bigFontStyle = new ParagraphStyle(document);
bigFontStyle.Name = "MyHeader";
bigFontStyle.CharacterFormat.FontName = "Arial";
bigFontStyle.CharacterFormat.FontSize = 12;
bigFontStyle.CharacterFormat.Bold = true;
document.Styles.Add(bigFontStyle);
ParagraphStyle tinyFontStyle = new ParagraphStyle(document);
tinyFontStyle.Name = "MySmall";
tinyFontStyle.CharacterFormat.FontName = "Arial";
tinyFontStyle.CharacterFormat.FontSize = 7;
document.Styles.Add(tinyFontStyle);
}
for (int i = 0; i < 10; i++)
{
childPara = section.AddParagraph();
childPara.AppendBookmarkStart("SimpleBookMark -" + i.ToString());
childPara.ApplyStyle("MyHeader");
childPara.AppendText("BookMark:" + i.ToString());
childPara.AppendBookmarkEnd("SimpleBookMark -" + i.ToString());
para = section.AddParagraph();
para.ApplyStyle("MySmall");
para.AppendText(paraText);
}