1
GOを使用してpdfファイルからテキストを抽出したいと思います。 ledongthuc/pdf GetPlainText()メソッドを実装するGoパッケージを使用して、フォーマットなしのプレーンテキストコンテンツを取得しようとしました。 しかし、私はプレーンテキストを取得していません。私は、結果として持っている: "PDFドキュメントのExemple"ゴランのPDFからプレーンテキストを抽出する方法
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
}
私はいくつかのPDFを試しましたが、ライブラリは1つのファイルのプレーンテキストを返すことはありません(いくつかの実際のテキストと一緒にジャンクの文字だけ)。開発者をベースに触れる方が良いです。 – jeevatkm
Goのように見えますがまだそこにはありません。たぶんあなたはGoから別のライブラリを呼び出すべきでしょうか? (Apache Tikaはかなりうまくいく) – Kiril