🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more

pdf2html

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pdf2html

PDF to HTML or Text conversion using Apache Tika. Also generate PDF thumbnail using Apache PDFBox.

3.3.0
latest
Version published
Weekly downloads
11K
-16.23%
Maintainers
1
Weekly downloads
 
Created

pdf2html

NPM version npm module downloads Build Status view on npm

pdf2html helps to convert PDF file to HTML or Text using Apache Tika. This module also helps to generate thumbnail image for PDF file using Apache PDFBox.

Installation

via yarn:

yarn add pdf2html

via npm:

npm install --save pdf2html

Java runtime environment (JRE) is required to run this module.

Usage

const pdf2html = require('pdf2html');

const html = await pdf2html.html('sample.pdf');
console.log(html);

Convert to text

const text = await pdf2html.text('sample.pdf');
console.log(text);

Convert as pages

const htmlPages = await pdf2html.pages('sample.pdf');
console.log(htmlPages);
const options = { text: true };
const textPages = await pdf2html.pages('sample.pdf', options);
console.log(textPages);

Extract metadata

const meta = await pdf2html.meta('sample.pdf');
console.log(meta);

Customize maximum buffer to be used

The maxBuffer option specifies the largest number of bytes allowed on stdout or stderr. If this value is exceeded, then the child process is terminated.

By default, the maximum buffer size is 2MB. You can customize it by passing the maxBuffer option.

await pdf2html.meta('sample.pdf', { maxBuffer: 1024 * 10000 }); // set maxBuffer to 10MB
await pdf2html.html('sample.pdf', { maxBuffer: 1024 * 10000 });
await pdf2html.text('sample.pdf', { maxBuffer: 1024 * 10000 });
await pdf2html.pages('sample.pdf', { maxBuffer: 1024 * 10000 });
await pdf2html.thumbnail('sample.pdf', { maxBuffer: 1024 * 10000 });

Generate thumbnail

const thumbnailPath = await pdf2html.thumbnail('sample.pdf');
console.log(thumbnailPath);
const options = { page: 1, imageType: 'png', width: 160, height: 226 };
const thumbnailPath = await pdf2html.thumbnail('sample.pdf', options);
console.log(thumbnailPath);

Manually download dependencies files

Sometimes downloading the dependencies might be too slow or unable to download in a HTTP proxy environment. Follow the step below to skip the dependency downloads.

cd node_modules/pdf2html/vendor
# These URLs come from https://github.com/shebinleo/pdf2html/blob/master/postinstall.js#L6-L7
wget https://archive.apache.org/dist/pdfbox/2.0.33/pdfbox-app-2.0.33.jar
wget https://archive.apache.org/dist/tika/3.1.0/tika-app-3.1.0.jar

FAQs

Package last updated on 21 Apr 2025

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