The top level bookmark says "Word Bookmarks". I want it to say the title of my report.
How do I change the text?
Also is there a way to change the color of the bookmarks? Right now they are dark orange or brown.
Thank you.
PdfDocument doc = new PdfDocument(@"F:\testing\form\bin\Debug\sample.pdf");
PdfBookmarkCollection bookmarks = doc.Bookmarks;
if (bookmarks.Count > 0)
{
foreach (PdfBookmark bookmark in bookmarks)
{
if (bookmark.Title == "Word Bookmarks")
{
// set the color of the bookmark
bookmark.Color = Color.Blue;
bookmark.DisplayStyle = PdfTextStyle.Bold;
// change "Word Bookmarks" to "Changed bookmark"
bookmark.Title = "Changed bookmark";
// change children of Parent Bookmark
EditChildren1Bookmark(bookmark);
}
else
{
bookmark.Color = Color.Blue;
bookmark.DisplayStyle = PdfTextStyle.Bold;
EditChildren1Bookmark(bookmark);
}
}
}
doc.SaveToFile("editbookmark.pdf");
System.Diagnostics.Process.Start("editbookmark.pdf");
}
static void EditChildren1Bookmark(PdfBookmark parentBookmark)
{
if (parentBookmark.Count > 0)
{
foreach (PdfBookmark childBookmark in parentBookmark)
{
childBookmark.Color = Color.Red;
childBookmark.DisplayStyle = PdfTextStyle.Regular;
EditChildren2Bookmark(childBookmark);
}
}
}
static void EditChildren2Bookmark(PdfBookmark child2Bookmark)
{
if (child2Bookmark.Count > 0)
{
foreach (PdfBookmark childBookmark in child2Bookmark)
{
childBookmark.Color = Color.Yellow;
childBookmark.DisplayStyle = PdfTextStyle.Regular;
}
}
}ToPdfParameterList list = new ToPdfParameterList();
list.CreateWordBookmarks = true;
list.WordBookmarksTitle = "Changed bookmark";
list.WordBookmarksColor = Color.Blue;
list.WordBookmarksTextStyle = BookmarkTextStyle.Bold;
BookmarkStart bs = paragraph.AppendBookmarkStart("SimpleBookMark");
bs.Color = Color.Red;
bs.Style = BookmarkTextStyle.Bold;private static void RenameAndColorBookmarks(string pdfFileName)
{
PdfDocument doc = new PdfDocument(pdfFileName);
PdfBookmark topLevelBookmark = doc.Bookmarks[0]; //usually there is only one top level bookmark
if (topLevelBookmark != null)
{
if (topLevelBookmark.Title == "Word Bookmarks")
{
topLevelBookmark.Title = TmrData.Report.ReportName;
topLevelBookmark.Color = Color.Red;
topLevelBookmark.DisplayStyle = PdfTextStyle.Bold;
foreach (PdfBookmark bookmark in topLevelBookmark)
{
bookmark.Color = Color.Blue;
bookmark.DisplayStyle = PdfTextStyle.Bold;
if (bookmark.Title.ToUpper() == "DETAILS OF OUTSTANDING DEBT")
{
if (bookmark.Count > 0)
{
foreach (PdfBookmark bondBookmark in bookmark)
{
bondBookmark.Color = Color.Green;
bondBookmark.DisplayStyle = PdfTextStyle.Bold;
}
}
}
}
}
}
doc.SaveToFile(pdfFileName);
}
Document doc = new Document("sample.docx");
BookmarkCollection bookmarks = doc.Bookmarks;
foreach (Bookmark bookmark in bookmarks)
{
if (bookmark.Name == "DETAILS OF OUTSTANDING DEBT")
{
bookmark.BookmarkStart.Color = Color.Blue;
bookmark.BookmarkStart.Style = BookmarkTextStyle.Bold;
}
else
{
bookmark.BookmarkStart.Color = Color.Green;
bookmark.BookmarkStart.Style = BookmarkTextStyle.Regular;
}
}
ToPdfParameterList list = new ToPdfParameterList();
list.CreateWordBookmarks = true;
list.WordBookmarksTitle = "Changed bookmark";
doc.SaveToFile("sample.pdf", list);public static void TMRtoPDF(TMRData tmrData, string pdfFileName)
{
TmrData = tmrData;
Document document = BuildDoc();
ColorBookmarks(document);
ToPdfParameterList toPdf = new ToPdfParameterList();
toPdf.CreateWordBookmarks = true;
toPdf.WordBookmarksTitle = TmrData.Report.ReportName;
toPdf.WordBookmarksColor = Color.Red;
toPdf.WordBookmarksTextStyle = BookmarkTextStyle.Bold;
document.SaveToFile(pdfFileName, toPdf);
}
private static void ColorBookmarks(Document document)
{
BookmarkCollection bookmarks = document.Bookmarks;
foreach (Bookmark bookmark in bookmarks)
{
bookmark.BookmarkStart.Color = Color.Blue;
bookmark.BookmarkStart.Style = BookmarkTextStyle.Bold;
if (bookmark.BookmarkStart.Name.ToUpper() == "DETAILS OF OUTSTANDING DEBT")
{
if (bookmark.BookmarkStart.ChildObjects.Count > 0)
{
foreach (Bookmark debtBookmark in bookmark.BookmarkStart.ChildObjects)
{
debtBookmark.BookmarkStart.Color = Color.Green;
debtBookmark.BookmarkStart.Style = BookmarkTextStyle.Bold;
}
}
}
}
}