Skip to content
CastPDF

CastPDF vs DocRaptor

DocRaptor and CastPDF both turn HTML into PDFs through an API. DocRaptor runs the Prince engine, which is strong on complex print layout and tagged PDFs. CastPDF runs Chromium with Paged.js, adds stored templates, and costs far less at volume. Our HTML to PDF API covers most invoices, reports and statements.

  • Updated October 2026
  • Prices checked October 2026
  • 100 free PDFs a month

Which one should you pick?

Choose DocRaptor when the layout itself is the hard part. Think complex paged layouts with strict typography, or PDFs that must pass an accessibility audit. Its Prince engine was built for print, and DocRaptor tags documents for assistive technology.

Choose CastPDF when you make business documents at volume: invoices, statements, reports, tickets. Long tables repeat their header, rows stay whole and pages are numbered. 10,000 PDFs a month cost $49, and the price table below shows how that compares.

Prices side by side

The cheapest monthly plan that includes each volume, from each vendor's public pricing page (checked October 2026, before tax). Where a vendor sells extra documents on a smaller plan, that can cost less than the plan shown; the text below works it out where it matters. CastPDF counts one PDF per document, whatever its page count.

Monthly price at three volumes
PDFs a monthCastPDFDocRaptor
1,000$19 (Starter)$75 (Premium)
10,000$49 (Growth)$399 (Bronze)
50,000$129 (Pro)Custom price
Free plan100 PDFs a month5 documents a month, plus unlimited watermarked test documents

Two engines, two strengths

Most of the difference between these products comes from the engine underneath. DocRaptor is built on Prince, a commercial engine made for print layout. It runs JavaScript through Prince too, with several layout passes.

CastPDF renders your HTML in Chromium, the open-source engine behind Chrome. Modern CSS such as flexbox, grid and web fonts behaves as it does in the browser you already test with. For templates, CastPDF adds a print step: Paged.js splits the content into pages before Chromium prints it.

That print step is where the paged-media features live. It gives you @page margin boxes for headers and footers, counter(page) and counter(pages) for "Page 3 of 9", running headers taken from your headings, and a repeated <thead> on every continued page. If a block would be cut off, the request fails with content_lost instead of returning a broken PDF.

What this means in practice

For a 20-page statement with a long transactions table, both engines give you a clean, paginated document. For a typeset publication where every line of the layout is tuned by hand, a dedicated print engine like Prince is the more complete tool.

Feature by feature

CastPDF and DocRaptor compared
CastPDFDocRaptor
Rendering engineChromium, with Paged.js in print modePrince, a commercial engine made for print layout
Stored templatesHTML and CSS with Liquid, live preview, versionsNot stated on the pricing page
Free plan100 live PDFs a month, unlimited test PDFs5 documents a month, plus unlimited watermarked test documents
Accessibility taggingNot offered todayAutomatic and CSS-based tagging, aimed at WCAG 2.0, Section 508 and PDF/UA
Going over your planExtra PDFs from $9.00 down to $1.75 per 1,000, up to a spending cap you setA per-document price tied to your plan (the rates are not on the page)
Largest public planScale: 200,000 PDFs for $299 a monthSilver: 40,000 documents for $1,000 a month, then Enterprise at a custom price
Where PDFs are madeServers in Germany (EU)Not stated on the pricing page

Every DocRaptor cell comes from its own site, linked in the sources at the end of this page. If a cell says "not stated", we could not find it there; it does not mean the feature is missing.

The cost at 1,250, 5,000 and 15,000 documents

The price table shows the cheapest plan that includes each volume. Real volumes rarely land on a plan boundary, so here are three common ones. On CastPDF we add overage to a smaller plan whenever that is cheaper than moving up. DocRaptor does not publish its overage rates, so its column uses the plan that covers the volume.

Monthly cost at three volumes (list prices, monthly billing)
Documents a monthCastPDFDocRaptor
1,250$19 (Starter, within its 2,500)$75 (Premium)
5,000$41.50 (Starter plus 2,500 extra at $9.00 per 1,000)$149 (Max)
15,000$79 (Growth plus 5,000 extra at $6.00 per 1,000)$399 (Bronze)

Notice the middle row. At 5,000 documents, Starter with overage costs $41.50, which is less than the $49 Growth plan. The overage fits inside the default spending cap, so nothing gets refused. From about 5,800 documents a month, Growth becomes the cheaper choice.

DocRaptor wins at the very bottom. If you need about 100 clean PDFs a month, its $15 Basic plan is cheaper than CastPDF Starter. Live PDFs on CastPDF's free plan carry a small "Made with CastPDF" footer, which a paid plan removes. At 40,000 documents, DocRaptor lists $1,000 and CastPDF Pro lists $129.

Free testing on both sides

Both products let you build without paying per attempt. DocRaptor offers unlimited watermarked test documents. CastPDF test keys are free and unlimited too, and stamp a diagonal watermark on each page without changing the layout.

On CastPDF a test key allows 20 requests a minute, and it cannot change templates. That keeps a forgotten script in a CI job from editing your production layout. Swap in a live key when the output looks right.

Run the same document through both trials before you decide. Pick your longest real file, such as a statement with 300 transactions, and check the page breaks, the header on page 2 and the totals at the end.

