Some test text!

Search
Hamburger Icon

Web / Guides / WVS API Wrapper

WebViewer Server API Wrapper

We offer a script file in the tools section of our WebViewer Server download package called WVSApiWrapper.js, this script allows the use of WebViewer Server using the extended API. This script currently provides functionality for PDF fetching and thumbnail fetching with future features planned.

This wrapper can be used with your WebViewer Server without the need for WebViewer. We have written it as a single Javascript file with no dependencies to allow ease of deployment.

Usage

<script src="./WVSApiWrapper.js"></script>
<script>
  var wvs = WebViewerServer({
      serverUrl: "http://<HOST_IP_ADDRESS or localhost>:8090"
  });

  wvs.getPDF({  uri: 'http://<HOST_IP_ADDRESS or localhost>:8090/myfile.pdf' }).then(function (pdfLink) {
      window.open(pdfLink, "theFrame");
  });
</script>

<html>
    <iframe name="theFrame" width="1000" height="1000" ></iframe>
</html>

Available Functions

WebViewerServer

getPDF

getThumb

WebViewerServer

Constructs a server object to communicate with WebViewer Server.

Params

options

An object containing options for the server.

serverUrl

The address to your WebViewer Server. Required.

Example

const server = WebViewerServer({
  serverUrl: http://pdftron.com/myserver
});

Returns

The server object containing all callable functions for the Extended API wrapper.

WebViewerServer.getPDF

Generates a PDF on the server from the passed URL. Returns a link to the completed PDF.

Params

options

An object containing options for the getPdfFromUrl call. The following are possible arguments:

uri

The uri of the document to generate a PDF from. Overwritten if the file argument is passed.

file

A file object for a document to generate a PDF from. Overwrites the uri argument if passed.

pdfa

If set to true, conversions will be done according to the PDFA format. This feature is only available when using the uri argument.

linearize

If set to true, the file returned will be linearized.

xfdf

Can be set to XFDF that should be merged with the file. Expects UTF-8 encoded XFDF data as a string.

customHeaders

The custom headers will be used when the server fetches the document requested through the uri argument. They should be passed as a JSON object.

options: {
   customHeaders: {Cookie: 'test=123', MyHeader: '123'}
}

extension

The format of the document passed. Only required if the uri passed does not have the correct document extension.

cacheKey

The cacheKey to lock the cache to for this document. If not passed, caching is handled through normal mechanisms.

onProgress

A callback function that returns current progress on the job.

Example

function onprog(data) {
  console.log(data);
  // will print current progress
  // { type: 'fetch' or 'upload', loaded: current progress, total: 'total'}
}

server.getPDF({
  uri: 'http://pdftron.com/sample.docx,
  extension: 'docx',
  onProgress: onprog,
}).then(uri => {
  console.log(uri);
  // do something with file link
}).then(e => {
  console.log(e);
});

// now we do the same, except with a file directly on the local system
// get file from input element
const selectedFile = document.getElementById('input').files[0];
server.getPDF({
  file: selectedFile
  onProgress: onprog,
}).then(uri => {
  console.log(uri);
  // do something with file link
}).catch(e => {
  console.log(e);
});

Returns

A promise which resolves to the completed URL for the PDF or rejects with an error.

WebViewerServer.getThumb

Generates a thumb (image render) of a PDF on the server from the passed URL or file object.

Params

options*

An object containing options for the getPdfFromUrl call. The following are possible arguments:

uri

The uri of the document to generate a PDF from. Overwritten if the file argument is passed.

file

A file object for a document to generate a PDF from. Overwrites the uri argument if passed.

onProgress

A callback function that returns current progress on the job.

customHeaders

The custom headers will be used when the server fetches the document requested through the uri argument. They should be passed as a JSON object.

options: {
   customHeaders: {Cookie: 'test=123', MyHeader: '123'}
}

cacheKey

The cacheKey to lock the cache to for this document. If not passed, caching is handled through normal mechanisms.

size

The desired size of the rendered image. Allows for large (1280p) medium (640p) small 320p. Defaults to large.

page

The desired page to render of the PDF into an image. Page numbers are indexed starting at 0. Defaults to 0.

Example

function onprog(data) {
  console.log(data);
  // will print current progress
  // { type: 'fetch' or 'upload', loaded: current progress, total: 'total'}
}

server.getThumb({
  uri: 'http://pdftron.com/sample.docx,
  extension: 'docx',
  onProgress: onprog,
}).then(uri => {
  console.log(uri);
  // do something with file link
}).then(e => {
  console.log(e);
});

// now we do the same, except with a file directly on the local system
// get file from input element
const selectedFile = document.getElementById('input').files[0];
server.getThumb({
  file: selectedFile
  onProgress: onprog,
}).then(function(uri) {
  console.log(uri);
  // do something with file link
}).catch(function(e) {
  console.log(e);
});

Returns

A promise which resolves to the completed URL for the image or rejects with an error.

Get the answers you need: Chat with us