首頁 >後端開發 >C++ >如何使用 iTextSharp 從 PDF 檢索文字格式(字型、大小、樣式)?

如何使用 iTextSharp 從 PDF 檢索文字格式(字型、大小、樣式)?

Barbara Streisand
Barbara Streisand原創
2025-01-11 10:56:42497瀏覽

How Can I Retrieve Text Formatting (Font, Size, Style) from a PDF Using iTextSharp?

使用iTextSharp擷取文字格式的方法

雖然iTextSharp提供有效的文字擷取方法,但在保留字體、顏色和大小等格式細節方面可能存在不足。為了克服這個限制,我們探索了一種替代方法。

自訂文字擷取策略

自訂的TextWithFontExtractionStategy類別擴充了ITextExtractionStrategy介面來擷取格式資訊。在RenderText方法中:

  • 它監控字體名稱、偽粗體使用、基線變化和字體大小變化。
  • 如果這些屬性中的任何一個發生變化,它將關閉目前的HTML span標籤,並建立一個具有相應樣式的新標籤。

範例輸出

下面的C#程式碼示範如何從PDF中提取文字以及與字體相關的格式:

<code class="language-csharp">StringBuilder result = new StringBuilder();
PdfReader reader = new PdfReader(System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Document.pdf"));
TextWithFontExtractionStategy S = new TextWithFontExtractionStategy();
string F = iTextSharp.text.pdf.parser.PdfTextExtractor.GetTextFromPage(reader, 1, S);
Console.WriteLine(F);</code>

產生的HTML輸出包含字型系列、字型大小和字型樣式的標籤。

其他考慮因素

  • PostscriptFontName可能包含額外的字符,這可能與字體子集相關。
  • 範例程式碼假設基線的變化表示HTML中的換行符。
  • 提取過程目前不捕獲顏色訊息,但有跡象表明可以手動實現此功能。

以上是如何使用 iTextSharp 從 PDF 檢索文字格式(字型、大小、樣式)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn