使用IRONPDF 如何使用OCR.net和IronPDF用C#構建PDF OCR工作流程 Curtis Chau 更新:2026年3月1日 下載 IronPDF NuGet 下載 DLL 下載 Windows Installer 開始免費試用 LLM副本 LLM副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 OCR .NET是一個用於光學字元辨識的深度學習框架,它與IronPDF配合使用,可以從 PDF 中提取文本,並在.NET應用程式中產生可搜尋的文件。 本教學將向您展示如何連接這兩個工具,以便您的應用程式可以處理掃描文件、柵格化 PDF 頁面以進行 OCR 識別,並將識別出的文字重新組裝成一個新的可搜尋 PDF。 OCR .NET模型在複雜環境下的場景文字偵測和字元辨識方面表現出色。 將其與 IronPDF 的渲染引擎結合使用,即可獲得完整的流程:生成或載入 PDF,將其頁面匯出為高解析度影像,將這些影像傳送至 OCR .NET,並將結果重建為完全可搜尋的文件。 立即開始在您的項目中使用 IronPDF 並免費試用。 第一步: 免費啟動 如何開始使用IronPDF? 在建置 OCR 工作流程之前,您需要在專案中安裝IronPDF 。 最快捷的方式是使用NuGet套件管理器控制台: Install-PackageIronPDF包 或者透過搜尋IronPDF ,直接透過NuGet UI 添加它。 安裝完成後,請在應用程式啟動時應用您的許可證密鑰: using IronPdf; IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"; using IronPdf; IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"; $vbLabelText $csharpLabel 我們提供免費試用許可證,您可以不受任何限制地測試所有功能。 IronPDF支援 Windows、Linux 和 macOS 上的.NET 6、7、8 和 10,這意味著相同的程式碼可以在桌面應用程式、 ASP.NET Core Web 服務和容器化部署中運行。 對於 Docker 環境, IronPDF提供預先配置的Linux 部署指南和精簡版軟體包,可縮小映像大小。如果您更傾向於遠端渲染架構, IronPDF引擎可以作為獨立服務運行,用戶端可在任何支援的平台上運行。 什麼是 OCRNet?光學字元辨識的工作原理是什麼? .NET是一種基於深度學習的光學字元辨識 (OCR) 技術,能夠辨識不同字體樣式中的字母數字字元。 模型採用優化的神經網路架構來捕捉輸入影像的空間特徵。 結合PDF 生成功能,這些訓練好的模型能夠對常見文件類型進行高精度辨識。 .NET背後的辨識框架採用了門控循環單元 (GRU) 來改進特徵學習並處理基於影像的序列辨識任務。 此混合模型透過連接主義時間分類 (CTC) 實現了顯著的準確性,CTC 是一種最初為序列標註而引入的技術,可以很好地應用於文件 OCR。 持續的改進不斷擴展 OCR.net 的語言支持,尤其是在與PDF 文字擷取工具整合時。 現代OCR流程的關鍵組成部分包括: -文字偵測:使用訓練好的模型辨識影像中的文字內容區域 -場景文本偵測:在複雜背景和動態環境中定位文本 -字母數字字符辨識:使用訓練好的模型辨識字符,驗證準確率高 -模式識別:應用影像處理技術進行輕量級場景文字識別 基於 GRU 的架構和連接主義時間分類能夠在容器化環境中實現高效的資源利用,使得 OCR .NET成為記憶體和 CPU 限制重要的Kubernetes 部署的實用選擇。 輕量級架構使Docker 映像大小保持在可控範圍內,同時保持了較高的辨識精度。 何時應該使用.NET而不是傳統的 OCR 函式庫? 對於基於模板的 OCR 無法處理的複雜場景文字、手寫文件或多語言內容,OCR .NET是更好的選擇。 它在容器化應用中表現尤為出色,這些應用需要在各種硬體配置下保持效能一致,且無需依賴外部資源。 該模型能夠很好地處理UTF-8 編碼,這對於國際語言支援至關重要。 傳統的基於正規表示式或模板匹配的 OCR 系統在處理可變字體、手寫字體或光照不均的圖像時會失效。 OCR.net 的神經網路方法在這些場景中具有更好的泛化能力,因為它學習的是特徵而不是匹配固定的模板。 也就是說,如果您的文件是格式一致的乾淨的機器輸入文本,那麼較輕量級的庫可能速度更快,也足以滿足需求。 生產環境中 OCR .NET的常見資源需求有哪些? 生產環境部署通常需要 2-4 個 CPU 核心和 4-8 GB 記憶體才能獲得穩定的效能。 在採用 NVIDIA Docker 運行時的容器化環境中,GPU 加速可顯著提升批次速度。這些要求與Azure 應用程式服務和AWS Lambda 部署非常契合,但 Lambda 的記憶體上限意味著您應該在部署前對特定文件大小進行基準測試。 IronPDF如何建立用於 OCR 處理的 PDF 文件? IronPDF使.NET開發人員能夠完全控制 PDF 生成。 該庫可以透過其基於 Chrome 的渲染引擎,將HTML 字串、 URL和文件輸入渲染成精美的 PDF 文件。對於 OCR 工作流程而言,關鍵功能是 RasterizeToImageFiles(),它可以將 PDF 頁面匯出為適合識別的高解析度影像。 using IronPdf; // Create a PDF document with IronPDF var renderer = new ChromePdfRenderer(); // Set 300 DPI for OCR accuracy -- higher DPI preserves text sharpness renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4; renderer.RenderingOptions.DPI = 300; renderer.RenderingOptions.MarginTop = 50; renderer.RenderingOptions.MarginBottom = 50; var pdf = renderer.RenderHtmlAsPdf(@" <h1>Document Report</h1> <p>Scene text integration for computer vision analysis.</p> <p>Text detection results for dataset and model analysis.</p>"); // Tag the document with searchable metadata pdf.MetaData.Author = "OCR Processing Pipeline"; pdf.MetaData.Keywords = "OCR, Text Recognition, Computer Vision"; pdf.MetaData.ModifiedDate = DateTime.Now; pdf.SaveAs("document-for-ocr.pdf"); // Export pages as PNG images for OCR.net -- 300 DPI is the recommended minimum pdf.RasterizeToImageFiles("page-*.png", IronPdf.Imaging.ImageType.Png, 300); using IronPdf; // Create a PDF document with IronPDF var renderer = new ChromePdfRenderer(); // Set 300 DPI for OCR accuracy -- higher DPI preserves text sharpness renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4; renderer.RenderingOptions.DPI = 300; renderer.RenderingOptions.MarginTop = 50; renderer.RenderingOptions.MarginBottom = 50; var pdf = renderer.RenderHtmlAsPdf(@" <h1>Document Report</h1> <p>Scene text integration for computer vision analysis.</p> <p>Text detection results for dataset and model analysis.</p>"); // Tag the document with searchable metadata pdf.MetaData.Author = "OCR Processing Pipeline"; pdf.MetaData.Keywords = "OCR, Text Recognition, Computer Vision"; pdf.MetaData.ModifiedDate = DateTime.Now; pdf.SaveAs("document-for-ocr.pdf"); // Export pages as PNG images for OCR.net -- 300 DPI is the recommended minimum pdf.RasterizeToImageFiles("page-*.png", IronPdf.Imaging.ImageType.Png, 300); $vbLabelText $csharpLabel RasterizeToImageFiles() 方法將 PDF 頁面轉換為指定 DPI 的 PNG 映像。 在 300 DPI 解析度下,文字邊緣仍然足夠清晰,OCR 模型可以區分外觀相似的字元。 在 150 DPI 或更低解析度下,襯線字體和小字的辨識準確率會明顯下降。 匯出後,將 PNG 檔案上傳到.NET或直接傳遞給本機模型。 為什麼DPI設定會影響OCR準確率? 較高的 DPI 設定(300-600)可以保持 OCR 模型準確區分字元所需的文字清晰度。 權衡的因素是檔案大小和處理時間。在 300 DPI 解析度下,一張 A4 紙產生的 PNG 檔案大約為 2-3 MB。 在 600 DPI 下,影像大小會成長到 8-12 MB。 對於大多數文件而言,300 DPI 是一個合適的平衡點。 渲染選項可讓您針對每種文件類型進行調整,而壓縮技術有助於在 OCR 完成後最佳化檔案大小。 IronPDF如何處理容器化環境? IronPDF 的原生引擎可確保在Linux 、 Windows和macOS容器中實現一致的渲染效果。 對於高可用性服務, IronPDF與ASP.NET Core健康檢查端點集成,以便您可以實現就緒性和存活性探測,從而在將流量路由到容器實例之前驗證 PDF 渲染是否正常運行。 using IronPdf; // Kubernetes-compatible health check endpoint var builder = WebApplication.CreateBuilder(args); var app = builder.Build(); app.MapGet("/health/ready", async () => { try { var renderer = new ChromePdfRenderer(); var testPdf = await renderer.RenderHtmlAsPdfAsync("<p>Health check</p>"); return testPdf.PageCount > 0 ? Results.Ok() : Results.Problem(); } catch { return Results.Problem("PDF rendering unavailable"); } }); await app.RunAsync(); using IronPdf; // Kubernetes-compatible health check endpoint var builder = WebApplication.CreateBuilder(args); var app = builder.Build(); app.MapGet("/health/ready", async () => { try { var renderer = new ChromePdfRenderer(); var testPdf = await renderer.RenderHtmlAsPdfAsync("<p>Health check</p>"); return testPdf.PageCount > 0 ? Results.Ok() : Results.Problem(); } catch { return Results.Problem("PDF rendering unavailable"); } }); await app.RunAsync(); $vbLabelText $csharpLabel 使用自訂日誌記錄功能來捕捉渲染時間,並在容器徹底崩潰之前識別出效能下降的容器。 .NET如何從 PDF 圖像中提取文字? 從IronPDF匯出 PNG 檔案後,將其上傳到.NET進行文字辨識。 OCR .NET流程處理圖像並傳回各種字體樣式的標準化文字輸出。 它既可以處理印刷文本,也可以處理手寫文本,並支援 60 多種文件語言。 使用.NET在線: 導航至https://ocr.net/ 上傳從IronPDF匯出的 PNG 或 JPG 映像(最大 2 MB)。 從 60 多種可用選項中選擇文件語言 選擇輸出格式:純文字或可搜尋 PDF 點選"立即轉換"以使用 OCR .NET模型處理影像 .NET還提供用於自動處理的 API。 免費帳戶每小時最多只能發送 50 個請求,這對於自動化流程來說是一個關鍵的限制。 設計整合方案時,應採用指數退避機制優雅地處理速率限制反應,而不是直接失敗: using System; using System.Net.Http; using System.Threading.Tasks; // Queue-based OCR processing with exponential backoff retry async Task<string> ProcessOcrWithRetry(string imagePath, int maxRetries = 3) { for (int attempt = 0; attempt < maxRetries; attempt++) { try { // Replace with your actual OCR.net API call return await CallOcrNetApi(imagePath); } catch (HttpRequestException ex) when (ex.Message.Contains("429")) { if (attempt == maxRetries - 1) throw; var delay = TimeSpan.FromSeconds(Math.Pow(2, attempt)); await Task.Delay(delay); } } throw new InvalidOperationException("OCR processing failed after all retries"); } using System; using System.Net.Http; using System.Threading.Tasks; // Queue-based OCR processing with exponential backoff retry async Task<string> ProcessOcrWithRetry(string imagePath, int maxRetries = 3) { for (int attempt = 0; attempt < maxRetries; attempt++) { try { // Replace with your actual OCR.net API call return await CallOcrNetApi(imagePath); } catch (HttpRequestException ex) when (ex.Message.Contains("429")) { if (attempt == maxRetries - 1) throw; var delay = TimeSpan.FromSeconds(Math.Pow(2, attempt)); await Task.Delay(delay); } } throw new InvalidOperationException("OCR processing failed after all retries"); } $vbLabelText $csharpLabel 對於輔助功能工作流程而言,OCR 文字擷取技術可以讓視障使用者從先前只有影像的文件中獲得音訊回饋。 透過IronPDF將 OCR .NET輸出與PDF/UA 合規性結合,創造出輔助技術可以有效瀏覽的文件。 如何建立完整的IronPDF和 OCR .NET工作流程? 將IronPDF與 OCR .NET連接起來,即可產生端對端的文件解決方案。 此工作流程分為三個階段:將 PDF 頁面匯出為圖像,將圖像傳送至.NET進行文字擷取,並將識別出的文字重建為新的可搜尋 PDF。 using IronPdf; using System; using System.Collections.Generic; using System.Net.Http; using System.Text; using System.Threading.Tasks; // --- Stage 1: Export PDF pages as images for OCR --- var scannedPdf = PdfDocument.FromFile("input-document.pdf"); var imageFiles = scannedPdf.RasterizeToImageFiles( "scan-page-{0}.png", IronPdf.Imaging.ImageType.Png, 300 // 300 DPI -- minimum for reliable OCR accuracy ); // --- Stage 2: Process each image through OCR.net --- var ocrResults = new List<string>(); foreach (var imageFile in imageFiles) { // Replace this placeholder with your actual OCR.net API integration string ocrText = await SendImageToOcrNet(imageFile); ocrResults.Add(ocrText); } // --- Stage 3: Reassemble recognized text as a searchable PDF --- var htmlBuilder = new StringBuilder(); htmlBuilder.Append(@"<!DOCTYPE html><html><head> <style>body{font-family:Arial,sans-serif;margin:40px;} .page{page-break-after:always;} pre{white-space:pre-wrap;}</style> </head><body>"); for (int i = 0; i < ocrResults.Count; i++) { htmlBuilder.AppendFormat( "<div class='page'><h2>Page {0}</h2><pre>{1}</pre></div>", i + 1, System.Web.HttpUtility.HtmlEncode(ocrResults[i]) ); } htmlBuilder.Append("</body></html>"); var renderer = new ChromePdfRenderer(); renderer.RenderingOptions.DPI = 300; renderer.RenderingOptions.EnableJavaScript = false; var searchablePdf = await renderer.RenderHtmlAsPdfAsync(htmlBuilder.ToString()); searchablePdf.MetaData.Title = "OCR Processed Document"; searchablePdf.MetaData.Subject = "Searchable PDF from OCR"; searchablePdf.MetaData.CreationDate = DateTime.UtcNow; searchablePdf.SecuritySettings.AllowUserPrinting = true; searchablePdf.SecuritySettings.AllowUserCopyPasteContent = true; searchablePdf.SaveAs("searchable-document.pdf"); using IronPdf; using System; using System.Collections.Generic; using System.Net.Http; using System.Text; using System.Threading.Tasks; // --- Stage 1: Export PDF pages as images for OCR --- var scannedPdf = PdfDocument.FromFile("input-document.pdf"); var imageFiles = scannedPdf.RasterizeToImageFiles( "scan-page-{0}.png", IronPdf.Imaging.ImageType.Png, 300 // 300 DPI -- minimum for reliable OCR accuracy ); // --- Stage 2: Process each image through OCR.net --- var ocrResults = new List<string>(); foreach (var imageFile in imageFiles) { // Replace this placeholder with your actual OCR.net API integration string ocrText = await SendImageToOcrNet(imageFile); ocrResults.Add(ocrText); } // --- Stage 3: Reassemble recognized text as a searchable PDF --- var htmlBuilder = new StringBuilder(); htmlBuilder.Append(@"<!DOCTYPE html><html><head> <style>body{font-family:Arial,sans-serif;margin:40px;} .page{page-break-after:always;} pre{white-space:pre-wrap;}</style> </head><body>"); for (int i = 0; i < ocrResults.Count; i++) { htmlBuilder.AppendFormat( "<div class='page'><h2>Page {0}</h2><pre>{1}</pre></div>", i + 1, System.Web.HttpUtility.HtmlEncode(ocrResults[i]) ); } htmlBuilder.Append("</body></html>"); var renderer = new ChromePdfRenderer(); renderer.RenderingOptions.DPI = 300; renderer.RenderingOptions.EnableJavaScript = false; var searchablePdf = await renderer.RenderHtmlAsPdfAsync(htmlBuilder.ToString()); searchablePdf.MetaData.Title = "OCR Processed Document"; searchablePdf.MetaData.Subject = "Searchable PDF from OCR"; searchablePdf.MetaData.CreationDate = DateTime.UtcNow; searchablePdf.SecuritySettings.AllowUserPrinting = true; searchablePdf.SecuritySettings.AllowUserCopyPasteContent = true; searchablePdf.SaveAs("searchable-document.pdf"); $vbLabelText $csharpLabel 流程的設計刻意簡潔明了。 第一階段產生編號的PNG檔案。 第二階段將每個檔案傳送到.NET並收集傳回的文字字串。 第三階段將這些字串封裝在 HTML 中,並使用IronPDF渲染最終的 PDF 文件,其中的文字完全可選可搜尋。 您可以擴充第三階段,套用PDF 元資料進行文件管理或套用安全設定進行存取控制。 哪種 Docker 配置最適合此工作流程? 多階段 Docker 建置可以保持最終映像體積小,同時包含IronPDF在 Linux 上所需的所有執行時間相依性: FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build WORKDIR /app COPY *.csproj ./ RUN dotnet restore COPY . ./ RUN dotnet publish -c Release -o out FROM mcr.microsoft.com/dotnet/aspnet:8.0 WORKDIR /app # IronPDF Linux runtime dependencies RUN apt-get update && apt-get install -y \ libgdiplus \ libc6-dev \ libx11-dev \ && rm -rf /var/lib/apt/lists/* COPY --from=build /app/out . HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \ CMD curl -f http://localhost:8080/health/ready || exit 1 ENTRYPOINT ["dotnet", "OcrWorkflow.dll"] 對於生產規模,請考慮使用Kubernetes Jobs進行批量 OCR 作業。 Kubernetes 作業提供自動重試、並行控制和資源隔離,以便失敗的文件任務不會影響其他服務。 設定 parallelism 以符合您的 OCR .NET API 層,並設定 backoffLimit 以控制失敗的 pod 在 Job 將任務標記為失敗之前重試的次數。 如何監控生產環境中的績效指標? 追蹤 OCR 處理時間和成功率有助於在瓶頸影響最終用戶之前發現它們。 使用自訂指標的Prometheus是一種切實可行的方法: using Prometheus; using System; using System.Threading.Tasks; // Prometheus metrics for OCR pipeline observability var ocrRequestsTotal = Metrics .CreateCounter("ocr_requests_total", "Total OCR requests processed"); var ocrDuration = Metrics .CreateHistogram("ocr_duration_seconds", "OCR processing duration in seconds", new HistogramConfiguration { Buckets = Histogram.LinearBuckets(0.1, 0.1, 10) }); var activeOcrJobs = Metrics .CreateGauge("ocr_active_jobs", "Currently active OCR jobs"); // Wrapper that tracks every OCR operation automatically async Task<t> TrackOcrOperation<t>(Func<Task<t>> operation) { using (ocrDuration.NewTimer()) { activeOcrJobs.Inc(); try { var result = await operation(); ocrRequestsTotal.Inc(); return result; } finally { activeOcrJobs.Dec(); } } } using Prometheus; using System; using System.Threading.Tasks; // Prometheus metrics for OCR pipeline observability var ocrRequestsTotal = Metrics .CreateCounter("ocr_requests_total", "Total OCR requests processed"); var ocrDuration = Metrics .CreateHistogram("ocr_duration_seconds", "OCR processing duration in seconds", new HistogramConfiguration { Buckets = Histogram.LinearBuckets(0.1, 0.1, 10) }); var activeOcrJobs = Metrics .CreateGauge("ocr_active_jobs", "Currently active OCR jobs"); // Wrapper that tracks every OCR operation automatically async Task<t> TrackOcrOperation<t>(Func<Task<t>> operation) { using (ocrDuration.NewTimer()) { activeOcrJobs.Inc(); try { var result = await operation(); ocrRequestsTotal.Inc(); return result; } finally { activeOcrJobs.Dec(); } } } $vbLabelText $csharpLabel 將這些指標與IronPDF 的日誌記錄功能結合起來,可以將渲染時間與 OCR 持續時間關聯起來。 當 OCR 處理時間激增而渲染時間沒有相應激增時,瓶頸在於 OCR .NET API 呼叫或連接到該 API 的網路路徑,而不是 PDF 生成步驟。 下一步計劃是什麼? OCR .NET與IronPDF結合使用,為您提供了一條在.NET中實現文本提取和可搜尋 PDF 生成的實用途徑。 此流程涵蓋了核心用例:從 HTML 建立 PDF、以 OCR 相容解析度匯出頁面、將影像傳送到.NET以及將結果重新組合成一個完全可搜尋的文件。 將此功能投入生產環境時需要考慮的關鍵因素: -容器設定:使用IronPDF Slim 軟體包和多階段 Docker 構建,以控制鏡像大小。 資源規劃:根據文件大小和並發目標配置適當的記憶體限制 -監控:結合IronPDF日誌記錄,實施 Prometheus 指標,以便及早發現效能下降。 -吞吐量:使用非同步操作和批次佇列管理,以符合 OCR.net 的速率限制。 -可靠性:圍繞 OCR .NET API 呼叫建立指數退避重試邏輯和熔斷器 先使用免費試用許可證測試完整的端到端工作流程,然後再決定是否購買正式版許可證。 試用版會移除浮水印並解鎖所有功能,因此您的基準測試結果能夠準確反映生產環境中的行為。 準備部署時,請查看IronPDF許可選項,找到符合您使用模式的等級。 常見問題解答 OCR.net的功能是什麼,以及如何與IronPDF連接? OCR.net是一個深度學習OCR服務,接受影像輸入並返回識別出的文字。 IronPDF生成PDF並將其頁面匯出為影像。這兩個工具在影像層面上連接:IronPDF使用RasterizeToImageFiles()匯出頁面,這些影像傳送到OCR.net進行文字提取,然後IronPDF將結果重新組裝為可搜尋的PDF。 導出PDF頁面進行OCR時應使用什麼DPI? 300 DPI是可靠OCR準確度的標準最低值。在300 DPI時,文本邊緣足夠清晰,以便模型區分相似字符。低於或等於150 DPI時,在襯線字體和小字上準確度下降。當原始文件包含非常小或退化的文本時,才使用600 DPI,因為每頁600 DPI會生成4-5倍大檔案。 在生產環境中如何處理OCR.net API的速率限制? OCR.net免費帳號允許每小時50次請求。在您的OCR調用中構建指數退避重試邏輯:捕獲429響應,等待Math.Pow(2, attempt)秒,並設定最大重試次數。為了更高的吞吐量,升級至付費的OCR.net計畫或使用背景工作服務進行請求佇列。 IronPDF能否在Linux的Docker容器內運行? 可以。新增libgdiplus、libc6-dev和libx11-dev到Dockerfile的運行階段。使用多階段構建以保持最終映像小。IronPDF Slim包裝版本進一步減少映像大小,通過在您將IronPDF Engine作為單獨服務運行時排除捆綁的瀏覽器二進制文件。 如何從OCR結果創建可搜尋的PDF? 收集OCR.net返回的文本字符串,將它們用HTML包裹,並為每個文件頁添加分頁類別,然後將HTML傳遞給ChromePdfRenderer.RenderHtmlAsPdfAsync()。生成的PDF包含可選擇、可搜尋的文本,搜索引擎可以索引。 此工作流程是否支援多語言文檔? 是的。OCR.net支援60多種語言。在處理之前,在OCR.net界面或API調用中選擇目標語言。IronPDF本身能夠處理UTF-8輸出,因此具有非拉丁字符的語言在重建的可搜尋PDF中可正常呈現。 在生產環境中如何監控OCR流程性能? 將Prometheus計數器、直方圖和量測儀加入到您的處理服務中,以追踪總請求、持續時間分佈和活動作業。將Prometheus指標與IronPDF的自定義日誌配對,以對比渲染時間和OCR API延遲,找出瓶頸所在。 OCR.net和IronOCR有何不同? OCR.net是一個外部網絡服務,透過API處理您上傳的圖像。IronOCR是來自Iron Software的.NET程式庫,在您的應用程序本地運行OCR處理,而不需要外部API調用。IronOCR適合離線環境或當您需要較低延遲和更可控的OCR引擎時。 Curtis Chau 立即與工程團隊聊天 技術作家 Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。 相關文章 更新2026年3月1日 如何在.NET中使用IronPDF創建PDF檔案(C#教程) 發現用於創建C# PDF文件的有效方法,提升您的編碼技能並簡化您的項目。立即閱讀文章! 閱讀更多 更新2026年2月27日 如何在C#中合併PDF文件 使用 IronPDF 合併 PDF 文件。學習如何使用簡單的 VB.NET 程式碼將多個 PDF 文件合併成一個文檔。包含逐步範例。 閱讀更多 更新2026年3月1日 C# PDFWriter教程,適用於.NET 10開發者 通過這個面向開發人員的逐步指南,學習如何使用C# PDFWriter高效創建PDF。閱讀本文以提高您的技能! 閱讀更多 如何在ASP.NET中將網頁轉換為PDF如何使用ASP.NET Core和IronPDF...