How to Convert TIFF Files to PDF Using JavaScript

Table of contents

    How to Convert TIFF Files to PDF Using JavaScript

    In this post, you’ll learn how to convert the TIFF file format to PDF using Nutrient DWS Processor’s TIFF to PDF JavaScript API(opens in a new tab). With our API, you receive 200 credits with the free plan. Different operations on a document consume different amounts of credits, so the number of PDF documents you can generate may vary. All you need to do is create a free account(opens in a new tab) to get access to your API key.

    Nutrient DWS Processor API

    Converting from TIFF to PDF is just one of our 30+ PDF API tools(opens in a new tab). You can combine our conversion tool with other tools to create complex document processing workflows. You’ll be able to convert various file formats(opens in a new tab) into PDFs and then:

    • Merge several resulting PDFs into one
    • OCR, watermark, or flatten PDFs
    • Remove or duplicate specific PDF pages

    Once you create your account, you’ll be able to access all our PDF API tools.

    Step 1 — Creating a Free Account on Nutrient DWS Processor

    Go to our website(opens in a new tab), where you’ll see the page below, prompting you to create your free account.

    Free account Nutrient DWS Processor API

    Once you’ve created your account, you’ll be welcomed by a page showing an overview of your plan details. You’ll start with 200 credits to process, and you’ll be able to access all our PDF API tools.

    Step 2 — Obtaining the API Key

    After you’ve verified your email, you can get your API key from the dashboard. In the menu on the left, click API Keys. You’ll see the following page, which is an overview of your keys:

    Convert TIFF to PDF JavaScript API Key

    Copy the Live API Key, because you’ll need this for the TIFF to PDF API.

    Step 3 — Setting Up Folders and Files

    Now, create a folder called tiff_to_pdf and open it in a code editor. For this tutorial, you’ll use VS Code as your primary code editor. Next, create two folders inside tiff_to_pdf and name them input_documents and processed_documents.

    Next, copy your TIFF file to the input_documents folder and rename it to image.tiff. You can use our demo image(opens in a new tab) as an example.

    Then, in the root folder, tiff_to_pdf, create a file called processor.js. This is the file where you’ll keep your code.

    Your folder structure will look like this:

    tiff_to_pdf
    ├── input_documents
    | └── image.tiff
    ├── processed_documents
    └── processor.js

    Step 4 — Installing Dependencies

    To get started converting files, you first need to install the following dependencies:

    Use the command below to install both of them:

    npm install axios
    npm install form-data

    Step 5 — Writing the Code

    Now, open the processor.js file and paste the code below into it:

    const axios = require('axios');
    const FormData = require('form-data');
    const fs = require('fs');
    const formData = new FormData();
    formData.append(
    'instructions',
    JSON.stringify({
    parts: [
    {
    file: 'image',
    },
    ],
    }),
    );
    formData.append(
    'image',
    fs.createReadStream('input_documents/image.tiff'),
    );
    (async () => {
    try {
    const response = await axios.post(
    'https://api.pspdfkit.com/build',
    formData,
    {
    headers: formData.getHeaders({
    Authorization: 'Bearer YOUR_API_KEY_HERE',
    }),
    responseType: 'stream',
    },
    );
    response.data.pipe(
    fs.createWriteStream('processed_documents/result.pdf'),
    );
    } catch (e) {
    const errorString = await streamToString(e.response.data);
    console.log(errorString);
    }
    })();
    function streamToString(stream) {
    const chunks = [];
    return new Promise((resolve, reject) => {
    stream.on('data', (chunk) => chunks.push(Buffer.from(chunk)));
    stream.on('error', (err) => reject(err));
    stream.on('end', () =>
    resolve(Buffer.concat(chunks).toString('utf8')),
    );
    });
    }

    ℹ️ Note: Make sure to replace YOUR_API_KEY_HERE with your API key.

    Code Explanation

    Here, you have a formData variable that contains the instructions for the API. You first use createReadStream to read the input file. You then use the axios.post() function that’ll make the POST request to the TIFF to PDF API. The response of the API is stored in the processed_documents folder.

    Output

    To execute the code, run the command below:

    Terminal window
    node processor.js

    On the successful execution of the code, you’ll see a new processed file named result.pdf in the processed_documents folder.

    The folder structure will look like this:

    tiff_to_pdf
    ├── input_documents
    | └── image.tiff
    ├── processed_documents
    | └── result.pdf
    └── processor.js

    Final Words

    In this post, you learned how to seamlessly integrate our TIFF to PDF API into your JavaScript application and programmatically convert TIFF files to PDF documents.

    In addition to document conversion, you can integrate multiple API tools into your existing applications. With the same API token, you can perform other operations, such as merging several documents into a single PDF, adding watermarks, and more. To get started with a free trial, sign up(opens in a new tab) here.

    Jonathan D. Rhyne

    Jonathan D. Rhyne

    Co-Founder and CEO

    Jonathan joined Nutrient in 2014. As CEO, Jonathan defines the company’s vision and strategic goals, bolsters the team culture, and steers product direction. When he’s not working, he enjoys being a dad, photography, and soccer.

    Explore related topics

    FREE TRIAL Ready to get started?