Thanks for your reply.
Please forgive my carelessness.
Besides change the loop code, one should also change the code
- Code: Select all
parentPara.AppendBookmarkEnd("TopLevel");
to the code below:
- Code: Select all
childPara = section.AddParagraph();
childPara.AppendBookmarkEnd("TopLevel");
Here are the complete codes.
- Code: Select all
private void button4_Click(object sender, EventArgs e)
{
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++)
{
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);
}
childPara = section.AddParagraph();
childPara.AppendBookmarkEnd("TopLevel");
//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\Bookmarks3.Pdf", toPdf);
System.Diagnostics.Process.Start(@"e:\temp\Bookmarks3.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);
}
Best Regards,
Sweety
E-iceblue support team