Build vs. buy guide

Build document features with AI, or buy them?

AI coding agents made the first draft of a document feature genuinely fast. They didn’t change who owns it eighteen months later. This guide separates what actually got cheaper from what didn’t — with the criteria, the cost model, and the bake-off plan to make the call on evidence instead of instinct.

Why

The case for buying used to be developer-months. AI agents cheapened exactly that resource — so the honest math moved to maintenance, security, and compliance.

What

A decision framework for document features specifically: what to evaluate, what to measure on both paths, and when building is genuinely the better call.

Who it’s for

Engineering leaders sizing maintenance load, architects who already have an agent-built prototype, and product leaders weighing liability against velocity.

01

The five paths

“Build vs. buy” is really a choice between five things, and most teams are debating two of them without naming which.

Build in-house

Write the document layer yourself, from the format spec up. Rare today outside companies whose product is document intelligence — the PDF specification alone runs past a thousand pages before extensions.

Assemble from open source

Stitch together pdf.js, PDFBox, Tesseract, Ghostscript, and friends. This is what most “build” decisions actually mean, and what a coding agent will reach for by default.

Buy a document SDK

License a maintained engine with the edge cases, security response, and compliance conformance already handled. Not one SKU — a ladder of hosting and control tradeoffs.

“Build it with AI”

In practice this is the open-source path with the assembly time compressed. The agent writes the glue; the libraries underneath, and their licenses and CVEs, are unchanged.

The hybrid path

Buy the layer where being wrong is expensive — redaction, signing, conformance, extraction — and build the parts that are genuinely your product. Most durable answer for most teams.


02

What changed in 2026 — and what didn’t

The visible cost of a first draft fell. The invisible cost of owning it didn’t, and by several measures got worse.

What compressed
First working draft

An agent will wire up a viewer, a redaction script, or an OCR pipeline in an afternoon. This is real, and disputing it wastes everyone’s time.

Wiring documented APIs

Glue code between two well-specified interfaces is where agents are strongest. Stripe’s own benchmark scored Claude Opus 4.5 at 92 percent on full-stack integration tasks.

Prototype opportunity cost

A team that stands up a document viewer in two weeks instead of two months has genuinely given up less core-product focus. The 2025 version of this argument no longer holds.

What didn’t — or got worse
Maintenance load

GitClear’s analysis of 211 million changed lines found refactoring fell from 25 percent to under 10 percent between 2021 and 2024, while duplicated code rose from 8.3 to 12.3 percent. More places for one defect to hide.

Delivery stability

Google’s 2024 DORA report found AI adoption raises individual flow while measurably decreasing delivery stability and throughput — larger, less reviewable change sets.

Review overhead

CodeRabbit’s analysis of 470 real pull requests found AI-authored code averaged 10.83 flagged issues against 6.45 for human code, with logic and correctness defects up 75 percent.

Security exposure

Veracode tested 100+ LLMs across 80 tasks and found AI-introduced vulnerabilities in 45 percent of cases. File parsing has a two-decade CVE history that predates AI entirely.

Compliance conformance

PDF/UA tagging, PDF/A archival validity, and PAdES long-term signature validation are binary and validator-checkable. A model that is usually right is a different product from a pass.

Accountability

Nothing about faster assembly changes who is on call for a CVE, who re-validates tagging after an upgrade, or who answers for a redaction that silently failed.

The number your team gives you is probably too high

METR ran a randomized controlled trial with 16 experienced developers across 246 real issues in codebases they already knew. Developers with AI access were 19 percent slower — while estimating afterward that AI had made them 20 percent faster. METR itself flags that result as dated, and its February 2026 follow-up retracted confidence in measuring the effect at all, because too many developers now refuse to work without AI to recruit a clean control group. The durable finding isn’t the minus 19 percent — it is the gap between measured and perceived. When a team reports being two to three times faster, treat it as an honestly held belief that the best available research says runs ahead of reality, especially on long-horizon, hard-to-verify work.

Developers are not naive about this. Stack Overflow’s 2025 survey found 46 percent distrust the accuracy of AI output, up from 31 percent the year before, with 66 percent citing “almost right, but not quite” as a recurring problem and 45 percent saying debugging AI-generated code takes longer than debugging their own. The most experienced developers in the sample were the most skeptical.


