精確讀取PDF內容
處理PDF文件時,準確提取內容至關重要。然而,某些字元編碼可能會帶來挑戰,尤其是在處理非英語文字時。本文探討了使用iTextSharp從PDF中擷取波斯文或阿拉伯文的問題。
問題:編碼不符
提供的原始程式碼片段嘗試使用iTextSharp讀取PDF內容。然而,在處理非英語文本時,結果往往是亂碼。這個問題源自於位元組到字串轉換過程中的編碼不符。
解:移除編碼轉換
解決方案在於從程式碼中移除編碼轉換行,該行試圖將位元組從預設編碼轉換為UTF-8。此轉換是不必要的,並且可能導致錯誤。透過消除此行,程式碼可以正確地將文字處理為Unicode。
以下是修正後的程式碼:
<code class="language-csharp">public string ReadPdfFile(string fileName) { StringBuilder text = new StringBuilder(); if (File.Exists(fileName)) { PdfReader pdfReader = new PdfReader(fileName); for (int page = 1; page <= pdfReader.NumberOfPages; page++) { text.Append(pdfReader.GetPlainText(page)); } } return text.ToString(); }</code>
其他注意事項
除了解決編碼問題外,確保文字顯示應用程式支援Unicode也至關重要。也值得檢查是否使用了最新版本的iTextSharp。
結論
透過消除編碼轉換行,iTextSharp可以精確地從PDF中擷取非英文文字。請記住,在顯示應用程式中確認Unicode支持,並使用最新的iTextSharp版本以獲得最佳效能。此方法將確保以各種語言無縫且正確地提取PDF內容。
以上是如何使用 iTextSharp 從 PDF 中準確提取波斯語或阿拉伯語文本?的詳細內容。更多資訊請關注PHP中文網其他相關文章!