gpt4 book ai didi

c# - 如何在c#中将pdf文件转换成excel

转载 作者:行者123 更新时间:2023-11-28 05:36:28 25 4
gpt4 key购买 nike

我想从 PDF 文件中的表格中提取一些数据,例如 “电子邮件地址” ..,并使用我提取的电子邮件地址向这些人发送电子邮件。

到目前为止,我通过网络搜索发现的内容:

  1. 我必须将 PDF 文件转换为 Excel 才能轻松读取数据并根据需要使用它们。

  2. 我找到了一些免费的 dll,例如 itextsharpPDFsharp

但我没有发现任何有助于在 C# 中执行此操作的代码片段。有什么解决办法吗?

最佳答案

您绝对不必将 PDF 转换为 Excel。首先,请确定您的 PDF 是否包含文本数据,或者它是扫描图像。如果它包含文本数据,那么您使用“一些免费的 dll”是正确的。我推荐 iTextSharp,因为它很受欢迎且易于使用。

现在是有争议的部分。如果您不需要坚如磐石的解决方案,最简单的方法是将所有 PDF 读取为字符串,然后使用正则表达式检索电子邮件。
这是使用 iTextSharp 阅读 PDF 并提取电子邮件的示例(不完美):

public string PdfToString(string fileName)
{
var sb = new StringBuilder();
var reader = new PdfReader(fileName);
for (int page = 1; page <= reader.NumberOfPages; page++)
{
var strategy = new SimpleTextExtractionStrategy();
string text = PdfTextExtractor.GetTextFromPage(reader, page, strategy);
text = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(text)));
sb.Append(text);
}
reader.Close();
return sb.ToString();
}
//adjust expression as needed
Regex emailRegex = new Regex("Email Address (?<email>.+?) Passport No");
public IEnumerable<string> ExtractEmails(string content)
{
var matches = emailRegex.Matches(content);
foreach (Match m in matches)
{
yield return m.Groups["email"].Value;
}
}

关于c# - 如何在c#中将pdf文件转换成excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38177868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com