03

The decision criteria that actually matter

Score your requirement against these before comparing costs. Most of them push the answer harder than price does.

Scope permanence

Will this genuinely stay narrow, or is “just viewing” the entry point? The single strongest predictor of whether a build works out. Be honest about the roadmap, not the ticket.

Cost of being wrong

A misrendered thumbnail is a bug. A redaction that didn’t remove the data is a disclosure incident. Grade each document operation by what a single silent failure costs you, not by how often it happens.

Compliance surface

The accessibility, archival, and digital-signature standards (PDF/UA, PDF/A, PAdES) either pass a validator or they don’t — there’s no partial credit. The hidden structure a screen reader needs is present or it isn’t. This is the layer where “usually correct” has no value, and where the regulatory calendar is tightening rather than easing.

Adversarial input resilience

If users upload files, the code is reading bytes an attacker chose. A tiny file that expands to fill all available memory, an Office document that tricks the reader into fetching files off your server, an archive that writes outside the folder it was extracted into, a PDF with a deliberately corrupted index — these are a well-known category of attack with a published OWASP checklist, not exotic edge cases.

Maintenance ownership

Name the person who will understand this code in eighteen months well enough to change it safely. If an agent wrote the first draft, the old assumption that the author holds the mental model no longer applies.

Where documents are allowed to go

Requirements like running with no internet connection at all, sending no usage data back to a vendor, or keeping documents inside a specific country tend to surface late and eliminate options. Decide early whether documents may leave your network — it constrains both paths, not just the buy one.

Extraction structure

If documents feed agents or RAG, flat text is a downgrade you can’t undo at inference. Structure lost at extraction — headings, table cells, reading order — is gone. Several popular OSS parsers score zero on table structure recovery.

Platform spread

A build multiplies per platform. Web, iOS, Android, and server-side each need their own engine, their own annotation data model, and their own security response — and they have to render the same file identically.

Audit trail and provenance

Can you reconstruct how a given output was produced, months later, for a regulator or opposing counsel? “An agent did it” is not a chain of custody. Confidence scores, citations, and replayable runs are.

Agent readiness of the alternative

If you buy, your agent still does the integration. Machine-readable docs, typed SDKs, and a callable tool layer decide whether it generates working code or plausible fiction you debug by hand.

Three-year cost, not year one

Build costs front-load visibly and compound invisibly. Compare cumulative cost over three years against your own licensing options at ten times current volume.


04

What’s under the hood if you build

No single open-source library covers the document lifecycle. “Just use pdf.js and PDFBox” already means four or more independently versioned projects, with different licenses and different maintainers, that you now integrate and own.


pdf.js

Browser rendering

Strength

Mature, actively released, and the engine behind Firefox and Chrome’s built-in previews. Genuinely good at what it was built for.

What you inherit

Can’t create or verify certificate-based digital signatures — the legally binding kind, as opposed to a drawn image of a signature. Limited screen-reader support relative to the PDF/UA accessibility standard. Scores 0.000 on table-structure recovery in public benchmarks — fine for viewing, a problem for AI pipelines.


Apache PDFBox

Java read/write toolkit

Strength

Foundation-governed, 11,000+ commits, a PDF Association partner project, and one of the few OSS options with real digital signature support.

What you inherit

Adding a second signature to an already-signed document has historically stripped out the form data and silently invalidated the first signature. Checking a signature gets slow on files past a few megabytes. Interactive forms that change as they’re filled in are effectively unsupported.


MuPDF, iText, Ghostscript

Rendering, toolkit, interpreter

Strength

Technically excellent and standards-correct. MuPDF in particular is among the fastest engines available.

What you inherit

All three are AGPL with a single commercial licensing agent. Linking them into a closed-source product — or serving them over a network — obligates full source disclosure or a paid license. “Free” is doing a lot of work here.


pypdf

Python read/write

Strength

Pure Python, pip-installable, well-documented, and the default an agent will suggest for Python.

What you inherit

Seven-plus publicly disclosed vulnerabilities in roughly twelve months, all triggered by feeding it a broken or hostile file — the library hangs forever, or eats all available memory until the process dies. Individually minor, but a steady pattern rather than a one-off.


Tesseract

OCR

Strength

