我想将 pdf 转换为文本格式并为此使用 itextsharp dll 这是我的代码,它将我的 pdf 转换为字符串格式,但在某些 pdf 的情况下,此代码无法正常转换,例如当我传递 PDF 文件并假设在 pdf 标题中有像 Microsoft windows 这样的名称,然后它像 MMMiicccrrossofft WWiiiindooowsss 那样转换它,并假设有像 xyx@gmail.com 这样的电子邮件 ID,而不是像 xxxyyyzzzz@@@ggggmaillll.com 这样的结果。谁能告诉我为什么在某些情况下会发生这种情况。
public static string ReadPDFFile(string pdfFile)
{
StringBuilder text = new StringBuilder();
if (File.Exists(pdfFile))
{
PdfReader reader = new PdfReader(pdfFile);
for (int i = 1; i <= reader.NumberOfPages; i++)
{
ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
PdfReader pdfreader = new PdfReader(pdfFile);
string currenttext = PdfTextExtractor.GetTextFromPage(pdfreader, i, strategy);
currenttext = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currenttext)));
text.Append(currenttext);
}
try
{
reader.Close();
}
catch
{
}
}
return Convert.ToString(text);
}