惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
P
Palo Alto Networks Blog
月光博客
月光博客
H
Hackread – Cybersecurity News, Data Breaches, AI and More
I
InfoQ
aimingoo的专栏
aimingoo的专栏
腾讯CDC
T
Threatpost
D
DataBreaches.Net
Vercel News
Vercel News
F
Fortinet All Blogs
Engineering at Meta
Engineering at Meta
C
Cybersecurity and Infrastructure Security Agency CISA
Forbes - Security
Forbes - Security
U
Unit 42
C
Check Point Blog
Blog — PlanetScale
Blog — PlanetScale
O
OpenAI News
量子位
TaoSecurity Blog
TaoSecurity Blog
Microsoft Azure Blog
Microsoft Azure Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
V
Visual Studio Blog
Recorded Future
Recorded Future
云风的 BLOG
云风的 BLOG
Security Archives - TechRepublic
Security Archives - TechRepublic
The Last Watchdog
The Last Watchdog
S
Security Affairs
Attack and Defense Labs
Attack and Defense Labs
罗磊的独立博客
Stack Overflow Blog
Stack Overflow Blog
Microsoft Security Blog
Microsoft Security Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
V
V2EX
小众软件
小众软件
S
SegmentFault 最新的问题
www.infosecurity-magazine.com
www.infosecurity-magazine.com
W
WeLiveSecurity
AI
AI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
博客园 - 聂微东
I
Intezer
Know Your Adversary
Know Your Adversary
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
P
Proofpoint News Feed
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The Cloudflare Blog
博客园_首页
NISL@THU
NISL@THU
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO

Inside Nutrient