98–99 percent character accuracy on clean, printed, Latin-script text. Deservedly the default OCR recommendation.

What you inherit

Roughly 90–95 percent on scanned PDFs, 70–85 percent on complex layouts, and 50–80 percent on handwriting. No native document-structure or reading-order understanding, which matters for anything downstream of extraction.


wkhtmltopdf, LibreOffice headless

Conversion

Strength

LibreOffice converts Office formats with genuinely high fidelity and is actively maintained.

What you inherit

wkhtmltopdf was archived in January 2023 and carries an unpatched critical SSRF (CVE-2022-35583, CVSS 9.8) — any agent still recommending it is recommending abandonware. LibreOffice was architected as a desktop app and is not concurrency-safe without a process-pool layer you build.


PDFium

Rendering engine

Strength

The engine inside Chrome and Edge, hardened by exposure to adversarial input at browser scale. Excellent standards fidelity.

What you inherit

Rendering only — no editing, forms, annotations, or signatures. No official standalone build pipeline, so integrating it outside Chromium means Chromium’s own toolchain and platform-specific workarounds.


Note also that this table is a web and server story. On iOS and Android the options thin out sharply: pdf.js is browser-only, PDFium has no official standalone build pipeline and needs platform-specific workarounds to compile, and Artifex sells separate paid “App Kit” SDKs for MuPDF precisely because the raw library requires real native build work on both platforms. A team shipping web and mobile isn’t integrating one stack — it’s integrating and maintaining a different one per platform, then reconciling rendering and annotation data models between them.

None of this makes open source a bad choice — these are good projects, and several are excellent at the one job they were built for. The claim worth holding is narrower and more defensible: they are incomplete for the full document lifecycle, and the integration surface between them is yours. For a deeper look at one of them, see the Nutrient vs. PDF.js comparison.


05

Six assumptions that break in production


“The agent already built it, so it’s done”

A working prototype and a production-safe implementation are different achievements. The gap between them is disproportionately made of the edge cases and security patterns that research consistently shows AI-generated code handles worst — in a domain built on parsing untrusted input from twenty years of non-conforming producers.


“The agent will maintain it too”

Someone still has to understand it. Qodo’s survey of 609 developers found 65 percent say AI tools miss relevant organizational context during refactoring and review. Code that ships clean but that nobody deeply understands is a maintenance liability with a delayed fuse.


“Open source means no license cost”

MuPDF, Ghostscript, and iText are AGPL with a single commercial licensing agent each. Using them in a closed-source or SaaS product means disclosing your entire application’s source or buying a commercial license. The decision isn’t free versus paid — it’s which vendor, on which terms.


“A black box over the text is redaction”

It isn’t, and the failure recurs at the highest levels. Manafort’s 2019 filing, Meta’s own legal team in the 2025 FTC antitrust trial, and the December 2025 Epstein files release all shipped black rectangles over recoverable text. Meta made the identical mistake a small litigant made six years earlier, with unlimited engineering resources.


“We’ll add compliance later”

PDF/UA tagging, PDF/A conformance, and PAdES long-term validation are architectural, not cosmetic. More than 5,000 digital accessibility lawsuits were filed in the US by the end of 2025, the ADA Title II deadline for public entities landed on April 24, 2026, and the EU Accessibility Act has had enforcement powers since September 2025.


“Control means owning the source”

Control is about owning outcomes. An agent-assembled stack doesn’t remove the vendor — it replaces one document SDK vendor with an unaudited set of open-source dependencies whose maintainer you now are, on a codebase whose mental model lives with whoever last prompted it.



06

Red flags in a build plan

The demo used clean files

Prototypes get tested on well-behaved documents. Production gets scanned forms from a printer nobody has heard of. Size the build against your worst file, not your best.

No named owner for CVE response

Ask who patches pypdf or Ghostscript the week a vulnerability drops, and what the SLA is. If the answer is “whoever’s free,” that’s the real cost line.

Scope is described as “just viewing”

Viewing becomes annotation, then forms, then signatures, then redaction. Every document feature in this category has followed that path. Plan for the ceiling, not the entry point.

The estimate has one number in it

A build estimate that covers initial development but not maintenance, security patching, compliance validation, and review overhead is measuring the cheapest phase and calling it the total.

Nobody has read the licenses

