Product teams should be thinking differently about documents.Read blog post.
Anvil Logo

Generate PDFs with JavaScript

A simple API for generating PDFs within your app. Write JavaScript to send HTML & CSS or Markdown to Anvil, get back a PDF.
Beyond Giant hero assetGiant hero assetDesktop hero assetMobile hero assetTablet hero asset

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>
        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.
    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

Sign up for a live demo

Request a 30-minute live demo today and we'll get in touch shortly. During the meeting our Sales team will help you find the right solution, including:
  • Simplifying data gathering
  • Streamlining document preparation
  • Requesting e-signatures
  • Building and scaling your business
Want to try Anvil first?Sign up for free
Want to try Anvil first?Sign up for free