SetPageMetadata(Byte[]) Method
In This Topic
Sets up the metadata of the currently selected page in the loaded PDF document according to what you have specified.
Syntax
Parameters
- XMP
- A new value of the metadata as an array of bytes in the XML format.
Return Value
A member of the GdPictureStatus enumeration. If the method has been successfully followed, then the return value is GdPictureStatus.OK.
We strongly recommend always checking this status first.
Example
How to set up the metadata linked with all pages of the PDF document. You can use the metadata files created in the example for the GetPageMetadata() method.
Dim gdpicturePDF As New GdPicturePDF()
If gdpicturePDF.LoadFromFile("test.pdf", False) = GdPictureStatus.OK Then
Dim count As Integer = gdpicturePDF.GetPageCount()
Dim status As GdPictureStatus = gdpicturePDF.GetStat()
If status = GdPictureStatus.OK Then
Dim message As String = ""
For i As Integer = 1 To count
status = gdpicturePDF.SelectPage(i)
If status = GdPictureStatus.OK Then
'Each page has its own metadata xmp-file.
Dim filename As String = "metadata_page" + i.ToString() + ".xmp"
Dim data As Byte() = System.IO.File.ReadAllBytes(filename)
status = gdpicturePDF.SetPageMetadata(data)
If status = GdPictureStatus.OK Then
message = message + "The metadata for the page nr." + i.ToString() + " has been set successfully." + vbCrLf
Else
message = message + "The SetPageMetadata() method has failed for the page nr." + i.ToString() + " with the status: " + status.ToString() + vbCrLf
End If
Else
message = message + "The SelectPage() method has failed for the page nr." + i.ToString() + " with the status: " + status.ToString() + vbCrLf
End If
Next
If gdpicturePDF.SaveToFile("test_Metadata.pdf") = GdPictureStatus.OK Then
message = message + "The file has been saved."
Else
message = message + "The file can't be saved."
End If
MessageBox.Show(message, "Example: SetPageMetadata")
Else
MessageBox.Show("The GetPageCount() method has failed with the status: " + status.ToString(), "Example: SetPageMetadata")
End If
Else
MessageBox.Show("The file can't be loaded.", "Example: SetPageMetadata")
End If
gdpicturePDF.Dispose()
GdPicturePDF gdpicturePDF = new GdPicturePDF();
if (gdpicturePDF.LoadFromFile("test.pdf", false) == GdPictureStatus.OK)
{
int count = gdpicturePDF.GetPageCount();
GdPictureStatus status = gdpicturePDF.GetStat();
if (status == GdPictureStatus.OK)
{
string message = "";
for (int i = 1; i <= count; i++)
{
status = gdpicturePDF.SelectPage(i);
if (status == GdPictureStatus.OK)
{
//Each page has its own metadata xmp-file.
string filename = "metadata_page" + i.ToString()+".xmp";
byte[] data = System.IO.File.ReadAllBytes(filename);
status = gdpicturePDF.SetPageMetadata(data);
if (status == GdPictureStatus.OK)
message = message + "The metadata for the page nr." + i.ToString() + " has been set successfully.\n";
else
message = message + "The SetPageMetadata() method has failed for the page nr." + i.ToString() + " with the status: " + status.ToString() + "\n";
}
else
message = message + "The SelectPage() method has failed for the page nr." + i.ToString() + " with the status: " + status.ToString() + "\n";
}
if (gdpicturePDF.SaveToFile("test_Metadata.pdf") == GdPictureStatus.OK)
message = message + "The file has been saved.";
else
message = message + "The file can't be saved.";
MessageBox.Show(message, "Example: SetPageMetadata");
}
else
MessageBox.Show("The GetPageCount() method has failed with the status: " + status.ToString(), "Example: SetPageMetadata");
}
else
MessageBox.Show("The file can't be loaded.", "Example: SetPageMetadata");
gdpicturePDF.Dispose();
Example
How to set up the metadata linked with all pages of the PDF document. You can use the metadata files created in the example for the GetPageMetadata() method.
Dim gdpicturePDF As New GdPicturePDF()
If gdpicturePDF.LoadFromFile("test.pdf", False) = GdPictureStatus.OK Then
Dim count As Integer = gdpicturePDF.GetPageCount()
Dim status As GdPictureStatus = gdpicturePDF.GetStat()
If status = GdPictureStatus.OK Then
Dim message As String = ""
For i As Integer = 1 To count
status = gdpicturePDF.SelectPage(i)
If status = GdPictureStatus.OK Then
'Each page has its own metadata xmp-file.
Dim filename As String = "metadata_page" + i.ToString() + ".xmp"
Dim data As Byte() = System.IO.File.ReadAllBytes(filename)
status = gdpicturePDF.SetPageMetadata(data)
If status = GdPictureStatus.OK Then
message = message + "The metadata for the page nr." + i.ToString() + " has been set successfully." + vbCrLf
Else
message = message + "The SetPageMetadata() method has failed for the page nr." + i.ToString() + " with the status: " + status.ToString() + vbCrLf
End If
Else
message = message + "The SelectPage() method has failed for the page nr." + i.ToString() + " with the status: " + status.ToString() + vbCrLf
End If
Next
If gdpicturePDF.SaveToFile("test_Metadata.pdf") = GdPictureStatus.OK Then
message = message + "The file has been saved."
Else
message = message + "The file can't be saved."
End If
MessageBox.Show(message, "Example: SetPageMetadata")
Else
MessageBox.Show("The GetPageCount() method has failed with the status: " + status.ToString(), "Example: SetPageMetadata")
End If
Else
MessageBox.Show("The file can't be loaded.", "Example: SetPageMetadata")
End If
gdpicturePDF.Dispose()
GdPicturePDF gdpicturePDF = new GdPicturePDF();
if (gdpicturePDF.LoadFromFile("test.pdf", false) == GdPictureStatus.OK)
{
int count = gdpicturePDF.GetPageCount();
GdPictureStatus status = gdpicturePDF.GetStat();
if (status == GdPictureStatus.OK)
{
string message = "";
for (int i = 1; i <= count; i++)
{
status = gdpicturePDF.SelectPage(i);
if (status == GdPictureStatus.OK)
{
//Each page has its own metadata xmp-file.
string filename = "metadata_page" + i.ToString()+".xmp";
byte[] data = System.IO.File.ReadAllBytes(filename);
status = gdpicturePDF.SetPageMetadata(data);
if (status == GdPictureStatus.OK)
message = message + "The metadata for the page nr." + i.ToString() + " has been set successfully.\n";
else
message = message + "The SetPageMetadata() method has failed for the page nr." + i.ToString() + " with the status: " + status.ToString() + "\n";
}
else
message = message + "The SelectPage() method has failed for the page nr." + i.ToString() + " with the status: " + status.ToString() + "\n";
}
if (gdpicturePDF.SaveToFile("test_Metadata.pdf") == GdPictureStatus.OK)
message = message + "The file has been saved.";
else
message = message + "The file can't be saved.";
MessageBox.Show(message, "Example: SetPageMetadata");
}
else
MessageBox.Show("The GetPageCount() method has failed with the status: " + status.ToString(), "Example: SetPageMetadata");
}
else
MessageBox.Show("The file can't be loaded.", "Example: SetPageMetadata");
gdpicturePDF.Dispose();
See Also