使用表格解析pdf文本

时间:2014-09-15 22:08:19

标签: c# vb.net

我需要在文本文件中解析这个pdf文档。我正在使用iTextSharp dll用于此目的。我的整个PDF文档正确解析,除了pdf文档中有一个表中有行的表。它解析该表,但如果表中的一个单元格中有一些空格,那么我在转换后的文本文档中看不到该空格。以下是表格的格式。

Col1    Col2   Col3   Col4   Col5 

1       Test1   2     5       Test6
2               3             Test7
3       Test6         9       Test8

我看到的输出是这样的:

1 Test1 2 5 Test6 <LF>
2 3 Test7<LF>
3 Test6 9 Test8<LF>

<LF> is line feed.

有什么办法,我也能看到那些空间吗?以下是PDF解析代码:

 Public Sub ExtractTextFromPdf(path As String)
        Dim its As ITextExtractionStrategy = New LocationTextExtractionStrategy()
        Dim HeadLine As String
        Using reader As New PdfReader(path)
            Dim str As New StringBuilder()

            For i As Integer = 1 To reader.NumberOfPages
                Dim thePage As String = PdfTextExtractor.GetTextFromPage(reader, i, its)
                Dim pdf31460Lines As String() = thePage.Split(ControlChars.Lf)
                For Each EachLine As String In pdf31460Lines
                    str.AppendLine(EachLine)
                    If EachLine.Contains("SNEW") Then
                        HeadLine = EachLine
                    End If
                Next
            Next

            InsertParsedFileHeader(str.ToString(), HeadLine)


            '  ParsedFileWithSeperator = Regex.Replace(ParsedFileWithSeperator, "\s+", "~")


        End Using
End Sub

我一直在寻找这个问题3-4天,但找不到合适的答案。

任何帮助将不胜感激。我需要在.net-C#或VB.net

中完成

1 个答案:

答案 0 :(得分:0)

我发现了。我为此目的使用了pdfBox。它有点慢,但它在解析pdf文档时完全免费且非常准确。如果有人有兴趣,下面是pdf框的链接。

http://www.squarepdf.net/pdfbox-in-net