PrizmDoc Viewer v13.14 - Updated
Developer Guide / PAS / Pre-Convert Documents
In This Topic
    Pre-Convert Documents
    In This Topic

    Pre-converting documents in PrizmDoc Application Services (PAS)

    When viewing large documents, a user can experience a delay viewing later pages in the document. The Pre-conversion API allows the user to avoid any delay in viewing a fully converted document prior to the creation of a viewing session.

    This section describes a typical use in pre-converting and management of the pre-converted Viewing Packages:

    1. How to Create a Viewing Package by Pre-converting Documents.
    2. How to Obtain Information for a Viewing Package.
    3. How to Delete a Viewing Package

    How to Create a Viewing Package by Pre-converting Documents

    Pre-conversion is available by using the Pre-conversion API. For detailed information, refer to the PrizmDoc Application Services RESTful Viewing Package Creators API section.

    Documents are pre-converted using the following steps:

    Step 1

    Issue a POST request with the body of the request containing JSON formatted 'source' object. The source.type property can be a "document", "url" or "upload".

    In this example, "document" is used as a source.type property.

    POST http://localhost:3000/v2/viewingPackageCreators
    
    

    viewingPackageCreator POST Body

        Content-Type: application/json
        {
            "input": {
                "source": {
                    "type": "document",
                    "fileName": "sample.doc",
                    "documentId": "unT67Fxekm8lk1p0kPnyg8",
                    . . .
                },
                "viewingPackageLifetime": 2592000
            }
        }
    
    

    A successful response to the above POST provides a processId in the response body:

        200 OK
        Content-Type: application/json
        {
            "input": {
                "source": {
                    "type": "document",
                    "fileName": "sample.doc",
                    "documentId": "unT67Fxekm8lk1p0kPnyg8",
                    . . .
                },
                "viewingPackageLifetime": 2592000
            },
            "expirationDateTime": "2015-12-09T06:22:18.624Z",
            "processId": "khjyrfKLj2g6gv8fdqg710",
            "state": "processing",
            "percentComplete": 0
        }
    
    

    Step 2

    Using the processId obtained in the step 1, query the pre-conversion process for the status:

    Example

    GET http://localhost:3000/v2/viewingPackageCreators/khjyrfKLj2g6gv8fdqg710
    
    

    A successful response body contains the JSON formatted properties state and percentComplete. The state value indicates whether it is complete or processing and the property percentComplete indicates percentage amount complete.

    Start polling the status by issuing a GET command using the above URL. It is recommended to use shorter intervals initially between the requests for the first few times. If it is still not complete, then the document may be large, requiring more processing time.

    In scenarios like this, an increase in the time interval between requests would be necessary to prevent a large number of status requests that could potentially cause network congestion. On 100% completion, the response body will among other information contain an output object with packageExpirationDateTime property:

        200 OK
        Content-Type: application/json
        {
            "input": {
               "source": {
                    "type": "document",
                    "fileName": "sample.doc",
                    "documentId": "unT67Fxekm8lk1p0kPnyg8",
                    . . .
               },
               "viewingPackageLifetime": 2592000
            },
            "output": {
                "packageExpirationDateTime": "2016-1-09T06:22:18.624Z"
            },
            "expirationDateTime": "2015-12-09T06:22:18.624Z",
            "processId": "khjyrfKLj2g6gv8fdqg710",
            "state": "complete",
            "percentComplete": 100
        }
    
    

    How to obtain information about the converted Viewing Package

    For obtaining detailed information about the converted Viewing Package, refer to the PrizmDoc Application Services RESTful Viewing Packages API section.

    When the status is 100% complete, details can be obtained about the converted package by issuing the following request:

    GET http://localhost:3000/v2/viewingPackages/unT67Fxekm8lk1p0kPnyg8
    
    

    Example Response Body

        200 OK
        Content-Type: application/json
        {
            "input": {
                "source": {
                    "type": "document",
                    "fileName": "sample.doc",
                    "documentId": "unT67Fxekm8lk1p0kPnyg8",
                    . . .
                },
                "viewingPackageLifetime": 2592000
            },
            "state": "complete",
            "packageExpirationDateTime": "2016-1-09T06:22:18.624Z"
        }
    
    

    How to Delete a Previously Converted Package

    For obtaining detailed information about deleting converted Viewing Package, refer to the PrizmDoc Application Services RESTful Viewing Packages API section.

    A previously converted package can be deleted by issuing a DELETE request:

    DELETE http://localhost:3000/v2/viewingPackages/unT67Fxekm8lk1p0kPnyg8
    
    

    This request marks the package for asynchronous deletion. A successful response is as follows:

    204 (No Content)