GdPicture.NET.14
GdPicture14 Namespace / GdPicturePDF Class / SetImageOptional Method
The resource name of the image you want to add to be the OCG's (layer's) content.

You can obtain this identifier using these methods: AddImageFrom...(), AddJpegImageFrom...() or GetPageImageResName. You can also take advantages of the GdPictureImaging class and its methods to load the image file of your favourite format.

The unique identifier of the required OCG entry. You can obtain this identifier using the GetOCG method.
Example





In This Topic
SetImageOptional Method (GdPicturePDF)
In This Topic
Adds a required image resource to be the content of an optional content group, specified by its unique identifier.
Syntax
'Declaration
 
Public Function SetImageOptional( _
   ByVal ImageResName As String, _
   ByVal OCGId As Integer _
) As GdPictureStatus
public GdPictureStatus SetImageOptional( 
   string ImageResName,
   int OCGId
)
public function SetImageOptional( 
    ImageResName: String;
    OCGId: Integer
): GdPictureStatus; 
public function SetImageOptional( 
   ImageResName : String,
   OCGId : int
) : GdPictureStatus;
public: GdPictureStatus SetImageOptional( 
   string* ImageResName,
   int OCGId
) 
public:
GdPictureStatus SetImageOptional( 
   String^ ImageResName,
   int OCGId
) 

Parameters

ImageResName
The resource name of the image you want to add to be the OCG's (layer's) content.

You can obtain this identifier using these methods: AddImageFrom...(), AddJpegImageFrom...() or GetPageImageResName. You can also take advantages of the GdPictureImaging class and its methods to load the image file of your favourite format.

OCGId
The unique identifier of the required OCG entry. You can obtain this identifier using the GetOCG method.

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.

Remarks
This method is only allowed for use with non-encrypted documents.
Example
How to add an image to be the content of the specified layer in the PDF document.
Dim caption As String = "Example: SetImageOptional"
Dim gdpicturePDF As New GdPicturePDF()
If (gdpicturePDF.NewPDF() = GdPictureStatus.OK) AndAlso
   (gdpicturePDF.NewPage(PdfPageSizes.PdfPageSizeA4) = GdPictureStatus.OK) Then
    Dim image_res_name As String = gdpicturePDF.AddJpegImageFromFile("image.jpg")
    Dim status As GdPictureStatus = gdpicturePDF.GetStat()
    If status = GdPictureStatus.OK Then
        Dim ocgID As Integer = gdpicturePDF.NewOCG("Image layer")
        status = gdpicturePDF.GetStat()
        If (status = GdPictureStatus.OK) AndAlso
           (gdpicturePDF.SetImageOptional(image_res_name, ocgID) = GdPictureStatus.OK) Then
            If (gdpicturePDF.SetOCGExportState(ocgID, PdfOcgState.StateOff) = GdPictureStatus.OK) AndAlso
               (gdpicturePDF.SetOCGLockedState(ocgID, True) = GdPictureStatus.OK) AndAlso
               (gdpicturePDF.SetOCGPrintState(ocgID, PdfOcgState.StateOn) = GdPictureStatus.OK) AndAlso
               (gdpicturePDF.SetOCGViewState(ocgID, PdfOcgState.StateOn) = GdPictureStatus.OK) Then
                If gdpicturePDF.SaveToFile("test_ImageLayer.pdf") = GdPictureStatus.OK Then
                    MessageBox.Show("The example HAS been followed successfully and the file has been saved.", caption)
                Else
                    MessageBox.Show("The example HAS been followed successfully, but the file can't be saved. Status: " + gdpicturePDF.GetStat().ToString(), caption)
                End If
            Else
                MessageBox.Show("Setting up layer's options has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
            End If
        Else
            MessageBox.Show("The NewOCG() or SetImageOptional() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
        End If
    Else
        MessageBox.Show("The AddJpegImageFromFile() method has failed with the status: " + status.ToString(), caption)
    End If
Else
    MessageBox.Show("The document can't be created.", caption)
End If
gdpicturePDF.Dispose()
string caption = "Example: SetImageOptional";
GdPicturePDF gdpicturePDF = new GdPicturePDF();
if ((gdpicturePDF.NewPDF() == GdPictureStatus.OK) &&
    (gdpicturePDF.NewPage(PdfPageSizes.PdfPageSizeA4) == GdPictureStatus.OK))
{
    string image_res_name = gdpicturePDF.AddJpegImageFromFile("image.jpg");
    GdPictureStatus status = gdpicturePDF.GetStat();
    if (status == GdPictureStatus.OK)
    {
        int ocgID = gdpicturePDF.NewOCG("Image layer");
        status = gdpicturePDF.GetStat();
        if ((status == GdPictureStatus.OK) &&
            (gdpicturePDF.SetImageOptional(image_res_name, ocgID) == GdPictureStatus.OK))
        {
            if ((gdpicturePDF.SetOCGExportState(ocgID, PdfOcgState.StateOff) == GdPictureStatus.OK) &&
                (gdpicturePDF.SetOCGLockedState(ocgID, true) == GdPictureStatus.OK) &&
                (gdpicturePDF.SetOCGPrintState(ocgID, PdfOcgState.StateOn) == GdPictureStatus.OK) &&
                (gdpicturePDF.SetOCGViewState(ocgID, PdfOcgState.StateOn) == GdPictureStatus.OK))
            {
                if (gdpicturePDF.SaveToFile("test_ImageLayer.pdf") == GdPictureStatus.OK)
                {
                    MessageBox.Show("The example HAS been followed successfully and the file has been saved.", caption);
                }
                else
                {
                    MessageBox.Show("The example HAS been followed successfully, but the file can't be saved. Status: " + gdpicturePDF.GetStat().ToString(), caption);
                }
            }
            else
            {
                MessageBox.Show("Setting up layer's options has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
            }
        }
        else
        {
            MessageBox.Show("The NewOCG() or SetImageOptional() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
        }
    }
    else
    {
        MessageBox.Show("The AddJpegImageFromFile() method has failed with the status: " + status.ToString(), caption);
    }
}
else
{
    MessageBox.Show("The document can't be created.", caption);
}
gdpicturePDF.Dispose();
See Also