利用iTextSharp擷取PDF文字格式資訊(字型、大小等)
iTextSharp函式庫能夠擷取PDF文字及其格式訊息,例如字型和字號。以下是如何使用TextWithFontExtractionStrategy
實現此功能的範例:
<code class="language-csharp">PdfReader reader = new PdfReader(System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Document.pdf")); TextWithFontExtractionStrategy strategy = new TextWithFontExtractionStrategy(); string text = iTextSharp.text.pdf.parser.PdfTextExtractor.GetTextFromPage(reader, 1, strategy); Console.WriteLine(text);</code>
TextWithFontExtractionStrategy
利用TextRenderInfo
物件從PDF內容中擷取文字格式資訊。 TextRenderInfo
物件包含諸如GetFont
、GetFontName
、GetFontSize
、GetBaseline
和GetAscentLine
等屬性。
您可以使用這些屬性來取得文字的字型系列、字號和基線位置。以下是如何使用這些屬性來提取文字格式資訊的範例:
<code class="language-csharp">// 获取字体系列 string fontFamily = renderInfo.GetFont().PostscriptFontName; // 获取字号 float fontSize = renderInfo.GetBaseline().GetEndPoint()[Vector.I2] - renderInfo.GetBaseline().GetStartPoint()[Vector.I2]; // 获取基线位置 Vector baseline = renderInfo.GetBaseline().GetStartPoint();</code>
請注意,renderInfo
物件需要在處理TextWithFontExtractionStrategy
傳回的文字過程中取得。 完整的程式碼需要包含處理TextRenderInfo
物件的循環,以便從每一行或每一個文字片段中提取格式資訊。 上述範例僅展示如何存取TextRenderInfo
物件的屬性。
以上是如何使用 iTextSharp 擷取文字格式資訊(字型、大小等)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!