我有一张PDF,其中数据显示在表格中。在此表中,我有多个列,但我希望将特定列值作为列表。这可能吗?
这是我的代码:
PdfReader pdfReader = new PdfReader(fileName);
for (int page = 1; page <= pdfReader.NumberOfPages; page++)
{
ITextExtractionStrategy strategy = new LocationTextExtractionStrategy();
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();
使用此代码,我获得了PDF的所有文本,但我想要一个特定的数据列。列名是&#34;日期&#34;。
答案 0 :(得分:0)
这比你想象的要复杂得多。 PDF文档不(始终)包含结构信息。它只有观察者需要呈现文档的指令。
想象一下:
转到50,50 使用字体Helvetica Bold
绘制字符'H'的字形 转到56,50 绘制字符'e'的字形
这些说明甚至不需要按逻辑阅读顺序出现。 因此,根据指令确定构成逻辑表的内容非常困难。
可能的方法(如果你的表包含足够的行):