Reference Guide
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 oGdPicturePDF As New GdPicturePDF()
    If (oGdPicturePDF.NewPDF() = GdPictureStatus.OK) AndAlso
       (oGdPicturePDF.NewPage(PdfPageSizes.PdfPageSizeA4) = GdPictureStatus.OK) Then
        Dim image_res_name As String = oGdPicturePDF.AddJpegImageFromFile("image.jpg")
        Dim status As GdPictureStatus = oGdPicturePDF.GetStat()
        If status = GdPictureStatus.OK Then
            Dim ocgID As Integer = oGdPicturePDF.NewOCG("Image layer")
            status = oGdPicturePDF.GetStat()
            If (status = GdPictureStatus.OK) AndAlso
               (oGdPicturePDF.SetImageOptional(image_res_name, ocgID) = GdPictureStatus.OK) Then
                If (oGdPicturePDF.SetOCGExportState(ocgID, PdfOcgState.StateOff) = GdPictureStatus.OK) AndAlso
                   (oGdPicturePDF.SetOCGLockedState(ocgID, True) = GdPictureStatus.OK) AndAlso
                   (oGdPicturePDF.SetOCGPrintState(ocgID, PdfOcgState.StateOn) = GdPictureStatus.OK) AndAlso
                   (oGdPicturePDF.SetOCGViewState(ocgID, PdfOcgState.StateOn) = GdPictureStatus.OK) Then
                    If oGdPicturePDF.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: " + oGdPicturePDF.GetStat().ToString(), caption)
                    End If
                Else
                    MessageBox.Show("Setting up layer's options has failed with the status: " + oGdPicturePDF.GetStat().ToString(), caption)
                End If
            Else
                MessageBox.Show("The NewOCG() or SetImageOptional() method has failed with the status: " + oGdPicturePDF.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
    oGdPicturePDF.Dispose()
    string caption = "Example: SetImageOptional";
    GdPicturePDF oGdPicturePDF = new GdPicturePDF();
    if ((oGdPicturePDF.NewPDF() == GdPictureStatus.OK) &&
        (oGdPicturePDF.NewPage(PdfPageSizes.PdfPageSizeA4) == GdPictureStatus.OK))
    {
        string image_res_name = oGdPicturePDF.AddJpegImageFromFile("image.jpg");
        GdPictureStatus status = oGdPicturePDF.GetStat();
        if (status == GdPictureStatus.OK)
        {
            int ocgID = oGdPicturePDF.NewOCG("Image layer");
            status = oGdPicturePDF.GetStat();
            if ((status == GdPictureStatus.OK) &&
                (oGdPicturePDF.SetImageOptional(image_res_name, ocgID) == GdPictureStatus.OK))
            {
                if ((oGdPicturePDF.SetOCGExportState(ocgID, PdfOcgState.StateOff) == GdPictureStatus.OK) &&
                    (oGdPicturePDF.SetOCGLockedState(ocgID, true) == GdPictureStatus.OK) &&
                    (oGdPicturePDF.SetOCGPrintState(ocgID, PdfOcgState.StateOn) == GdPictureStatus.OK) &&
                    (oGdPicturePDF.SetOCGViewState(ocgID, PdfOcgState.StateOn) == GdPictureStatus.OK))
                {
                    if (oGdPicturePDF.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: " + oGdPicturePDF.GetStat().ToString(), caption);
                    }
                }
                else
                {
                    MessageBox.Show("Setting up layer's options has failed with the status: " + oGdPicturePDF.GetStat().ToString(), caption);
                }
            }
            else
            {
                MessageBox.Show("The NewOCG() or SetImageOptional() method has failed with the status: " + oGdPicturePDF.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);
    }
    oGdPicturePDF.Dispose();
    See Also