Socket
Book a DemoInstallSign in
Socket

@accusoft/prizmdoc-rest-client

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@accusoft/prizmdoc-rest-client

**(BETA)** HTTP client designed to simplify interactions with PrizmDoc Server. Specifically:

latest
Source
npmnpm
Version
1.0.0-beta.11
Version published
Weekly downloads
37
-38.33%
Maintainers
1
Weekly downloads
 
Created
Source

prizmdoc-rest-client (BETA)

(BETA) HTTP client designed to simplify interactions with PrizmDoc Server. Specifically:

  • Automatically handles affinity concerns
  • Provides a way to easily poll for process completion

Installation

npm install @accusoft/prizmdoc-rest-client

Example Usage

Here's an example demonstrating converting a JPEG to PDF:

const PrizmDocRestClient = require('@accusoft/prizmdoc-rest-client');
const fs = require('fs');

async function main() {
  // Construct an instance of the PrizmDocRestClient.
  const prizmdocServer = new PrizmDocRestClient({
    baseUrl: 'https://api.accusoft.com',
    headers: {
      'Acs-Api-Key': 'YOUR_API_KEY'
    }
  });

  // Create an affinity session for our processing work.
  //
  // You should use an affinity session anytime you have a group
  // of HTTP requests that go together as part of a processing
  // chain. The session ensures that all HTTP requests will
  // automatically use the same affinity (be routed to the same
  // PrizmDoc Server machine in the cluster).
  const session = prizmdocServer.createAffinitySession();

  let res;

  // Create a new work file for the input document
  res = await session.post('/PCCIS/V1/WorkFile', {
    body: fs.readFileSync('input.jpg')
  });

  const inputWorkFile = await res.json();

  // Start a conversion process using the input work file
  res = await session.post('/v2/contentConverters', {
    body: JSON.stringify({
      input: {
        sources: [
          {
            fileId: inputWorkFile.fileId
          }
        ],
        dest: {
          format: 'pdf'
        }
      }
    })
  });

  let process = await res.json();

  // Wait for the process to finish
  process = await session.getFinalProcessStatus(`/v2/contentConverters/${process.processId}`);

  // Did the process error?
  if (process.state !== 'complete') {
    throw new Error(`The process failed to complete: ${JSON.stringify(process, null, 2)}`);
  }

  // Download the output work file and save it to disk.
  res = await session.get(`/PCCIS/V1/WorkFile/${process.output.results[0].fileId}`);
  res.body.pipe(fs.createWriteStream('output.pdf'));
}

main();

FAQs

Package last updated on 22 Aug 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts