IRONSOFTWAREHOME

從緊密排列的表中提取不按順序的文字

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

從緊密排列的表或表單佈局中提取的文字顯得混亂。 鄰近行的字元交錯,例如"Unique Number 123456789"被提取為"U123456789nique Number"。

這是page.Lines提取密集佈局的一個已知限制。 page.Lines通過內建的不可配置的垂直容差來分組字元。 當表格單元格中兩行可見行只有一兩點距離時,分組器將兩行合併為一條邏輯線,並從左至右排序字元,將它們交錯排列。 ExtractTextFromPage(i)方法預設為內容流順序,這可能與表單PDF中的視覺閱讀順序不一致。

解決方案

建議:使用可調節容差的TextChunks提取

每個BoundingBox,允許按垂直位置分組,並在每行內按水平位置排序:

using IronPdf.Pages;
using System.Text;

static string ExtractTextUsingTextChunks(IPdfPage page, double rowTolerance = 2.0)
{
    var rows = page.TextChunks
        .Where(c => !string.IsNullOrWhiteSpace(c.Contents))
        .GroupBy(c => Math.Round(c.BoundingBox.Top / rowTolerance) * rowTolerance)
        .OrderByDescending(g => g.Key);

    var extractedText = new StringBuilder();
    foreach (var row in rows)
    {
        var line = string.Join(" ",
            row.OrderBy(c => c.BoundingBox.Left)
               .Select(c => c.Contents.Trim())
               .Where(text => !string.IsNullOrWhiteSpace(text)));
        extractedText.AppendLine(line);
    }
    return extractedText.ToString();
}

rowTolerance = 2.0開始。 如果行仍然合併,將其降低到0.5。 為更精細的控制,將page.TextChunks

替代方案:視覺順序提取

對於只有內容流順序錯誤的PDF:

pdf.ExtractTextFromPage(i, TextExtractionOrder.VisualOrder);

對於行在視覺上非常接近的PDF,TextChunks方法能更好地處理緊密容差。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

...
閱讀更多

準備開始了嗎?

Nuget Downloads 20,878,335版本:2026.9剛剛發布

立即獲取您的免費30天試用密鑰
不需要信用卡或建立賬戶
C# 用於PDF的NuGet程式庫
使用NuGet安裝

版本: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解決方案資源管理器,右鍵點選參考,管理NuGet包
  2. 選擇瀏覽並搜尋"IronPdf"
  3. 選擇套件並安裝
C# PDF DLL
下載DLL

版本: 2026.9

或者點擊此處下載Windows安裝程式。

  1. 下載並解壓IronPDF到類似~/Libs的位置,位於您的解決方案目錄中
  2. 在Visual Studio解決方案資源管理器,右鍵點選參考。選擇瀏覽,"IronPdf.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
預訂您的免費現場演示
Booking Badge

受到全球數百萬工程師的信任

Iron Software的客戶標誌
獲取您的無義務諮詢
填寫以下表格或電子郵件sales@ironsoftware.com
您的詳細資訊將始終保密
受到全球數百萬工程師的信任
Iron Software的客戶標誌
立即獲取您的30天試用金鑰
無需信用卡或帳戶建立