Link Search Menu Expand Document

Classify PDF Document - Salesforce

Document Classifier sample in Salesforce demonstrating ‘Classify PDF Document’

PDFClassifier.cls
public class PDFClassifier {

    String API_KEY = 'YOUR_PDF_CO_API_HERE';
    String endPointUrl = 'https://api.pdf.co/v1/pdf/classifier';

    public void classifyPdf() {
        try {
            String jsonBody = '{ "url": "https://pdfco-test-files.s3.us-west-2.amazonaws.com/document-parser/sample-invoice.pdf", "async": false, "encrypt": "false", "inline": "true", "password": "", "profiles": "" }';
            Http http = new Http();
            HttpRequest request = new HttpRequest();
            request.setHeader('x-api-key', API_KEY);
            request.setEndpoint(endPointUrl);
            request.setHeader('Content-Type', 'application/json');
            request.setMethod('POST');
            request.setBody(jsonBody);
            HttpResponse response = http.send(request);

            if(response.getStatusCode() == 200) {
                System.debug('PDF classification result: ' + response.getBody());
            } else {
                System.debug('Error Response ' + response.getBody());
                System.Debug(' Status ' + response.getStatus());
                System.Debug(' Status Code' + response.getStatusCode());
                System.Debug(' Response String' + response.toString());
            }
        } catch (Exception ex) {
            String errorBody = 'Message: ' + ex.getMessage() + ' -- Cause: ' + ex.getCause() + ' -- Stacktrace: ' + ex.getStackTraceString();
            System.Debug(errorBody);
        }
    }
}

PDFClassifierTest.cls
@isTest
private class PDFClassifierTest {

    static testMethod void testPDFClassifier() {
        Test.startTest();
        Test.setMock(HttpCalloutMock.class, new PDFClassifierTest.PDFClassifierMock());
        PDFClassifier pdfClassifier = new PDFClassifier();
        pdfClassifier.classifyPdf();
        Test.stopTest();
    }

    public class PDFClassifierMock implements HttpCalloutMock {
        public HttpResponse respond(HTTPRequest req) {
            HttpResponse res = new HttpResponse();
            String testBody = '{"value":"INVOICE","confidence":0.9987059,"error":false,"status":200}';
            res.setHeader('Content-Type', 'application/json');
            res.setBody(testBody);
            res.setStatusCode(200);
            return res;
        }
    }
}

PDF.co Web API: the Web API with a set of tools for documents manipulation, data conversion, data extraction, splitting and merging of documents. Includes image recognition, built-in OCR, barcode generation and barcode decoders to decode bar codes from scans, pictures and pdf.

Get your PDF.co API key here!

Download Source Code (.zip)

return to the previous page explore Document Classifier endpoint