A guide to the invisible work behind documents Introducing Nutrient Documents for Salesforce: Native document generation and signing Document AI vs. traditional OCR: Choosing between OCR, AI, and hybrid pipelines PDF SDK compliance and security evaluation checklist for enterprise teams (2026) Invariant Corp replaces paper processes with Nutrient Workflow and scales without limits What is process mapping? A complete guide Nutrient vs. Conga Composer for Salesforce document generation (2026) Document routing: How to automate document distribution The CTO’s AI playbook: Why accountability architecture beats orchestration Compliance workflow automation: Why built-in compliance is table stakes Workflow diagrams: Examples, symbols, and how to build one that actually runs Digital forms: Replace paper forms with automated workflows Approval workflow software: How to automate approvals Why document-centric automation is different The CEO’s AI playbook: Why decision architecture beats model selection Nutrient SDK product updates for Q1 2026 PDF redaction verification: How to prove sensitive data is permanently removed What is a VPAT? The complete guide to accessibility conformance reports What is PDF/UA? The accessible PDF standard explained Salesforce eSignatures: Generate, sign, and track documents in one flow Online document viewer: Options, tradeoffs, and how to embed one Document viewer for web apps: React, Vue, Angular (2026) Best document viewers in 2026: A buyer’s guide How to edit a PDF in Python: Add text, images, and annotations Nutrient advances Workflow platform with agentic AI for enterprise-grade speed and consistency in document-heavy operations How to create a Salesforce quote template from opportunity data The business case for accessibility: Five ways it drives enterprise value Python PDF library comparison (2026): 7 libraries for developers Why your AI agent hallucinates PDF table data PDF.js limitations: When to upgrade to a commercial PDF SDK How Subject scaled 5× with Nutrient’s PDF SDK without rebuilding its document layer I replaced our sales training with an AI coach that runs in Slack — here’s what broke Redirecting to: https://securitybuzz.com/cybersecurity-news/why-enterprise-permissions-are-ais-most-dangerous-inheritance/ Nutrient .NET SDK vs. iText Core: Complete comparison for .NET developers DocuVieware: Support’s most frequently asked setup questions Introducing Nutrient Workflow How to convert PDF to Word in C# (.NET) When email and spreadsheets stop working: Work order approval workflows for field teams on the move Compliance with confidence: Why document-centric automation is the foundation of your mission Nutrient expands AI Assistant, automating multistep document workflows inside any application What is document generation? A developer’s guide to PDF generation Document Converter data flow and how real-time watermarks skip the queue PDF/UA compliance guide: Requirements, standards, and best practices Computers still can’t understand you How Athena Intelligence built AI agents for regulated enterprises with Nutrient’s document infrastructure How to convert HTML to PDF (2026): 4 methods from browser print to SDK How to build a document extraction pipeline with Nutrient Vision API OCR vs. intelligent document processing: Choosing the right document extraction engine Beyond OCR: How document intelligence eliminates manual processing in regulated industries Nutrient vs. IronPDF: Complete comparison for .NET developers Nutrient vs. Aspose.PDF: Complete comparison for .NET developers Redirecting to: https://fortune.com/2026/02/19/openclaw-who-is-peter-steinberger-openai-sam-altman-anthropic-moltbook/ Lufthansa Systems uses Nutrient to deliver reliable, scalable PDF rendering for pilots worldwide Nutrient vs. Syncfusion: Complete comparison for .NET developers React’s useTransition: The hook you’re probably using wrong First City Monument Bank streamlines banking processes with Nutrient Workflow Redirecting to: https://www.sdcexec.com/warehousing/automation/article/22957364/nutrient-workflow-automation-the-missing-link-in-supply-chain-efficiency The complete guide to digital signatures: PAdES, CAdES, and XAdES explained Nutrient Python SDK: Production-grade document processing for Python Introducing agentic document editing for web applications with AI Assistant Nutrient vs. QuestPDF: Complete comparison for .NET developers How we fixed the GdPicture license expiration (and what to do if you’re affected) Red team security testing with agentic AI The future of healthcare document automation Best healthcare workflow software compared Nutrient SDK product updates for Q4 2025 How Harvey scaled legal document workflows 50 percent MoM without rebuilding infrastructure HIPAA-compliant document management in hospitals How we optimized rendering performance while handling thousands of annotations in React — Part 2 Automated PII removal with Nutrient API Redirecting to: https://www.devopsdigest.com/2026-low-code-no-code-predictions Redirecting to: https://www.kmworld.com/Articles/Editorial/ViewPoints/Leaders-predict-AI-to-continue-permeating-all-aspects-of-KM-in-2026-172594.aspx What are deep agents and how do they solve complex problems? Whipping up document magic: Your easy-bake recipe for Vue and Nutrient Web SDK 🧁 What I’ve learned about product iteration planning while building SDKs Passwordless document signing: Three-layer security guide New zip folder functionality streamlines file management in Document Automation Server The keyboard shortcuts playbook: Taking control of keyboard events in Nutrient Web SDK From experienced engineer to AI beginner: My unexpected journey AI-assisted manual testing: Handling Safari’s PDF rendering and UI quirks How to keep a 20-year-old SDK up to date How we optimized rendering performance while handling thousands of annotations in React — Part 1 Nutrient announces new executive hires to accelerate next phase of growth High performance UI using web workers Automate document conversion at scale with Python and Nutrient DCS From curiosity to PLG (and AI): My journey to understanding product-led growth Prost to progress: One year as Nutrient Pigeon usage at Nutrient: Bridging native SDKs to Flutter Modernizing CI build servers: How to migrate from Chef to Ansible Unix man pages: AI-friendly documentation since 1971 Consistent hashing for even load distribution Best AI redaction APIs: Complete comparison guide for 2025 Why AI document redaction matters for modern security From coding to coordinating: How AI transformed my workflow What is intelligent document processing (IDP)? A complete guide Enterprise PDF SDKs: Best PSPDFKit (now Nutrient) alternatives Nutrient SDK product updates for Q3 2025 GdPicture support best practices Redacting sensitive data with Nutrient AI redaction API How AI is transforming the customer experience at Nutrient: From instant answers to intelligent support
Handwriting OCR vs. VLMs: What’s the difference?
Denis Moldovan · 2026-06-10 · via Inside Nutrient

