Introducing the complete PDF API
Tags: javascript, api, webdev
Published: 2021-04-26 00:44:32


Anvil was started with a simple premise: paperwork and PDFs are the primary bottlenecks restricting faster adoption of digital tools in every industry. We set out to build software that bridges the past and all of its entrenched paper processes to the future of online-first, data-centric operations. Using Anvil, companies can free themselves from the burden of endless paperwork, menial tasks, and antiquated ways of working, while maintaining all that is good about long-established processes: maintaining order, ensuring data integrity, and guarding against exceptions.

On the surface, the solution appears simple. First, digitally capture some data, then fill out the relevant PDF form, and finally pass the completed form to another party. In reality, paperwork processes are littered with nuances, exceptions, and business rules, each adding to the capabilities and complexity of our product.

While Anvil’s [workflow builder](https://www.useanvil.com/workflows) is a great solution for solving a large category of paper workflow challenges, some complex processes warrant a software solution built by developers with deep industry-specific knowledge. So how can Anvil play a role in helping these developers? By making it extremely easy to work with the PDFs that underpin these processes.


### How did PDFs become ubiquitous?

Let’s start with an abbreviated tour of the technology that enables information sharing. Throughout history, humans have devised increasingly effective ways of sharing information farther and faster.

![Communication methods](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xm07rfvobhcygds0r86b.png)
**<center>speech → writing → printing press → typewriter → computer</center>**

These technologies allowed for information to be created and shared faster, but the underlying medium that contained the information remained largely the same, paper.

![Communication Medium](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sf5tsl6dl37df116yfw2.png)**<center>Paper</center>**

With the emergence of computers, information could be created faster but still needed to be printed for it to be shared farther.

Enter PDFs, a coordinate-based file format created to imitate paper and describe documents so that they can easily be printed. With paper being the dominant medium for so long, it made sense for PDFs to adopt the same look and feel on a screen. But the key to the PDF’s success is the combination of:

1. The consistency of the PDF file regardless of the program used to view it. Just like a printed paper document maintains its form regardless of who views it, the PDF looks consistent every time it is displayed. Other file formats varied in appearance depending on the program used to open the file.
2. The small file size of PDFs, allowing it to be transferred easily over the internet. Remember, internet speeds were very slow in the early days, so file size mattered a lot.

With these two advantages, the PDF became a foundational transitional technology - it bridged the gap between the familiar (paper) with the new (digital).

But as the internet evolved, the consistent presentation of information diminished in importance. It is the underlying data that is important, not that the information is presented on a digital sheet of paper.

This could have been the moment to phase out PDF technology and usher in a new, modern model for information sharing. For some industries, the transition to all-digital, data-first was easy. For others, especially legacy industries hamstrung by regulatory requirements, this transition has been painful, slow, and tedious. We all agree that transacting in data over the internet is the future, but how do we get there? How do we accommodate the past while orienting ourselves towards the future?


## Introducing the Anvil PDF API
Returning to our original insight:

<blog-quote width="530">Paperwork and PDFs are the primary bottlenecks restricting faster adoption of digital tools in every industry.</blog-quote>

In building [Anvil Workflow](https://www.useanvil.com/workflows/), we have developed a deep knowledge of PDFs: how to create them, manipulate them, and electronically sign them. We also have an extensive library of tools that make interacting with PDFs online easy. Combined, these tools can accelerate companies already building vertical-specific solutions by offloading the complexities of handling PDFs to Anvil.

Today we are announcing the complete PDF API to help companies focus on building specialized solutions for their respective industries without having to worry about the underlying paperwork. These API endpoints include:

**[PDF Filling](https://www.useanvil.com/docs/api/fill-pdf)** - A simple solution to fill in existing PDF documents. Set up a template in minutes, then make a request to the unique template URL with data.

**[PDF Generation](https://www.useanvil.com/docs/api/generate-pdf)** - An endpoint for creating PDFs from scratch. This endpoint supports markdown formatting and dynamic length tables.

**[Etch PDF E-Sign](https://www.useanvil.com/docs/api/e-signatures)** - An easy, flexible, embeddable and customizable e-signature solution that just works. You can also fill out a PDF form and/or generate a new PDF to be included in the signature packet with one API call.

These three API endpoints are designed to:
1. Address the broadest paperwork challenges that any technology company entering a legacy industry will encounter.
2. Sit in the background so that your product can be front and center with your customers, allowing you to own the critical business logic that is the secret sauce of your technology solution.
3. Address technical headaches of managing PDFs. Most PDF manipulation libraries are written in Java/C# etc., require self-hosting, and still need to run headless Chrome to do any PDF rendering.


### Why use the Anvil PDF API?
In designing these API endpoints, we had three main goals:
1. **Simplicity** - The API can be integrated into your solution in minutes. We imagined how developers would consume our API and then designed the API to best match those use cases.
2. **Reliability and scalability** - We have tested our API under heavy, real-world load. From helping underwrite millions in PPP loans, to onboarding thousands of migrant farmworkers, Anvil is ready to scale as you scale.
3. **Developer experience** - We are developers, and we want our developer experience to be an enjoyable one. To help you get started with Anvil, we have released a number of useful tools including:
  a. Comprehensive and well organized documentation
  b. An interactive PDF e-sign tutorial
  c. Postman API collection
  d. Open source node.js client for interacting with our API
  e. UI tools to make templating PDFs easier and faster

Have a suggestion or idea for improving the developer experience? Let us know at [developers@useanvil.com](mailto:developers@useanvil.com), we are always looking for insight from our community.


## How it’s going

We are excited by the early use cases we have seen with Anvil. Companies across many industries have used our system to programmatically create documents for:
- HR
- Insurance
- Financial services and banking
- Legal
- Education
- Healthcare

These are all industries that have entrenched paperwork processes, each of which requires deep knowledge to understand. There are many talented teams building innovative vertical-specific solutions. Anvil’s complete PDF API can help them focus on the core solution instead of wrestling with PDFs. By providing the digital, web-first building blocks for PDFs, Anvil is building the technology that helps accelerate the change from data stuck on paper and PDFs to a modern  interconnected world with free data exchange.

To sign up for our free developer sandbox or learn more about our API, head over to our developer center at [www.useanvil.com/developers](https://www.useanvil.com/developers). There, you will find comprehensive documentation, simple tutorials, and client libraries to help you get started quickly and easily.

If you have questions, please do not hesitate to contact us at:
[developers@useanvil.com](mailto:developers@useanvil.com)