AGPL obligations in MuPDF, Ghostscript, and iText surface during legal review, usually after the architecture is committed. That is an expensive time to discover them.

“The agent found a library that does this”

Coding agents suggest dependency versions from training-data frequency, not live CVE lookups, and hallucinate plausible package names at a measured 5–22 percent rate depending on model. Verify what actually got installed.


07

The real total cost of ownership

Agents shrink the number you see in a demo and grow the one that shows up on a support queue, a security audit, or a compliance review eighteen months later.

Which cost categories actually moved

Directional, not audited. Build your own version with your own salary and volume assumptions — the point is which rows move and which don’t.

Cost category Direction under AI Why
Initial development
Compressed, meaningfully
First-draft and glue-code work is where agents are strongest. This is the row that broke the 2025 argument, and it broke for real.
Cross-platform integration
Compressed, less
Per-platform engine differences, native build systems, and annotation data models stay largely manual.
Ongoing maintenance
Flat to worse
Duplicated code rose while refactoring fell across enterprise codebases. More places for a single defect to live means more per-fix cost, not less.
Code review and QA
Worse
More code shipped per hour is more code to review per hour — against a measured 75 percent increase in logic and correctness defects.
Security patching
Worse
Unchanged CVE cadence in the underlying libraries, now against code the team understands less well. Agents also suggest dependency versions by training-data frequency, not live CVE lookups.
Compliance conformance
Unchanged
Accessibility and archival conformance is checked by a validator. No amount of generation speed changes whether a file passes.
Opportunity cost
Flat
Specialist judgment about document edge cases doesn’t compress just because drafting did. Someone still has to build and hold it.

Coding agents don’t have a buy instinct

An independent February 2026 study prompted Claude Code 2,430 times across 20 unrelated tool categories, with no vendor names in any prompt, and recorded what it actually reached for. Custom code was the primary choice in 12 of 20 categories. Asked to add authentication, it wrote a bespoke implementation in 48 percent of cases across all languages — the single largest share of any option, and the exact “roll your own auth” pattern the industry spent a decade learning to avoid. (In the Python-specific slice it was 100 percent, which is worth knowing and worth quoting only with that qualifier attached.)

No equivalent study exists for document processing specifically, so read this as directional rather than proven for this domain. But there is no principled reason to expect document handling to be the exception to a build bias that consistent across 20 unrelated categories — which means the recommendation your agent gives you is not, by itself, evidence about which path is right.


08

When building it yourself is the right call

We sell an SDK, so treat this chapter with appropriate suspicion — and then check it against your own situation. These are real signals, not a setup for a rebuttal.


01

The scope is permanently narrow, and you mean it

Slack added inline PDF viewing in 2016 on pdf.js, scoped to display and text selection for small files — small enough to be a new engineer’s onboarding project. Years later it still had no annotations, forms, or signing, because that was the plan. A narrow build works indefinitely if the team accepts a hard, permanent ceiling.


02

Document processing is your actual differentiator

Dropbox bought commercial OCR first to validate demand, then replaced it in-house once demand was proven — an eight-month program with a custom labeling platform, a from-scratch neural architecture, and millions of synthetic training words. That is the bar. If you have that team and that runway, build.


03

You’re pre-PMF with unstable requirements

If a six-figure annual license is a meaningful fraction of runway and the requirements will change substantially within two quarters, the cheapest thing that unblocks the next milestone is a legitimate, capital-efficient choice — even knowing it may need replacing.


04

The real constraint is commercial, not technical

If what you need is self-serve, metered access with no sales call, that’s a packaging question, not an architecture one. Start on a usage-priced API and step up only when isolation or volume requires it.


The condition every successful build shared

In every documented document-processing build that worked, the team started from a mature third-party engine, not a blank file. Dropbox’s QuickPDF — which halved 75th-percentile time to interactive — was a custom C++ binary wrapped around a modified PDFium, arrived at only after two earlier approaches were outgrown. LinkedIn Learning’s accessible viewer was a heavily modified fork of pdf.js, because pdf.js doesn’t carry tagged markup through to the DOM; it took roughly 50 people across a dozen teams more than six months, and required engineers to work directly from the PDF specification.

None of those three conditions — sustained senior investment, an honestly narrow scope, and a mature engine underneath — is changed by a coding agent typing faster. If your plan is missing one of them, the plan is the problem, not the tooling.