TL;DR

  • Handwriting recognition is a different problem from printed-text optical character recognition (OCR) — infinite style variation, stroke ambiguity, and degraded input make it far harder.
  • Many extraction workflows still treat handwriting as an exception: They skip it, return ungrounded text, or provide spatial data that’s too coarse for redaction, review, and audit workflows.
  • The few solutions that do provide bounding boxes typically stop at line level, which breaks use cases like precise redaction, field-level extraction, and compliance auditing.
  • Vision language models (VLMs) can read handwriting, but without word-level coordinates, their output is difficult to trust or act on in production workflows.

Handwriting appears in millions of documents processed every day — annotations on contracts, notes on medical records, remarks on inspection reports. Yet most document extraction tools either ignore it entirely or handle it partially.

The gap between how well machines read printed text and how well they read handwriting is enormous. Clean printed-text OCR is mature. Handwriting extraction is not, and many systems still treat it as a special case rather than a core capability.

Why handwriting extraction is still hard

Clean printed-text OCR is mature because the problem is constrained: Fonts are finite, each character has a consistent shape, and spacing is predictable. Handwriting breaks every one of those assumptions.

The first issue is variation. There’s no fixed set of shapes to match against — every person writes differently, and the same person writes differently depending on whether they’re standing at a counter or rushing through the last page of a form. The letter “a” alone can look like a circle with a tail, an inverted “e,” or a “u” with a hat. Multiply that across an alphabet, and pattern-matching collapses.

The second issue is stroke ambiguity. In printed text, each character is isolated. In handwriting — especially cursive — strokes connect, overlap, and bleed into each other. The sequence “rn” looks identical to “m”; “cl” becomes indistinguishable from “d”; “burn” and “bum” are one pixel apart, and only context can disambiguate them. This is the norm for handwritten text, not an edge case.

The third issue is layout and input quality. Characters vary in size within the same word. Spacing is inconsistent — sometimes a gap inside a word is wider than the gap between two separate words. Line detection algorithms tuned for printed text split single words in half or merge two lines into one. On top of that, handwriting often arrives from the worst possible source: photocopies, faxes, smudged pen ink, faded pencil, ballpoint that skipped, plus scanning artifacts, skew, and low DPI. The signal-to-noise ratio drops to levels where printed-text OCR engines produce nonsense.

Why reading the text is only half the problem

Even if a model reads handwriting correctly, the output isn’t useful in production unless you can also point to where on the page each word came from. Production systems need both: what was written and where it came from.

This is spatial grounding, and it’s where almost every solution falls short. Some tools skip handwriting entirely. Others return ungrounded text — a string of words with no coordinates. The few that do attach spatial information typically stop at the line level, which is too coarse for the workflows that depend on grounded extraction.

The rest of this post looks at where many of the current approaches break, why grounding matters as much as accuracy, and what production-ready handwriting extraction needs to provide.

Where current approaches break

The document extraction market offers three approaches for handling handwriting, each with a different tradeoff.

Traditional OCR engines

Engines like Tesseract are fast and cheap, and they run locally — but they were tuned for printed text. Tesseract 4+ added a long short-term memory (LSTM) line-recognition engine(opens in a new tab) (now the default) alongside the legacy character-pattern engine, which improves connected scripts. Even so, training data and tuning remain print-centered, and accuracy on general handwriting — especially cursive or degraded scans — drops sharply. That makes it rarely sufficient on its own for handwriting-heavy workflows.

Deep learning OCR (CRNN architectures)

Sequence-to-sequence architectures like convolutional recurrent neural networks (CRNN(opens in a new tab)), now a standard backbone for handwritten text recognition (HTR), treat a line of handwriting as a continuous signal rather than segmenting individual characters, which handles connected strokes and variable spacing well. The tradeoff is data: These models perform well on the styles they were trained on and degrade on everything else. A model trained on neat English samples will struggle with a hastily filled prescription pad, and fine-tuning requires domain-specific data that most organizations don’t have.

