Skip to main content

How to Convert PDF to PDF/A in n8n? Compress, Archive, and Preserve all Automated in one shot.

· 11 min read
SEO and Content Writer

Regular PDFs can age poorly. Fonts go missing, colors shift, links break. PDF/A (ISO 19005) fixes that: fonts, images, and color profiles are embedded so documents stay readable for decades. In n8n, you can automate the full chain: when a PDF appears in Dropbox (or another trigger), download it, compress it, convert it to PDF/A, and—optionally—upload the archival file. Three nodes. One workflow. No manual conversion.

In a nutshell: Download a file (Dropbox, e.g. /Blog Data/PDFA/Sample PDF.pdf) → PDF4me – Compress PDF (Optimize Profile: Web or Max) → PDF4me – Create PDF/A (e.g. PDF/A-1b). Add an Upload a file node to save the result. Input: any PDF. Output: archival PDF/A ready for long-term preservation.

Why Compress First, Then Create PDF/A?

Compressing shrinks the file before archiving—smaller files transfer and store faster. Create PDF/A embeds fonts, removes external dependencies, and locks the document for long-term preservation. Together they give you a compact, standards-compliant archive. If you prefer to skip compression, pass the downloaded file directly into Create PDF/A.

Complete workflow overview

n8n workflow: Download a file → Compress PDF → Create PDF/A

Three nodes in sequence: Download a file → Compress PDF → Create PDF/A. Each connection shows items passing through. Green checkmarks indicate a successful run.


What You'll Get

Input: A regular PDF (e.g. Sample PDF.pdf) in a Dropbox folder or from another trigger. Output: An archival PDF/A file—ready for compliance, audits, or long-term archives. Add an Upload node to save it to cloud storage.


What You Need

  • n8n — Self-hosted or n8n Cloud. Add the PDF4me and Dropbox nodes.
  • PDF4me API keyGet your API key. Connect it when you add PDF4me nodes. First time? See Connect PDF4me to n8n.
  • Dropbox — For the source PDF folder. Google Drive or other storage with a Download node works too.

The Workflow: 3 Nodes (Plus Optional Upload)

  1. Download a file (Dropbox) — Gets the PDF from a path or from a trigger (e.g. When a file is created).
  2. Compress PDF (PDF4me) — Shrinks the file before archiving.
  3. Create PDF/A (PDF4me) — Converts to an archival-compliant format.
  4. (Optional) Upload a file (Dropbox) — Saves the PDF/A to an output folder.

Step 1: Download the PDF

Workflow so far: Trigger → Download only.

  1. Add a trigger: When clicking 'Execute workflow' for testing, or Dropbox – When a file is created (or similar) for automation.
  2. Add DropboxDownload a file (or use your storage's download node).
  3. File Path — Enter the path, e.g. /Blog Data/PDFA/Sample PDF.pdf, or map from the trigger (e.g. when a new file is created).
  4. Ensure the node outputs binary data (the PDF file).
  5. Execute the step to confirm the PDF is retrieved.

Download a file: Get PDF from Dropbox

Dropbox Download a file: File Path /Blog Data/PDFA/Sample PDF.pdf

Download node: File Path set to the PDF location. The binary output is passed to the next node. Use expressions to map from a trigger for fully automated runs.


Step 2: Compress PDF

Workflow so far: Download → Compress PDF.

  1. Add PDF4meCompress PDF.
  2. Input Data TypeBinary Data.
  3. Input Binary Field — Map the binary from the Download node (e.g. {{ $binary.data }} or select from the previous node).
  4. Output File Name — e.g. compressed.pdf.
  5. Optimize ProfileWeb, Print, Screen, or Default depending on your needs.
  6. Binary Data Output Name — e.g. data (used by the next node).
  7. Connect your PDF4me credential.
  8. Execute to test.

PDF4me – Compress PDF: Input parameters

PDF4me Compress PDF: Input Data Type Binary Data, Input Binary Field, Output File Name, Optimize Profile

Compress PDF node: Input Data Type (Binary Data), Input Binary Field mapped from Download, Output File Name, Optimize Profile. Binary Data Output Name defines the output field for the next node.

Action input: Compress PDF configuration

Compress PDF input: Binary input from previous node, Optimize Profile, Output File Name

Input mapping: The binary PDF from the Download node is passed into Compress PDF. Optimize Profile controls compression level—Web for balanced size, Screen for maximum compression.


Step 3: Create PDF/A

Workflow so far: Download → Compress PDF → Create PDF/A.

  1. Add PDF4meCreate PDF/A.
  2. Input Data TypeBinary Data.
  3. Input Binary Field — Map the binary from the Compress PDF node (e.g. {{ $binary.data }}).
  4. Output File Name — e.g. archival.pdf.
  5. Document Name — e.g. compressed.pdf (source reference).
  6. PDF/A Compliance — Choose a level (e.g. PDF/A-1b for basic archival, PDF/A-2b for advanced features).
  7. Binary Output Property Name — e.g. data.
  8. Allow Upgrade / Allow Downgrade — Set as needed.
  9. Connect your PDF4me credential.
  10. Execute to test.

Action output: PDF/A created successfully

Create PDF/A output: fileName, mimeType, fileSize, success, pdfaCompliance

Output from Create PDF/A: fileName, mimeType, fileSize, success flag, pdfaCompliance level. The binary PDF/A is in the configured output property (e.g. data) for the next node.


Who Uses "Compress Then Archive"? Real-World Examples

Legal and courts: Electronic filings and exhibits often need PDF/A for long-term retention. Compress first to reduce storage, then archive for compliance.

Healthcare and pharma: Patient records, consent forms, and trial documentation require archival for regulatory audits. PDF/A ensures readability for decades.

Government and archives: Digitized records, permits, and filings need permanent preservation. Compress to save space, then create PDF/A for standards compliance.


Quick Reference: Key Settings

NodeSettingExample
1. Download a fileFile Path/Blog Data/PDFA/Sample PDF.pdf
2. Compress PDFOptimize ProfileWeb (or Screen, Print)
3. Create PDF/APDF/A CompliancePDF/A-1b (or 2b, 3b)

For full parameter details, see Compress PDF — n8n and Create PDF/A — n8n.


Troubleshooting

Binary not found or empty

Ensure the Download node outputs binary data and that the field name (e.g. data) matches what you reference in Compress PDF. Use {{ $binary.data }} or select from the previous node's output.

Create PDF/A: pass binary from Compress PDF

Map Input Binary Field to the binary output from the Compress PDF node. If you skip compression, use the binary from the Download node instead.

401, 402, or other API errors

PDF4me Troubleshooting covers 401 (API key), 402 (credits), and more.


What's Next?

  • Add Upload a file (Dropbox, Google Drive) after Create PDF/A to save the PDF/A to an output folder.
  • Replace the manual trigger with When a file is created in Dropbox to process every new PDF automatically.
  • Need to convert Word to PDF first? See Word to PDF/A in Zapier or Make for the full convert → compress → archive flow.