这是pdf file
如何将表格(如此类似)转换为html表格(并将其保存为txt文件)
<table frame="box">
<colgroup>
<col span="5"/>
</colgroup>
<tbody>
<tr>
<td>Y+z</td>
<td>Avg.</td>
<td>X2</td>
</tr>
<tr>
<td>Abc</td>
<td rowspan="2">15.236</td>
<td>33</td>
</tr>
<tr>
<td>Yko</td>
<td>14</td>
</tr>
<tr>
<td>Ink</td>
<td>Pol</td>
<td>IUk</td>
</tr>
<tr>
<td>Ll adl</td>
<td rowspan="2">6369</td>
<td>20</td>
</tr>
<tr>
<td>Qwwe</td>
<td rowspan="2">330</td>
</tr>
<tr>
<td>Tyu</td>
<td>12</td>
</tr>
</tbody>
</table>
该表可能还有rowspan和colspan。 提前致谢.. 这就是我所做的
static void Main(string[] args)
{
string ocrText = GetTextFromPDF(@"C:\Temp\Y.pdf");
File.WriteAllText(@"C:\Temp\Y.txt",ocrText);
Console.WriteLine("Done");
Console.ReadLine();
}
public static string GetTextFromPDF(string path)
{
StringBuilder text = new StringBuilder();
using (PdfReader reader = new PdfReader(path))
{
for (int i = 1; i <= reader.NumberOfPages; i++)
{
text.Append(PdfTextExtractor.GetTextFromPage(reader, i));
}
}
return text.ToString();
}
但是它读取了pdf文件的所有内容,我不知道如何进一步处理它以获得所需的结果。 有人能帮助我吗?
答案 0 :(得分:0)
你在技术上非常难以提问。
PDF格式是打印系统的特定格式,或更好:表示PDF的二进制格式是我们所说的排版格式。
通常,很难解析PDF格式以获取可以处理的数据。
这是因为文本处理器会以混乱的方式看到PDF的内部数据,实际上它们是针对特殊应用程序编写的,例如PDF查看器。
有几种工具试图从PDF中提取数据,但通常它们不是100%可靠,因为它们基于图像识别。
因此,如果您需要提取数据,使用PDF并不是一件好事。如果您可以获得生成PDF的源文档,那将是完美的。例如降价或Excel表格。
如果你真的坚持并且你满足于可能不稳定的数据,你可以尝试this。
答案 1 :(得分:0)
你可以尝试SautinSoft.PdfFocus.dll
来做这类事情,下面是一个将pdf转换为xml的示例代码:
SautinSoft.PdfFocus f = new SautinSoft.PdfFocus();
f.XmlOptions.ConvertNonTabularDataToSpreadsheet = false;
f.OpenPdf(@"D:\XY.pdf");
f.ToXml(@"D:\XY.xml");
祝你好运:)