IronOCR 操作指南 檢測頁面旋轉 How to Detect Page Rotation in C# with IronOCR Curtis Chau 更新:2026年1月31日 下載 IronOCR NuGet 下載 DLL 下載 Windows 安裝程式 開始免費試用 LLM副本 LLM副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 This article was translated from English: Does it need improvement? Translated View the article in English IronOCR 的 DetectPageOrientation 方法可自動辨識 PDF 文件和影像中的頁面旋轉角度(0°、90°、180°、270°)。 它為每個頁面傳回一個 RotationAngle 屬性,從而能夠透過置信度分數進行程式化的方向校正,以實現準確的文字擷取。 頁面旋轉偵測功能可識別文件頁面是否順時針或逆時針旋轉了 0、90、180 或 270 度。 此資訊可確保頁面以正確的方向顯示或處理,從而實現準確的渲染和文字擷取。 快速入門:使用 DetectPageOrientation 辨識頁面旋轉 本範例示範如何使用 IronOCR 的 DetectPageOrientation 在 PDF 上存取 RotationAngle 屬性。 它能以最少的程式碼實現快速的頁面旋轉檢測和校正。 使用NuGet套件管理器安裝https://www.nuget.org/packages/IronOcr PM > Install-Package IronOcr 複製並運行這段程式碼。 var rotationResults = new IronOcr.OcrInput().LoadPdf("doc.pdf").DetectPageOrientation(); Console.WriteLine(rotationResults.First().RotationAngle); 部署到您的生產環境進行測試 今天就在您的專案中開始使用免費試用IronOCR Free 30 Day Trial 最簡工作流程(5個步驟) 下載一個用於偵測頁面旋轉的 C# 函式庫 導入PDF文件和圖像以供閱讀 使用`DetectPageOrientation`方法偵測所有頁面的旋轉方向 存取**`RotationAngle`**屬性以校正頁面旋轉 存取**`HighConfidence`**屬性以處理極端情況 如何偵測文檔中的頁面旋轉? 載入文件後,使用 DetectPageOrientation 方法來識別每一頁的旋轉方向。 此方法支援 0 度、90 度、180 度和 270 度。 對於超出這些標準旋轉範圍的傾斜影像,請使用IronOCR 影像校正濾鏡中的 Deskew 方法。 然後使用偵測到的角度將影像旋轉回其原始方向。 我們來看一個PDF範例。 請注意此函數在處理文字密集型文件時表現最佳。 :path=/static-assets/ocr/content-code-examples/how-to/detect-page-rotation-detect-page-rotation.cs using IronOcr; using System; using var input = new OcrInput(); // Load PDF document input.LoadPdf("Clockwise90.pdf"); // Detect page rotation var results = input.DetectPageOrientation(); // Ouput result foreach(var result in results) { Console.WriteLine(result.PageNumber); Console.WriteLine(result.HighConfidence); Console.WriteLine(result.RotationAngle); } $vbLabelText $csharpLabel 檢測結果意味著什麼? PageNumber: 頁面的從零開始的索引。 RotationAngle: 旋轉角度(度數)。 使用 Rotate 方法來修正方向。 HighConfidence: 處理邊界情況的方向結果的置信度。 何時應該使用高置信值? 對於旋轉檢測可能不確定的模糊或低品質文檔,HighConfidence 屬性至關重要。 文字稀少、佈局不尋常或掃描品質不佳的文件通常會獲得較低的置信度評分。 在這些情況下,需要在檢測前實施額外的驗證或應用影像品質校正濾波器。 使用此值對置信度較低的頁面實施備用策略或手動審核。 例如,如果置信度低於 80%,則以多種方向處理頁面並比較 OCR 結果,或標記為需要手動審核。 IronOCR 的電腦視覺功能有助於更準確地識別複雜文件中的文字區域。 如何校正偵測到的旋轉? 確定旋轉角度後,對 Rotate 物件使用 OcrInput 方法校正 OCR 之前的方向。 這樣可以確保最佳的文字辨識準確率。 有關全面的方向修正,請參閱影像方向校正指南。 以下是糾錯流程: // Apply rotation correction based on detection results if (result.RotationAngle != 0) { input.Rotate(360 - result.RotationAngle); // Rotate back to 0° } // Apply rotation correction based on detection results if (result.RotationAngle != 0) { input.Rotate(360 - result.RotationAngle); // Rotate back to 0° } $vbLabelText $csharpLabel 對於需要額外預處理的文檔,請考慮使用OcrInput 類,該類別在 OCR 處理之前提供了廣泛的文檔準備方法。 如何自訂檢測速度和精度? DetectPageOrientation 方法接受一個可選參數來控制偵測細節。 透過提供 OrientationDetectionMode 枚舉,您可以根據自己的需求調整檢測速度和準確度。 以下是具體實作方法: :path=/static-assets/ocr/content-code-examples/how-to/detect-page-rotation-detect-page-rotation-advanced.cs using IronOcr; using System; using var input = new OcrInput(); // Load PDF document input.LoadPdf("Clockwise90.pdf"); // Detect page rotation with Fast mode var results = input.DetectPageOrientation(OrientationDetectionMode.Fast); // Ouput result foreach(var result in results) { Console.WriteLine(result.PageNumber); Console.WriteLine(result.HighConfidence); Console.WriteLine(result.RotationAngle); } $vbLabelText $csharpLabel 我應該選擇哪種檢測模式? OrientationDetectionMode 提供四種速度選項: 警告 Balanced 、 Detailed和ExtremeDetailed需要IronOCR套件。 這些選項在 Windows x86 和 Mac ARM 上不可用。 -快速:偵測速度快,但精度較低。 非常適合對速度要求較高的草稿處理或批量處理。 DetectPageOrientation 的預設值。 支援多線程,可高效處理數千頁資料。 -平衡:速度和準確度均衡。 適用於生產任務。 利用AdvancedScan 擴充功能提升精度,同時維持效能。 詳細來說:速度慢,精度高。 最適合處理精確或關鍵性任務,特別是佈局複雜或內容混合的文檔。 -超精細:速度最慢,精度最高。 僅當"詳細"選項不足以顯示資訊或文字嚴重傾斜和扭曲時才使用。 常見的性能考量有哪些? 不同模式下的性能差異很大。 快速模式每分鐘可處理數百頁; 極致細節模式可能需要幾秒鐘才能開啟一個頁面。 根據精度要求和時間限制進行選擇。 為了獲得最佳性能: 1.影像解析度:更高的DPI設定可以提高精度,但會增加處理時間。通常150-300 DPI足以進行旋轉檢測。 2.文檔類型:文字密集的文檔比稀疏的佈局處理速度更快、更準確。 使用濾鏡精靈在檢測前優化影像品質。 3.資源使用:監控處理大批量資料時的記憶體使用量。 實施進度跟踪,以便提供回饋和管理系統資源。 4.並行處理:對於批量操作,使用 IronOCR 的多線程功能同時處理多個文檔,同時保持準確性。 如何處理混合方向的文件? 對於混合方向的文檔,使用 DetectPageOrientation 逐頁處理,然後在 OCR 之前逐頁應用旋轉校正。 這樣可以確保無論初始狀態如何,都能保持正確的方向。 以下是一種有效的方法: // Process each page with individual rotation detection for (int i = 0; i < results.Count; i++) { var pageResult = results[i]; // Apply rotation only to pages that need it if (pageResult.RotationAngle != 0 && pageResult.HighConfidence) { // Correct the specific page input.Pages[i].Rotate(360 - pageResult.RotationAngle); } } // Process each page with individual rotation detection for (int i = 0; i < results.Count; i++) { var pageResult = results[i]; // Apply rotation only to pages that need it if (pageResult.RotationAngle != 0 && pageResult.HighConfidence) { // Correct the specific page input.Pages[i].Rotate(360 - pageResult.RotationAngle); } } $vbLabelText $csharpLabel 對於涉及品質參差不齊的掃描文件或多頁 TIFF 文件的複雜情況,應分別對每一頁進行預處理,以獲得最佳結果。 在處理混合格式輸入時, OcrResult 類別提供詳細的頁面訊息,從而實現複雜的錯誤處理和品質控制工作流程。 對於高通量生產環境,可探索快速 OCR 配置選項,以平衡速度和準確性。 如果要處理包含文字和條碼的文檔,請使用 IronOCR 的OCR 條碼和二維碼讀取功能,一次提取所有訊息,從而提高效率。 常見問題解答 什麼是頁面輪轉檢測,為什麼它很重要? 頁面旋轉檢測可辨識文件頁面是否已旋轉 0°、90°、180° 或 270°。這對 IronOcr 來說非常重要,可確保以正確的方向處理頁面,從 PDF 和影像中準確地擷取和呈現文字。 如何使用 C# 快速檢測 PDF 中的頁面旋轉? 使用 IronOCR 的 DetectPageOrientation 方法,只需最少的程式碼: var rotationResults = new IronOcr.OcrInput().LoadPdf("doc.pdf").DetectPageOrientation(); 這會回傳所有頁面的旋轉資訊,可透過 RotationAngle 屬性存取。 可以偵測哪些旋轉角度? IronOCR 的 DetectPageOrientation 方法可以偵測 0°、90°、180° 和 270° 度的標準旋轉。對於超出這些標準旋轉的歪斜影像,請使用 IronOCR 影像修正濾鏡中的 Deskew 方法。 DetectPageOrientation 會傳回哪些資訊? 該方法會為每個頁面傳回三個關鍵屬性:PageNumber (以零為基礎的索引)、RotationAngle (以度為單位的旋轉,用於 IronOCR 的 Rotate 方法),以及 HighConfidence (置信度,用於處理邊緣情況)。 何時應該使用 HighConfidence 屬性? 當處理含糊不清或低品質的文件時,使用 HighConfidence 屬性,因為在這些文件中,旋轉偵測可能無法確定。具有稀疏文字、不尋常佈局或掃描品質較差的文件通常會在 IronOCR 中返回較低的置信度分數,需要額外的驗證或影像品質修正篩選器。 此功能是否最適用於某些類型的文件? IronOCR 的 DetectPageOrientation 功能在處理文字密集的文件時表現最佳。對於文字極少或版面複雜的文件,可考慮在偵測前套用影像品質修正濾鏡,以獲得最佳結果。 Curtis Chau 立即與工程團隊聊天 技術作家 Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。 審核人 Jeffrey T. Fritz 首席程序经理 - .NET 社群团队 Jeff 也是 .NET 和 Visual Studio 团队的首席程序经理。他是 .NET Conf 虚拟会议系列的执行制作人,并主持“Fritz 和朋友”这一每周两次的開發者的直播节目,在节目上讨论技術并与观众一起编写代碼。Jeff 撰写研讨会、主持演讲,并计划大型 Microsoft 開發者活動(包括 Microsoft Build、Microsoft Ignite、.NET Conf 和 Microsoft MVP Summit)的內容。 準備好開始了嗎? Nuget 下載 5,556,263 | 版本: 2026.3 剛剛發布 開始免費試用 免費 NuGet 下載 總下載量:5,556,263 查看許可證 還在捲動嗎? 想要快速證明? PM > Install-Package IronOcr 執行範例 觀看您的圖片變成可搜尋的文字。 免費 NuGet 下載 總下載量:5,556,263 查看許可證