在我的專案中,我需要閱讀 PDF 檔案。此 pdf 包含烏克蘭語和俄語字符。PDFReader 讀取此 pdf 中的所有字符,但輸出中缺少 cirillic 字符。我正在嘗試使用編碼,但沒有幫助。我能用這些字符做什么?
public static string GetText(string filePath)
{
ITextExtractionStrategy its = new iTextSharp.text.pdf.parser.LocationTextExtractionStrategy();
StringBuilder text = new StringBuilder();
if (File.Exists(filePath)){
PdfReader pdfReader = new PdfReader(filePath);
for (int i = 1; i < pdfReader.NumberOfPages; i )
{
ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
string thePage = PdfTextExtractor.GetTextFromPage(pdfReader, i, strategy);
text.Append(System.Environment.NewLine);
thePage = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(thePage)));
text.Append(thePage);
} pdfReader.Close();
} return text.ToString();
}
uj5u.com熱心網友回復:
iTextSharp 是一個過時的產品,不再支持,可能是文本提取有問題。這是一個簡單的示例,說明了在 ITEXT 7 中提取文本的作業原理(代碼是在 java 中,但對于 c# 來說一切都是一樣的)。
String filePath = "test.pdf";
StringBuilder text = new StringBuilder();
PdfReader pdfReader = new PdfReader(filePath);
PdfDocument pdfDocument = new PdfDocument(pdfReader);
for (int i = 1; i <= pdfDocument.getNumberOfPages(); i ) {
PdfPage page = pdfDocument.getPage(i);
ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
String thePage = PdfTextExtractor.getTextFromPage(page, strategy);
text.append(thePage);
}
pdfReader.close();
System.out.print(text);
代碼與您的示例中的代碼大致相同,但文本提取
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/489401.html
