Sample code for 30+ languages & platforms
PureBasic

PDF List Unsigned Signature Fields

See more PDF Signatures Examples

Demonstrates how to list the unsigned signature fields in a PDF.

Note: This example requires Chilkat v9.5.0.90 or greater.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkPdf.pb"
IncludeFile "CkJsonObject.pb"

Procedure ChilkatExample()

    success.i = 0

    ; This example requires the Chilkat API to have been previously unlocked.
    ; See Global Unlock Sample for sample code.

    pdf.i = CkPdf::ckCreate()
    If pdf.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    ; Load a PDF containing 2 remaining unsigned signature fields:
    success = CkPdf::ckLoadFile(pdf,"qa_data/pdf/doctor_patient_parent.pdf")
    If success = 0
        Debug CkPdf::ckLastErrorText(pdf)
        CkPdf::ckDispose(pdf)
        ProcedureReturn
    EndIf

    ; Note: This example requires Chilkat v9.5.0.90 or greater.
    json.i = CkJsonObject::ckCreate()
    If json.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkPdf::ckGetUnsignedSigFields(pdf,json)

    CkJsonObject::setCkEmitCompact(json, 0)
    Debug CkJsonObject::ckEmit(json)

    ; Result:
    ; {
    ;   "unsignedSigField": [
    ;     "doctor_signature",
    ;     "parent_signature"
    ;   ]
    ; }

    ; To iterate over the field names:
    strVal.s

    i.i = 0
    count_i.i = CkJsonObject::ckSizeOfArray(json,"unsignedSigField")
    While i < count_i
        CkJsonObject::setCkI(json, i)
        strVal = CkJsonObject::ckStringOf(json,"unsignedSigField[i]")
        Debug strVal
        i = i + 1
    Wend


    CkPdf::ckDispose(pdf)
    CkJsonObject::ckDispose(json)


    ProcedureReturn
EndProcedure