Vision language models (VLMs)

This is where the industry is placing its bets. Models like Claude or Gemini can process document images directly and return text. They handle handwriting better than traditional OCR because they bring language understanding to the problem — they can use context to disambiguate characters the same way a human reader does.

But VLMs come with three production-blocking tradeoffs:

No spatial grounding. Most VLMs return plain text — what was written, but not where on the page. You can ask for coordinates, but the result is closer to an estimate than a measurement.

Hallucination. VLMs are built to output the most probable token in a sequence(opens in a new tab) — in zero-shot document extraction, that means they default to a confident-sounding answer rather than a flagged uncertainty. When a handwritten word is ambiguous, the model picks the most likely completion and moves on. On a financial document, a handwritten “1” that could be a “7” gets resolved silently.

Non-determinism. Run the same document through the same VLM twice and you may get different results(opens in a new tab), even at temperature zero. For audit-sensitive workflows — healthcare, legal, financial compliance — this is disqualifying.

A direct comparison

Neither traditional OCR nor VLMs alone solve the handwriting extraction problem. Here’s where each approach stands today, specifically for handwritten content:

CapabilityTraditional OCRVLMs
Printed textExcellentStrong
HandwritingPoor — especially cursiveSignificantly better — uses language context
Spatial groundingCharacter/word-level boxesPrompted or estimated
Context disambiguationLimited — varies by engineStrong — uses surrounding text and semantics
ConsistencyDeterministicNon-deterministic
Confidence scoresYesTypically no
Runs locallyYesCloud-dependent (mostly)

OCR has the spatial precision but can’t read handwriting well. VLMs can read handwriting but can’t reliably tell you where on the page they read it.

The grounding problem: Why bounding boxes matter

Spatial grounding comes in two granularities. Line-level bounding boxes give you a rectangle around an entire line of handwritten text — useful for navigation and for showing a reviewer roughly where text was found. Word-level bounding boxes give each individual word its own rectangle, so each extracted token maps back to the specific pixels it came from.

Top panel: a handwritten line with one rectangle around the entire sentence (line-level grounding). Bottom panel: the same line with individual rectangles around each word (word-level grounding).

For basic text extraction, line-level grounding may be enough. But once the output drives real workflows, the limits show up quickly. Redaction, field extraction, and audit review all depend on isolating specific words or values, not just locating the line they appeared on.

Precise redaction

A handwritten line on a medical form reads: “Patient John Smith reports chronic back pain.” You need to redact the patient name. With line-level bounding boxes, you can identify the line, but you can’t isolate “John Smith” without manual intervention. You either redact the entire line — removing clinical information along with the name — or you hand it to a human to draw the redaction box manually.

Word-level bounding boxes solve this. Each word gets its own coordinate rectangle, so automated redaction can target exactly “John” and “Smith” and leave the rest intact.

Three panels of the same handwritten medical form line. Top: original line. Middle: line-level redaction with the entire sentence blacked out, removing clinical context along with the patient name. Bottom: word-level redaction with only the patient name blacked out, preserving the clinical context.

Forms often have multiple handwritten entries on the same line or in adjacent fields. A line-level bounding box that spans “Date: 04/15/2026 Signature: J. Smith” gives you no way to programmatically separate the date from the signature. Field extraction becomes a string-parsing exercise on text that may not have consistent delimiters.

Compliance and audit trails

In regulated industries, it’s not enough to extract the right text. You need to prove which specific marks on which specific page produced each data point. A line-level bounding box is too coarse for this. If an auditor asks where a specific dosage number came from, you need to point to the exact word region, not a line that also contains four other handwritten entries.

Human review and correction

Even the best handwriting extraction needs a review path for the cases the model gets wrong. Without spatial grounding, a reviewer has to read the entire source document alongside the extracted text and compare them line by line. With word-level bounding boxes, review becomes targeted: Highlight each extracted word on the source image, and let the reviewer confirm or correct only the flagged items. For complex documents, the difference in review time is substantial.

