IRONSOFTWAREHOME

在 Linux 上加载 PDF 表单卡住的进程

Curtis Chau
Curtis Chau
Updated: 2026年6月29日

在Linux上(例如,使用.NET 8的Debian系统),OcrInput.LoadPdf()在加载包含交互式表单字段的某些PDF文件时,可能会无限期挂起。 调用从未返回且进程停止。

Process hangs at OcrInput.LoadPdf() and never proceeds.
Text

某些 PDF 的交互式表单层是触发器。 相同文件在 Windows 上正确加载,其他表单 PDF 可能在 Linux 上加载良好,这使问题不一致,难以在生产中出现前捕获。

解决方案

在传递给 IronOCR 之前 将 PDF 平面化。 平面化将每个表单字段转换为静态页面内容,移除了导致挂起的交互层。

1. 使用 IronPDF 平面化 PDF

加载源文件,将其平面化并保存静态副本:

using IronPdf;

var pdf = PdfDocument.FromFile("ocrpdfform.pdf");
pdf.Flatten();
pdf.SaveAs("flattened_ocrpdfform.pdf");
C#

Flatten() 会去掉交互式表单字段,留下一个简单的文档,IronOCR可以打开而不会卡住。

2. 对平面化的文件运行 OCR

LoadPdf()指向展平的副本,然后像往常一样读取:

using var ocrInput = new OcrInput();
ocrInput.LoadPdf("flattened_ocrpdfform.pdf"); // No longer stuck

var ocr = new IronTesseract();
var result = ocr.Read(ocrInput);
Console.WriteLine(result.Text);
C#

除了防止挂起,平面化还提供跨平台一致行为,去除 OCR 不需要的交互元素,并减少文件复杂性以加速处理。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

...
阅读更多

准备开始了吗?

Nuget Downloads 6,236,385版本:2026.9刚刚发布

立即获取您的免费30 天试用密钥
无需信用卡或创建账户
C# 用于 PDF 的 NuGet 库
通过 NuGet 安装

版本: 2026.9

PM > Install-Package IronOcr
nuget.org/packages/IronOcr/
  1. 在解决方案资源管理器中,右键点击引用,管理 NuGet 包
  2. 选择浏览并搜索"IronOCR"
  3. 选择包并安装
C# PDF DLL
下载 DLL

版本: 2026.9

或在这里下载Windows安装程序。

  1. 下载并解压IronOCR到你的解决方案目录中的~/Libs位置
  2. 在Visual Studio解决方案资源管理器中,右键点击引用。选择浏览,“IronOCR.dll”

许可证售价$999

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户