Where CastPDF does more for you

  • Templates you store once. Keep the layout in CastPDF and send only JSON. The editor shows a live preview, and the last 50 versions are kept, so you can roll back a change.
  • People who do not code can change the wording. Simple mode is a form over the sample data, so a colleague can adjust a test document without touching HTML.
  • Print rules without guesswork. Rows are kept whole and long tables repeat their header. See the guide to page breaks in HTML to PDF for the CSS behind it.
  • Predictable bills. You pay per document, never per page. Unused PDFs on paid plans roll over for a month, and we email you at 80% and 100% of your allowance.
  • Retries that never bill twice. Send an Idempotency-Key such as the statement number. A retried request returns the first PDF.
  • Data stays in the EU. PDFs are made and stored on servers in Germany, under a Data Processing Agreement.

When DocRaptor is the better choice

  • You rely on Prince-specific CSS. Prince has its own extensions to CSS for print. Chromium ignores properties it does not know, so a layout built around them would need rework.
  • You need tagged, accessible PDFs. DocRaptor tags documents automatically or from your CSS, aimed at WCAG 2.0, Section 508 and PDF/UA. CastPDF does not offer accessibility tagging today.
  • Your contract needs a negotiated deal. Above 40,000 documents a month, DocRaptor sells an Enterprise tier at a custom price. CastPDF sells published plans with published overage rates.
  • You publish long-form material. Typeset manuals and journals with fine typographic control are where a print engine made for print layout shines.
  • It already works. If your output is right and the bill is fine, a move costs time and brings little.

Moving a document from DocRaptor to CastPDF

You already send HTML to DocRaptor, so the first step needs no template at all. Send that same HTML to CastPDF and compare the two PDFs page by page.

  1. Create a free test key. Sign up and create a test key in the dashboard. The quickstart walks through it in about five minutes.
  2. Send your current HTML. Put your HTML in html and your stylesheet in css. Add "mode": "print" so Paged.js paginates it, since raw HTML defaults to fast mode.
  3. Keep the standard print CSS. @page sizes, margin boxes, counter(page) and break-inside: avoid come from the CSS print standards, so they carry over. Remove or replace Prince-only properties.
  4. Check fonts. Noto, Liberation and DejaVu are installed. Load any other font from a public https URL or embed it as a data: URL.
  5. Turn the HTML into a template. When the output matches, paste the HTML into a CastPDF template and replace the changing parts with Liquid tags. From then on you send only template_id and data.
statement.json (the request body)
{
  "html": "<h1>Account statement</h1><table><thead><tr><th>Date</th><th>Description</th><th>Amount</th></tr></thead><tbody><tr><td>2026-09-02</td><td>Opening balance</td><td>1,200.00</td></tr></tbody></table>",
  "css": "@page { @bottom-right { content: 'Page ' counter(page) ' of ' counter(pages); } } h1 { font-family: 'Noto Serif', serif; }",
  "mode": "print",
  "format": "Letter",
  "margins": "18mm 16mm",
  "filename": "statement-2026-09.pdf"
}
Send it with curl
curl https://api.castpdf.com/v1/pdf \
  -H "Authorization: Bearer $CASTPDF_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: statement-2026-09-ACME" \
  --data @statement.json \
  --output statement.pdf

If a page looks different, start with the margin boxes and the fonts; those cause most of the gaps. Then choose a plan on the pricing page. Starter costs $19 a month for 2,500 PDFs.

Sources

Every fact about another product on this page comes from that product's own pages, checked October 2026. CastPDF's prices and limits come from our pricing page.

What DocRaptor publishes
DocRaptorWhat it saysSource
Free plan5 documents a month, plus unlimited watermarked test documentsdocraptor.com/signup
Extra documentsA per-document price tied to your plan (the rates are not on the page)docraptor.com/signup
Above 40,000 a monthEnterprise, custom pricedocraptor.com/signup
EnginePrince, a commercial engine made for print layoutdocraptor.com
AccessibilityAutomatic and CSS-based tagging, aimed at WCAG 2.0, Section 508 and PDF/UAdocraptor.com
JavaScriptRuns JavaScript through Prince, with several layout passesdocraptor.com
FAQ

Common questions

Is CastPDF a drop-in replacement for DocRaptor?

For most business documents, close to it. You send the same HTML and CSS, add print mode, and check the result. Layouts that depend on Prince-only CSS need some rework.

Which engine handles long tables better, Prince or Chromium with Paged.js?

Both can repeat a table header and keep rows whole across pages. CastPDF does it in print mode with a plain thead element. Test your longest table in both free trials to see the difference for your own layout.

Does CastPDF make accessible, tagged PDFs?

Not today. If your PDFs must pass an accessibility audit, DocRaptor is the stronger choice for now. CastPDF focuses on print layout, templates and cost.

Can I test both services without paying?

Yes. Both offer unlimited watermarked test documents. On CastPDF you also get a free plan with live PDFs each month, so you can try a real workflow before you subscribe.

How much do I save at 15,000 documents a month?

On list prices, DocRaptor Bronze costs $399 a month. CastPDF Growth with 5,000 extra documents costs $79. Check the sources for the current numbers, and note that annual billing lowers the CastPDF price further.

Will my @page margin boxes still work after switching?

Yes, in print mode. Paged.js supports the standard margin boxes, page counters and named strings. Keep your margins large enough to hold the header and footer text.

Make your first PDF in 5 minutes

Pick a template, add your details and download your PDF. You get 100 free PDFs every month, and you don’t need a card.