如何在golang中从PDF中提取纯文本

时间:2017-06-15 06:34:55

标签: pdf go text extract

我想使用GO从pdf文件中提取文本。 我尝试使用实现方法GetPlainText()的ledongthuc/pdf Go包来获取没有格式的纯文本内容。 但是我没有得到明文。我有结果:

 W
 S
 D
 V
 Y R
 O
 R
 Q
 W
 D
 L
 U
 H
 P
 H
 Q
 W
......

转到代码

package main

import (
    "bytes"
    "fmt"

    "github.com/ledongthuc/pdf"
)

func main() {
    content, err := readPdf("test.pdf")
    if err != nil {
        panic(err)
    }
    fmt.Println(content)
    return
}

func readPdf(path string) (string, error) {
    r, err := pdf.Open(path)
    if err != nil {
        return "", err
    }
    totalPage := r.NumPage()

    var textBuilder bytes.Buffer
    for pageIndex := 1; pageIndex <= totalPage; pageIndex++ {
        p := r.Page(pageIndex)
        if p.V.IsNull() {
            continue
        }
        textBuilder.WriteString(p.GetPlainText("\n"))
    }
    return textBuilder.String(), nil
}

1 个答案:

答案 0 :(得分:1)

您可以收到一条消息,例如&#34; pdf文档的例子。&#34;而不是

Ex
a
m
pl
e

of

a

pd
f

doc
u
m
e
nt
.

您需要做的是更改textBuilder.WriteString(p.GetPlainText("\n"))

textBuilder.WriteString(p.GetPlainText(""))

我希望这会有所帮助。