09

How to run a bake-off that settles it

Run both paths against the same corpus, in the same time box, and measure the things that only show up later.


01

Assemble the worst corpus you have

A thousand real files, weighted toward the ugly ones — bad scans, rotated pages, Chinese or Japanese text with only part of the font embedded, generated by whatever produced your actual production traffic. Both paths get the same set.


02

Time-box both paths identically

Same engineers, same agent, same week. If the build path gets a month and the trial gets an afternoon, you’ve measured effort allocation, not capability.


03

Validate compliance independently

Run the output through veraPDF — the free, industry-standard conformance checker — yourself. Don’t accept a conversion “success” rate from either path — vendors report 99 percent while actual conformance ranges from under 1 percent to 97 percent on the same files.


04

Test the maintenance question, not just the build question

Inject a realistic edge case a week after the build is “done” — a font that renders one character off, a form field that won’t flatten — and time the fix. That number, not the build time, is what you pay for three years.


05

Have someone who didn’t build it review it

The developer who prompted the build is the worst judge of whether it’s production-safe — that’s the perception gap in chapter 02, applied to your own team. Get a second engineer to try to break it.


What to measure

Correctness and resilience

Metric What to measure Why it matters
Critical failures at volume
1,000+ files in one batch: count crashes, hangs, and unrecoverable errors
Zero is the baseline. One crash per thousand is a daily incident at production scale.
Redaction permanence
Extract text from your own redacted output; check embedded thumbnails and image streams too
Overlay redaction is the default behavior of most free tools. This test takes ten minutes and has ended careers.
Table structure recovery
Extract a document with nested tables and compare cell boundaries against ground truth
Several popular parsers score 0.000 here. If documents feed an agent, this is the number that decides whether it answers correctly.
Signature longevity
Sign, then validate offline with no network access after the signing certificate would have expired
Without PAdES B-LT, a signature that validates today reads as “validity unknown” to an auditor in five years.
PDF/UA and PDF/A conformance
Convert, then validate with veraPDF
Binary and legally consequential. Pass rates across tools range from 15 percent to 96 percent on identical files.
Handling of broken files
Feed it deliberately corrupted files, tiny files that expand to consume all memory, and files that cut off halfway through
If users upload documents, this is your attack surface. Resource exhaustion is the most common real-world failure.

Cost and operability

Metric What to measure Why it matters
Time to fix an edge case
Hours from a reported rendering or extraction defect to a deployed fix
The single best proxy for three-year maintenance cost. Measure it on both paths.
Concurrent throughput
N simultaneous server-side jobs: per-job latency and total throughput
Single-document benchmarks tell you nothing. Several OSS conversion tools are not concurrency-safe at all.
License audit
Full dependency tree, with every license resolved and reviewed
Run this before the architecture is committed. AGPL obligations found during legal review are the expensive kind.
Agent integration quality
Point your coding assistant at the docs and have it build a real integration; count the corrections
Most integration work now runs through an agent. If it needs constant correction, that cost is yours every sprint.

10

Why teams choose Nutrient

We build with coding agents too

This isn’t an argument against agentic coding. Our own engineers ship with Claude Code and Codex daily, and Nutrient is built to be driven by agents: an open source MCP server, typed SDKs for TypeScript and Python, llms.txt published across every major SDK, the TypeScript client indexed on Context7, and a one-command install that drops complete SDK documentation into your assistant’s rule set — Claude Code, Cursor, GitHub Copilot, and JetBrains Junie among them. We also open sourced agentic usability, a tool that runs coding agents against an SDK in isolated sandboxes to measure how well they can actually use it — including against our own APIs, to find where they get confused. The question was never whether to use an agent. It’s what you point it at.

Extraction accuracy we publish, including where we don’t lead

Vendor accuracy claims are worth what you can reproduce. opendataloader-bench is a community-maintained corpus of 200 real-world PDFs with hand-annotated ground truth, Apache 2.0, with an open source evaluation harness and a public leaderboard. We run the full corpus every release with competitor libraries pinned to their latest published versions, and commit our predictions publicly.

