GetOCG Method (GdPicturePDF)
Returns a unique identifier of an optional content group according to the index you have specified. You can use the
GdPicturePDF.GetOCGCount method to determine the number of all OCG entries (layers) used in the PDF document.
public function GetOCG(
: Integer
): Integer;
public function GetOCG(
: int
) : int;
public: int GetOCG(
int
)
public:
int GetOCG(
int
)
'Declaration
Public Function GetOCG( _
ByVal As Integer _
) As Integer
Parameters
- OCGIdx
- The index of the required optional content group. It must be a value from 0 to GdPicturePDF.GetOCGCount-1.
Return Value
The unique identifier of the specified OCG entry. The
GdPicturePDF.GetStat method can be subsequently used to determine if this method has been successful.
How to find out the proper layer identifier and some of the corresponding layer's properties.
Dim gdpicturePDF As New GdPicturePDF()
Dim status As GdPictureStatus = gdpicturePDF.LoadFromFile("test.pdf", False)
If status = GdPictureStatus.OK Then
Dim output As String = ""
Dim ocgCount As Integer = gdpicturePDF.GetOCGCount()
status = gdpicturePDF.GetStat()
If status = GdPictureStatus.OK Then
output = "The number of OCG layers: " + ocgCount.ToString()
Dim OcgId As Integer = 0
Dim title As String = ""
Dim state As PdfOcgState = PdfOcgState.Undefined
Dim onOff As Boolean = False
For i As Integer = 0 To ocgCount - 1
output = output + vbCrLf + "Nr." + (i + 1).ToString() + ": "
OcgId = gdpicturePDF.GetOCG(i)
status = gdpicturePDF.GetStat()
If status = GdPictureStatus.OK Then
title = gdpicturePDF.GetOCGTitle(OcgId)
status = gdpicturePDF.GetStat()
If status = GdPictureStatus.OK Then
output = output + "Title = " + title.ToString()
Else
output = output + "Title = Error (" + status.ToString() + ")"
End If
state = gdpicturePDF.GetOCGViewState(OcgId)
status = gdpicturePDF.GetStat()
If status = GdPictureStatus.OK Then
output = output + " ; View = " + state.ToString()
Else
output = output + " ; View = Error (" + status.ToString() + ")"
End If
state = gdpicturePDF.GetOCGExportState(OcgId)
status = gdpicturePDF.GetStat()
If status = GdPictureStatus.OK Then
output = output + " ; Export = " + state.ToString()
Else
output = output + " ; Export = Error (" + status.ToString() + ")"
End If
state = gdpicturePDF.GetOCGPrintState(OcgId)
status = gdpicturePDF.GetStat()
If status = GdPictureStatus.OK Then
output = output + " ; Print = " + state.ToString()
Else
output = output + " ; Print = Error (" + status.ToString() + ")"
End If
onOff = gdpicturePDF.GetOCGLockedState(OcgId)
status = gdpicturePDF.GetStat()
If status = GdPictureStatus.OK Then
output = output + " ; Locked = " + onOff.ToString()
Else
output = output + " ; Locked = Error (" + status.ToString() + ")"
End If
Else
output = output + "The GetOCG() method has failed with the status: " + status.ToString()
End If
Next
MessageBox.Show(output, "Example: GetOCG")
Else
MessageBox.Show("The GetOCGCount() method has failed with the status: " + status.ToString(), "Example: GetOCG")
End If
Else
MessageBox.Show("The file can't be loaded.", "Example: GetOCG")
End If
gdpicturePDF.Dispose()
GdPicturePDF gdpicturePDF = new GdPicturePDF();
GdPictureStatus status = gdpicturePDF.LoadFromFile("test.pdf", false);
if (status == GdPictureStatus.OK)
{
string output = "";
int ocgCount = gdpicturePDF.GetOCGCount();
status = gdpicturePDF.GetStat();
if (status == GdPictureStatus.OK)
{
output = "The number of OCG layers: " + ocgCount.ToString();
int OcgId = 0;
string title = "";
PdfOcgState state = PdfOcgState.Undefined;
bool onOff = false;
for (int i = 0; i < ocgCount; i++)
{
output = output + "\nNr." + (i + 1).ToString() + ": ";
OcgId = gdpicturePDF.GetOCG(i);
status = gdpicturePDF.GetStat();
if (status == GdPictureStatus.OK)
{
title = gdpicturePDF.GetOCGTitle(OcgId);
status = gdpicturePDF.GetStat();
if (status == GdPictureStatus.OK)
output = output + "Title = " + title.ToString();
else
output = output + "Title = Error (" + status.ToString() + ")";
state = gdpicturePDF.GetOCGViewState(OcgId);
status = gdpicturePDF.GetStat();
if (status == GdPictureStatus.OK)
output = output + " ; View = " + state.ToString();
else
output = output + " ; View = Error (" + status.ToString() + ")";
state = gdpicturePDF.GetOCGExportState(OcgId);
status = gdpicturePDF.GetStat();
if (status == GdPictureStatus.OK)
output = output + " ; Export = " + state.ToString();
else
output = output + " ; Export = Error (" + status.ToString() + ")";
state = gdpicturePDF.GetOCGPrintState(OcgId);
status = gdpicturePDF.GetStat();
if (status == GdPictureStatus.OK)
output = output + " ; Print = " + state.ToString();
else
output = output + " ; Print = Error (" + status.ToString() + ")";
onOff = gdpicturePDF.GetOCGLockedState(OcgId);
status = gdpicturePDF.GetStat();
if (status == GdPictureStatus.OK)
output = output + " ; Locked = " + onOff.ToString();
else
output = output + " ; Locked = Error (" + status.ToString() + ")";
}
else
output = output + "The GetOCG() method has failed with the status: " + status.ToString();
}
MessageBox.Show(output, "Example: GetOCG");
}
else
{
MessageBox.Show("The GetOCGCount() method has failed with the status: " + status.ToString(), "Example: GetOCG");
}
}
else
{
MessageBox.Show("The file can't be loaded.", "Example: GetOCG");
}
gdpicturePDF.Dispose();