Modernize your PDF processing workflow

Work with PDF documents through API calls, eliminate technologies outside the stack, and focus on your product instead of the complexity of the PDF format.

Open-Source PDF Tools

Platform

PDFog is PDF processing as a service

Work with PDF documents through API requests.

Fully-Featured Solution

PDFog offers essential features for working with PDFs, like document generation, conversion, form filling, data extraction, batch processing, and more.

REST-ful JSON API

PDFog is a stack-agnostic platform that easily integrates with modern web applications, using familiar technologies like REST and JSON.

Standards-Based & Documented

Conforming with JSON API and OpenAPI standards, PDFog helps leverage existing and familiar client libraries and tools like Swagger.

Features

Empower your application with a rich set of PDF tools

Generate documents, convert to and from formats, read metadata, fill forms, extract text and images, leverage AI automation, and create workflows — PDFog offers a rich toolkit to meet your requirements.

  • AI content summarization
  • AI sentiment analysis
  • AI keyword extraction and tagging
  • Generating from images, JSON, HTML, Markdown, and more
  • Converting to images, Word documents, and other formats
  • Filling out forms (AcroForms and XFA)
  • Extracting form values
  • Extracting text, tables, and other embedded data
  • Extracting images, fonts, audio and video attachments
  • Extracting citations and references
  • Optical character recognition (OCR)
  • Searching document contents
  • Reading metadata (authorship, dimensions, etc)
  • Adding, deleting, splitting, and merging documents
  • Cropping, resizing, and scaling pages
  • Rotating, tiling, and rearranging pages
  • Extracting raw FDF and XFDF schemas
  • Fixing malformed and invalid documents
  • Validating standard compliance (PDF/A, PDF/E, PDF/X)
  • Encrypting, decrypting, password-protection and watermarking
{
  "pdf_version": 1.7,
  "created_at": "2024-01-01T12:34:56Z",
  "modified_at": "2024-02-02T12:34:56Z",
  "language": "en-US",
  "author": "Jane Doe",
  "creator": "Microsoft Word",
  "producer": "Adobe Acrobat",
  "title": "Claim Form",
  "tagged": true,
  "keywords": ["claim", "renewal"],
  "file_size": 3680,
  "encrypted": false,
  "optimized": true,
  "acro_form": false,
  "xfa_form": true,
  "javascript": false,
  "pages": 3,
  "page_size": {
    "type": "letter",
    "unit": "pts",
    "width": 600,
    "height": 800
  },
  ...

Advantages

Focus on product, not PDF specs

PDFog abstracts the idiosyncrasies of the PDF format so you can concentrate on what moves the needle.

No PDF Prowess Required

Working with PDFs can range from quirky to complicated. Leverage our expertise instead of spending resources on acquiring domain knowledge in an auxiliary technology.

Painless Integration

PDFog operates within the same paradigms that already power your application. Easily integrate with your existing stack and get results within a few sprints, not months.

Scalability & Maintainability

Eliminate outdated dependencies, unmaintained libraries, and brittle shell scripts. Deploy a solution that's understandable and usable by everyone on the team to decrease maintenance costs.

REST-ful JSON API

Integrate with an API that's practical and understandable

Simplify application complexity when generating documents, filling forms, or extracting data with PDFog's automated processing without low-level PDF manipulation. Consume structured JSON responses through familiar API methods. Combine multiple tasks into complex workflows with batching and webhooks.

Example of filling a PDF form (with abridged API responses)

1. Request form fields

Send a GET request to the /form/fields endpoint with a url parameter pointing to the source PDF file.

$ curl -X GET 'https://api.pdfog.com/form/fields' \
  -H 'Content-Type: application/json' \
  -d '{
    "url": "http://www.example.com/01.pdf"
  }'

2. Review form properties

The response returns an array of fields with descriptions of all form fields. Note the name and options attributes; these are used in the next request to fill out the form.

"fields": [
  {
    "name": "claim_date",
    "human_name": "Claim Date",
    "type": "text",
    "sub_type": "date",
    "current_value": null,
    "max_length": 100,
    "flags": [
      "required",
      "do-not-scroll"
    ]
  },
  {
    "name": "is_renewal",
    "human_name": "Renew Claim?",
    "type": "button",
    "sub_type": "checkbox",
    "current_value": "Off",
    "options": [
      "On",
      "Off"
    ]
  },
  ...
]

3. Submit form values

Send a POST request to the /form/fields endpoint with a hash of fields parameters. Each key-value pair represents a field name and a value to be filled in.

$ curl -X POST 'https://api.pdfog.com/form/fields' \
  -H 'Content-Type: application/json' \
  -d '{
    "url": "http://www.example.com/01.pdf"
    "fields": {
      "claim_date": "2024-01-01T12:34:56Z",
      "is_renewal": "On"
    }
  }'

4. Receive filled out PDF

The response returns the URL of the filled PDF. Callbacks with multi-part binary data and direct uploads to cloud providers are also supported.

{
  "request_id": "1234567890",
  "original_file": "01.pdf",
  "processed_file": "01.pdf/1234567890.pdf",
  "url": "https://files.pdfog.com/your-account/1234567890.pdf",
  ...
}

About

Built by developers, for developers

PDFog is built by a group of software engineers who are passionate about working with PDFs. Having faced many of the challenges posed by the format and frustrated with reinventing the wheel repeatedly, we've created a platform that solves the commonly recurring challenges in the domain. PDFog draws on years of industry expertise to transform PDF processing into a seamless experience. We have built the flexible, scalable solution we wish we had, so you don't have to.