Nutrient’s vision tier scores 0.93 overall and tops every metric — 0.96 on reading order, 0.94 on table structure, 0.87 on heading hierarchy. Standard Nutrient scores 0.889, statistically tied with docling’s 0.892 while running roughly 134 times faster (0.004 seconds per page against 0.549). By comparison, pypdf and liteparse each score 0.000 on both table structure and heading detection, and PDF.js scores 0.000 on table structure recovery — fine for rendering, disqualifying for an AI pipeline.

Two caveats we publish alongside the wins, because leaving them out is what makes benchmark claims worthless: the 0.93 figure is the vision tier, which requires a license key and is therefore run internally rather than on the public leaderboard; and the OpenDataLoader hybrid configuration beats standard Nutrient overall (0.907 against 0.889), with docling ahead on table structure among non-vision tools. Download the corpus and run it against your own documents.

Bounded, scored, and governed — the part that has to be provable

We use AI, and we’re precise about where. Recognition against a known data model — key-value pairs, MRZ lines on a passport, MICR on a check, OMR on a form, layout elements from the ICR engine — is AI- and ML-powered, but bounded: it returns typed output against a schema, with per-element confidence scores. The key-value engine’s confidence score is computed from OCR character-level confidence, word-level confidence, and the known difficulty of the data type, so a date or an IBAN scores more reliably than a free-form address. Document generation, conversion, redaction execution, signature validation, and PDF/A and PDF/UA conformance involve no model inference at all — they’re binary and validator-checkable.

Where reasoning is genuinely open-ended — chart and image description, cursive handwriting on degraded scans, the AI Assistant’s editing agent — we don’t call it deterministic. Our own guides say plainly that an ambiguous word can be recognized confidently and still be wrong. That layer is wrapped in citations, per-element confidence scores, and a per-tool approval policy where every operation resolves to allow, ask, or deny — so destructive actions can be gated behind a human, or refused outright, rather than assumed safe. That distinction is the product, not a disclaimer on it.

“Buy” isn’t one decision

A team weighing a hand-rolled viewer is deciding against a different product than a team weighing a redaction pipeline. Client-side viewing, annotation, form filling, e-signing, and redaction run with no backend at all — in the browser on the web, and fully on device on iOS and Android. That often satisfies “documents never leave our control” without any infrastructure at all. Step up only when isolation, volume, or collaboration requires it.

Mobile is a first-class native target, not a wrapped web view. The iOS and Android SDKs are native, with macOS covered by the iOS SDK through Mac Catalyst. React Native and Flutter wrap those native engines; .NET MAUI takes a different route, exposing the Web SDK’s APIs through a JavaScript bridge, so treat it as a web-engine product rather than a native mobile one. One caveat worth knowing before it costs a sprint: certificate-based digital signing is not bridged in the React Native or Flutter APIs — those surface electronic and handwritten signatures, and PAdES digital signatures have to be reached through the underlying platform SDK (iOS, Android, or Web).

Web SDK, Standalone mode
Native mobile SDKs
Server SDKs
Document Engine
DWS APIs
Where it runs
In the browser, no backend
On device — native iOS and Android, macOS via Mac Catalyst
Inside your own application on your server, with no network call
Your own servers, or a dedicated instance Nutrient runs for you
Nutrient-hosted, on infrastructure shared with other customers
Where documents go
None — documents never leave the client
None — fully on device, works offline with no connectivity
None — fully embedded, air-gap capable
None when self-hosted; region-pinned when Nutrient-managed
Processed by Nutrient; on plans without data retention enabled, input files aren’t persistently stored
Best for
Viewing, annotation, forms, e-signing, redaction with no infrastructure
Field and offline work: viewing, annotation, forms, and signing on a phone or tablet with no connection
Backend processing, local extraction and OCR, strict requirements that documents never leave your network
Real-time collaboration, high-volume processing, tenant isolation
Fastest start, usage-priced, no infrastructure to run

Compliance and regulated deployment aren’t afterthoughts

The requirements that surface late in an evaluation — air-gapped deployment, zero telemetry, data residency — are documented deployment paths here, not custom engagements. Nutrient is SOC 2 Type 2 audited, GDPR-compliant with US and EU regional hosting, and ISO 27001-aligned, with PDF/A archival, PDF/UA auto-tagging, and PAdES-compliant digital signatures as first-class capabilities rather than a roadmap item. Encryption-in-transit and at-rest specifics vary by product and deployment — confirm them against the security guide for the product you’re deploying.

