Generate PDFs with JavaScript

A simple API for filling out PDFs from your app.

A simple API for generating PDFs within your app. Write JavaScript to send HTML & CSS or Markdown to Anvil, get back a PDF.
Hero Image

Perfectly formatted PDFs

Create dynamic and variable length PDFs with adjustments based on your content. Each page is perfectly scaled to a standard 8.5” x11” paper size.


JavaScript to PDF

Use JavaScript to lay out and generate your PDF for a 100% pixel perfect document.

import fs from 'fs'
import Anvil from '@anvilco/anvil'

const exampleData = {
  title: 'Example HTML to PDF',
  type: 'html',
  data: {
    html: `
      <h1 class='header-one'>What is Lorem Ipsum?</h1>
      <p>
        Lorem Ipsum is simply dummy text of the printing and typesetting
        industry. Lorem Ipsum has been the industry's standard dummy text
        ever since the <strong>1500s</strong>, when an unknown printer took
        a galley of type and scrambled it to make a type specimen book.
      </p>
    `,
    css: `
      body { font-size: 14px; color: #171717; }
      .header-one { text-decoration: underline; }
    `,
  },
}

const { statusCode, data, errors } = await anvilClient.generatePDF(exampleData)

console.log('Finished! Status code:', statusCode) // => 200, 400, 404, etc

const outputFilepath = path.join(__dirname, '..', 'output', 'generate-html-output.pdf')
fs.writeFileSync(outputFilepath, data, { encoding: null })
console.log('Generated PDF saved to:', outputFilepath)
  

Try it now


SOC2 logo
GDPR logo
HIPAA logo
EIDAS logo