npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@profullstack/document-converters

v0.4.0

Published

Simple document conversion utilities for various formats

Readme

@profullstack/document-converters

A simple, unified API for converting between various document formats.

Features

  • Convert HTML to PDF
  • Convert HTML to Word documents (.docx)
  • Convert HTML to Excel spreadsheets (.xlsx)
  • Convert HTML to PowerPoint presentations (.pptx)
  • Convert HTML to EPUB e-books
  • Convert between HTML and Markdown
  • Simple, promise-based API
  • Fallback mechanisms for different environments
  • Comprehensive options for fine-tuning conversions

Installation

npm install @profullstack/document-converters

Basic Usage

import converters from '@profullstack/document-converters';

// Convert HTML to PDF
const pdfBuffer = await converters.htmlToPdf('<h1>Hello World</h1>');

// Convert HTML to Word document
const docBuffer = await converters.htmlToDoc('<h1>Hello World</h1>');

// Convert HTML to Markdown
const markdown = await converters.htmlToMarkdown('<h1>Hello World</h1>');

// Convert Markdown to HTML
const html = await converters.markdownToHtml('# Hello World');

API Reference

Main Converter Object

The main export is a converter object with methods for all supported conversions:

import converters from '@profullstack/document-converters';

HTML to PDF

const pdfBuffer = await converters.htmlToPdf(html, options);
  • html: HTML content to convert
  • options: PDF generation options (see Puppeteer PDF options)
    • format: Paper format (default: 'A4')
    • printBackground: Whether to print background (default: true)
    • margin: Page margins (default: 1cm on all sides)

HTML to Word

const docBuffer = await converters.htmlToDoc(html, options);
  • html: HTML content to convert
  • options: Word document generation options
    • forcePandoc: Force using pandoc even if docx is available
    • forceDocx: Force using docx library even if pandoc is available
    • pandocOptions: Additional pandoc command line options

HTML to Excel

const excelBuffer = await converters.htmlToExcel(html, options);
  • html: HTML content to convert (should contain table elements)
  • options: Excel generation options

HTML to PowerPoint

const pptBuffer = await converters.htmlToPpt(html, options);
  • html: HTML content to convert
  • options: PowerPoint generation options

HTML to EPUB

const epubBuffer = await converters.htmlToEpub(html, options);
  • html: HTML content to convert
  • options: EPUB generation options

HTML to Markdown

const markdown = await converters.htmlToMarkdown(html, options);
  • html: HTML content to convert
  • options: Markdown generation options

Markdown to HTML

const html = await converters.markdownToHtml(markdown, options);
  • markdown: Markdown content to convert
  • options: HTML generation options

Individual Converters

For more advanced usage, you can access the individual converters directly:

import { pdfConverter, docConverter } from '@profullstack/document-converters';

// Or access them from the main object
const { pdf, doc, excel, ppt, epub, markdown } = converters;

PDF Converter

// Convert HTML to PDF
const pdfBuffer = await pdfConverter.fromHtml(html, options);

// Convert URL to PDF
const pdfFromUrl = await pdfConverter.fromUrl('https://example.com', options);

// Convert multiple HTML pages to a single PDF
const multiPagePdf = await pdfConverter.fromMultipleHtml([html1, html2], options);

Word Document Converter

// Convert HTML to Word document
const docBuffer = await docConverter.fromHtml(html, options);

// Convert URL to Word document
const docFromUrl = await docConverter.fromUrl('https://example.com', options);

// Convert Markdown to Word document
const docFromMarkdown = await docConverter.fromMarkdown(markdown, options);

Examples

See the examples directory for complete usage examples.

Requirements

  • Node.js 14.x or higher
  • For PDF conversion: Puppeteer (included as a dependency)
  • For Word document conversion: Either pandoc installed on the system or the docx library (included as a dependency)

License

MIT