The work already done

Nutrient is the accumulated engineering of five formerly independent document companies, built on PDFium — the same engine behind Chrome and Edge — and running across Web, iOS, Android, .NET, Java, Node.js, Python, React Native, Flutter, and MAUI with one data format and one support relationship. More than 3,000 organizations use it, including roughly 15 percent of the Global 500, across more than a billion document interactions a year. That’s the thing a build has to replace, and it isn’t a viewer.


11

Next steps


Run the bake-off

Get a trial key scoped to your use case and time-box it against your build path on the same corpus. Everything you build during the trial carries over to production — no rework.

Get Started

Pressure-test the decision with an engineer

Talk to a solutions engineer about where your requirements actually sit. If your scope is narrow enough that building is the better call, you’ll hear that.

Contact Sales

Point your coding agent at it

Install the MCP server, pull the typed SDKs, and let your agent integrate real document operations against your own files. Judge the result the way you’d judge its build.

Explore the MCP Server

Compare the alternatives side by side

An honest, capability-by-capability comparison against agentic coding and open source — including the rows where building it yourself is the better fit.

See the comparison


Frequently asked questions

Can I just build document handling with Claude Code or Cursor?

For a prototype, or a viewer for files you control, yes — and that’s a good use of a coding agent. The gap opens after the demo. A working prototype and a production-safe implementation are different achievements, and the distance between them is made up of edge cases, surviving broken and hostile files, and meeting compliance standards — in a domain with a twenty-year history of published security vulnerabilities. The honest question isn’t whether your agent can produce something that works. It’s whether you can certify it’s correct on the one badly formed contract, every time, with an audit trail.

Is it cheaper to build document features with AI in 2026?

Year one, often yes — first-draft development is genuinely compressed. Cumulatively, probably not. The cost categories most exposed to compounding — maintenance, security patching, code review — are the ones independent research says are flat or worsening: refactoring fell while duplicated code rose across enterprise codebases, AI adoption measurably decreased delivery stability in Google’s DORA data, and AI-authored pull requests carry roughly 1.7 times the flagged issues of human-authored ones. Build the three-year model, not the year-one one.

When does building document features in-house actually make sense?

When the scope is permanently narrow and you mean it, when document processing is your actual product with a funded team behind it, when you’re pre-PMF and runway matters more than engineering time, or when your real constraint is commercial rather than technical. Chapter 08 covers each with the evidence. We’d rather tell you that than oversell — and the agentic coding comparison names the specific capability rows where building it yourself is the better fit.

Is open source like PDF.js good enough?

For basic viewing of well-behaved files, PDF.js and PDFium are solid, widely used projects. The ceiling is the problem: no certificate-based signature verification, limited PDF/UA support, no true redaction, and 0.000 on table-structure recovery in a public 200-document benchmark. Several of the other common recommendations — MuPDF, Ghostscript, iText — are AGPL with a single commercial licensing agent, so using them in a closed-source or SaaS product means disclosing your source or buying a license. See the full PDF.js comparison and why AI agents hallucinate PDF table data.

What’s the biggest hidden cost of building document handling?

Institutional memory. When a customer reports that one scanned invoice displays a single character wrong — because the page is rotated and the font is only partly embedded in the file — someone has to understand the code well enough to fix it safely. If an agent wrote the first draft, the old assumption that the author holds the mental model no longer holds — and a Qodo survey of 609 developers found 65 percent say AI tools miss relevant organizational context during exactly that kind of work. Every AI-generated feature in production needs a named human owner who genuinely understands it.

How do I compare a build path against an SDK fairly?

Same corpus, same time box, same engineers, on both paths — then measure the things that surface later, not the things that surface in a demo. Critical failures across a thousand real files, redaction permanence tested by extracting text from your own output, PDF/UA conformance validated independently with veraPDF, and time-to-fix on an edge case injected a week after the build looked done. Chapter 09 has the full measurement tables.

Is there a buyer’s guide for choosing between SDK vendors?

Yes. Once you’ve decided to buy, the PDF SDK buyer’s guide covers vendor evaluation criteria, rendering engines, pricing models, and POC benchmarks. There’s also a DOCX editor SDK buyer’s guide for Word-document editing specifically.