GetOCGCount Method (GdPicturePDF)
Returns the number of the optional content group (OCG) entries defined in the currently loaded PDF document.
Optional Content Groups, also knows as Layers, are a very effective tool to control the visibility of the page content, that can be selectively viewed or hidden, by users or viewers.
public function GetOCGCount(): Integer;
public function GetOCGCount() : int;
public: int GetOCGCount();
public:
int GetOCGCount();
'Declaration
Public Function GetOCGCount() As Integer
Return Value
The number of OCG entries (layers) defined in the document. The
GdPicturePDF.GetStat method can be subsequently used to determine if this method has been successful.
How to find out the number of layers defined in the PDF document and enumerate them subsequently.
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: GetOCGCount")
Else
MessageBox.Show("The GetOCGCount() method has failed with the status: " + status.ToString(), "Example: GetOCGCount")
End If
Else
MessageBox.Show("The file can't be loaded.", "Example: GetOCGCount")
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: GetOCGCount");
}
else
{
MessageBox.Show("The GetOCGCount() method has failed with the status: " + status.ToString(), "Example: GetOCGCount");
}
}
else
{
MessageBox.Show("The file can't be loaded.", "Example: GetOCGCount");
}
gdpicturePDF.Dispose();