阅读PDF并找到要添加到列表中的特定列
本文关键字:列表 添加 PDF 阅读 | 更新日期: 2023-09-27 18:22:04
那么,有人能找到一种方法以编程方式只读取.PDF
文件的一列中的数字吗?换言之,有没有可能删除一个PDF文件,然后制作一些能吸收它的东西,读出一个专栏的所有内容?
该列的格式如下:
401232111555713
以下代码将打开并使用iTextSharp:将任何PDF读取为字符串
public static 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++)
{
ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
string currentText = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy);
currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText)));
text.Append(currentText);
}
pdfReader.Close();
}
return text.ToString();
}
从那里,您可以简单地运行一些REGEX
,使用您布局的模式来获得列:
string text = ReadPdfFile(@"path'to'pdf'file.pdf");
Regex regex = new Regex(@"(?<number>'d{15})");
List<string> results = new List<string>();
foreach (Match m in regex.Matches(text))
{
results.Add(m.Groups["number"].Value);
}
您需要使用一些PDF处理库。这里有一个SO链接,讨论了这个主题:
在C#中读取PDF