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:
- How to Create a Viewing Package by Pre-converting Documents.
- How to Obtain Information for a Viewing Package.
- 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)