NewBookmark Method (GdPicturePDF)
Creates and appends a new bookmark item to the exisiting bookmark's hierarchy of the currently loaded PDF document.
public int NewBookmark(
int ,
string
)
public function NewBookmark(
: Integer;
: String
): Integer;
public function NewBookmark(
: int,
: String
) : int;
public: int NewBookmark(
int ,
string*
)
public:
int NewBookmark(
int ,
String^
)
'Declaration
Public Function NewBookmark( _
ByVal As Integer, _
ByVal As String _
) As Integer
Parameters
- ParentBookmarkID
- A unique bookmark identifier specifying the parent's bookmark of the newly created bookmark item. Please use the value of 0 if you want to create a root bookmark (the first top-level bookmark item).
You can obtain this identifier using these methods: GdPicturePDF.GetBookmarkRootID, GdPicturePDF.GetBookmarkFirstChildID, GdPicturePDF.GetBookmarkNextID, GdPicturePDF.GetBookmarkPrevID or GdPicturePDF.GetBookmarkParentID.
- Title
- The title for the newly created bookmark item.
Return Value
The unique bookmark identifier of the newly created bookmark item. The
GdPicturePDF.GetStat method can be subsequently used to determine if this method has been successful.
How to create a root bookmark item with some child (descendant) bookmark items.
This example creates a bookmark hierarchy with the root bookmark and 10 child bookmark items, each bookmark points to one page in the PDF document. Also a hierarchy with two child bookmark items is created, both child bookmarks open a website link.
Dim caption As String = "Example: NewBookmark"
Dim gdpicturePDF As New GdPicturePDF()
Dim status As GdPictureStatus = gdpicturePDF.NewPDF()
If status = GdPictureStatus.OK Then
gdpicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft)
gdpicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitCentimeter)
Dim fontResName As String = gdpicturePDF.AddStandardFont(PdfStandardFont.PdfStandardFontHelvetica)
If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
Dim failure As Boolean = True
Dim rootBookmark As Integer = gdpicturePDF.NewBookmark(0, "Pages Navigation")
status = gdpicturePDF.GetStat()
If status <> GdPictureStatus.OK Then
MessageBox.Show("The NewBookmark() method (root bookmark for pages) has failed with the status: " + status.ToString(), caption)
Else
Dim i As Integer = 0
Do
i += 1
If (gdpicturePDF.NewPage(21, 29.7F) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.SetFillColor(255, 0, 0) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.SetTextSize(12) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.DrawText(fontResName, 1, 1, "This is the page " + i.ToString()) = GdPictureStatus.OK) Then
Dim actionID As Integer = gdpicturePDF.NewActionGoTo(PdfDestinationType.DestinationTypeXYZ, i, 0, 0, 0, 0, 1)
If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
Dim bookMarkID As Integer = gdpicturePDF.NewBookmark(rootBookmark, "Move to the page " + i.ToString())
If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
failure = (gdpicturePDF.SetBookmarkAction(bookMarkID, actionID) <> GdPictureStatus.OK)
End If
End If
End If
If failure Then
MessageBox.Show("The error occurs when creating a page nr." + i.ToString() + " or an action or a bookmark on this page. Status: " + gdpicturePDF.GetStat().ToString(), caption)
End If
Loop While Not failure AndAlso i < 10
End If
If Not failure Then
failure = True
rootBookmark = gdpicturePDF.NewBookmark(0, "Links Navigation")
status = gdpicturePDF.GetStat()
If status <> GdPictureStatus.OK Then
MessageBox.Show("The NewBookmark() method (root bookmark for links) has failed with the status: " + status.ToString(), caption)
Else
Dim bookMarkID1 As Integer = gdpicturePDF.NewBookmark(rootBookmark, "Visit GdPicture website!")
status = gdpicturePDF.GetStat()
Dim bookMarkID2 As Integer = 0
If status = GdPictureStatus.OK Then
bookMarkID2 = gdpicturePDF.NewBookmark(rootBookmark, "Read GdPicture.NET documentation online!")
status = gdpicturePDF.GetStat()
End If
If status = GdPictureStatus.OK Then
Dim actionID1 As Integer = gdpicturePDF.NewActionURI("http://www.gdpicture.com", False)
status = gdpicturePDF.GetStat()
Dim actionID2 As Integer = -1
If status = GdPictureStatus.OK Then
actionID2 = gdpicturePDF.NewActionURI("http://www.guides.gdpicture.com", False)
status = gdpicturePDF.GetStat()
End If
If status = GdPictureStatus.OK Then
failure = ((gdpicturePDF.SetBookmarkAction(bookMarkID1, actionID1) <> GdPictureStatus.OK) OrElse
(gdpicturePDF.SetBookmarkAction(bookMarkID2, actionID2) <> GdPictureStatus.OK))
If failure Then
MessageBox.Show("This error occurs in creating the link navigation bookmark hierarchy: " + status.ToString(), caption)
End If
End If
End If
End If
End If
If Not failure Then
status = gdpicturePDF.SaveToFile("bookmarks_NewBookmark.pdf")
If status = GdPictureStatus.OK Then
MessageBox.Show("The new file has been saved successfully.", caption)
Else
MessageBox.Show("The new file can't be saved. Status: " + status.ToString(), caption)
End If
End If
End If
Else
MessageBox.Show("The new file can't be created. Status: " + status.ToString(), caption)
End If
gdpicturePDF.Dispose()
string caption = "Example: NewBookmark";
GdPicturePDF gdpicturePDF = new GdPicturePDF();
GdPictureStatus status = gdpicturePDF.NewPDF();
if (status == GdPictureStatus.OK)
{
gdpicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft);
gdpicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitCentimeter);
string fontResName = gdpicturePDF.AddStandardFont(PdfStandardFont.PdfStandardFontHelvetica);
if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
{
bool failure = true;
int rootBookmark = gdpicturePDF.NewBookmark(0, "Pages Navigation");
status = gdpicturePDF.GetStat();
if (status != GdPictureStatus.OK)
MessageBox.Show("The NewBookmark() method (root bookmark for pages) has failed with the status: " + status.ToString(), caption);
else
{
int i = 0;
do
{
i++;
if ((gdpicturePDF.NewPage(21, 29.7f) == GdPictureStatus.OK) &&
(gdpicturePDF.SetFillColor(255, 0, 0) == GdPictureStatus.OK) &&
(gdpicturePDF.SetTextSize(12) == GdPictureStatus.OK) &&
(gdpicturePDF.DrawText(fontResName, 1, 1, "This is the page " + i.ToString()) == GdPictureStatus.OK))
{
int actionID = gdpicturePDF.NewActionGoTo(PdfDestinationType.DestinationTypeXYZ, i, 0, 0, 0, 0, 1);
if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
{
int bookMarkID = gdpicturePDF.NewBookmark(rootBookmark, "Move to the page " + i.ToString());
if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
{
failure = (gdpicturePDF.SetBookmarkAction(bookMarkID, actionID) != GdPictureStatus.OK);
}
}
}
if (failure)
MessageBox.Show("The error occurs when creating a page nr." + i.ToString() + " or an action or a bookmark on this page. Status: " + gdpicturePDF.GetStat().ToString(), caption);
} while (!failure && i < 10);
}
if (!failure)
{
failure = true;
rootBookmark = gdpicturePDF.NewBookmark(0, "Links Navigation");
status = gdpicturePDF.GetStat();
if (status != GdPictureStatus.OK)
MessageBox.Show("The NewBookmark() method (root bookmark for links) has failed with the status: " + status.ToString(), caption);
else
{
int bookMarkID1 = gdpicturePDF.NewBookmark(rootBookmark, "Visit GdPicture website!");
status = gdpicturePDF.GetStat();
int bookMarkID2 = 0;
if (status == GdPictureStatus.OK)
{
bookMarkID2 = gdpicturePDF.NewBookmark(rootBookmark, "Read GdPicture.NET documentation online!");
status = gdpicturePDF.GetStat();
}
if (status == GdPictureStatus.OK)
{
int actionID1 = gdpicturePDF.NewActionURI("http://www.gdpicture.com", false);
status = gdpicturePDF.GetStat();
int actionID2 = -1;
if (status == GdPictureStatus.OK)
{
actionID2 = gdpicturePDF.NewActionURI("http://www.guides.gdpicture.com", false);
status = gdpicturePDF.GetStat();
}
if (status == GdPictureStatus.OK)
{
failure = ((gdpicturePDF.SetBookmarkAction(bookMarkID1, actionID1) != GdPictureStatus.OK) ||
(gdpicturePDF.SetBookmarkAction(bookMarkID2, actionID2) != GdPictureStatus.OK));
if (failure)
MessageBox.Show("This error occurs in creating the link navigation bookmark hierarchy: " + status.ToString(), caption);
}
}
}
}
if (!failure)
{
status = gdpicturePDF.SaveToFile("bookmarks_NewBookmark.pdf");
if (status == GdPictureStatus.OK)
MessageBox.Show("The new file has been saved successfully.", caption);
else
MessageBox.Show("The new file can't be saved. Status: " + status.ToString(), caption);
}
}
}
else
{
MessageBox.Show("The new file can't be created. Status: " + status.ToString(), caption);
}
gdpicturePDF.Dispose();