What production-ready handwriting extraction needs

A handwriting extraction system that survives contact with production documents has to meet a specific bar. Marketing pages focus on accuracy benchmarks, but the questions below are the ones that separate a demo from a tool you can build a workflow on:

  • Word-level bounding boxes for handwriting — Does the tool keep word-level precision when handwriting appears, or does it quietly downgrade to line-level grounding?
  • Confidence signals to flag uncertain reads — Does the tool surface uncertain reads for human review, or does it guess silently?
  • Mixed content in a single pass — Does it process printed text, handwriting, tables, and form fields together, or does it require pre-classifying regions?
  • Repeatable output for audit workflows — Does the same document produce stable results under the same model, settings, and preprocessing pipeline — and are model or configuration changes recorded?
  • A local processing path — Is cloud-only the only option, or can sensitive documents stay on-premises?
  • Traceability back to source pixels — Can each extracted value be tied to specific pixels on the source image so that redaction, review, and compliance workflows can run automatically?

This is the direction intelligent content recognition (ICR) is heading — systems that combine specialized local AI models for structural analysis and spatial grounding, with optional VLM enhancement for the hardest cases. The key distinction from pure VLM approaches is that grounding isn’t bolted on as an afterthought; it’s the foundation of the extraction pipeline.

Nutrient’s Vision API takes this approach: OCR, ICR, and VLM-enhanced ICR as three operation modes through a single API, each producing structured output with word-level bounding boxes. The choice of when to involve a cloud model — and when local processing is sufficient — stays with the organization, not the vendor.

Here’s what that actually looks like on the medical form line we’ve been using throughout this post — handwritten input above, raw API response below.

A handwritten line 'Patient John Smith reports chronic back pain' with brand-colored bounding boxes drawn around each individual word.

{

"type": "handwriting",

"text": "Patient John Smith reports chronic back pain",

"words": [

{ "text": "Patient", "bounds": { "x": 29, "y": 71, "width": 65, "height": 19 }, "confidence": 0.99999493 },

{ "text": "John", "bounds": { "x": 114, "y": 71, "width": 42, "height": 18 }, "confidence": 0.9086269 },

{ "text": "Smith", "bounds": { "x": 177, "y": 71, "width": 45, "height": 16 }, "confidence": 0.99963254 },

{ "text": "reports", "bounds": { "x": 245, "y": 73, "width": 54, "height": 17 }, "confidence": 0.9999859 },

{ "text": "chronic", "bounds": { "x": 322, "y": 72, "width": 63, "height": 15 }, "confidence": 0.99995863 },

{ "text": "back", "bounds": { "x": 413, "y": 70, "width": 42, "height": 18 }, "confidence": 0.9999906 },

{ "text": "pain", "bounds": { "x": 477, "y": 77, "width": 37, "height": 11 }, "confidence": 0.9347284 }

],

"readingOrder": 2,

"pageNumber": 1,

"bounds": { "x": 28.58, "y": 69.81, "width": 488.38, "height": 26.75 },

"confidence": 0.7569149

}

Nutrient Vision API combines OCR, ICR, and VLM-enhanced ICR so teams can extract handwritten content with coordinates, confidence signals, and local-first processing options.

Where does this leave us?

Handwriting recognition has been a hard problem for decades, and it remains one. No single approach handles every real-world handwriting workflow. The variation is too wide for template matching, the ambiguity is too deep for character-level segmentation, and the stakes in production environments are too high for solutions that guess without telling you.

VLMs brought a real leap in reading accuracy. But accuracy without grounding is a half-solution. If you can’t point to where on the page a word was extracted from, you can’t redact it, you can’t audit it, and you can’t build reliable automation on top of it.

The tools that will narrow this gap are the ones that treat recognition, grounding, confidence, and human review as a single system — each one a core requirement.