2017-06-15 14 views
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 
} 
+2

私はいくつかのPDFを試しましたが、ライブラリは1つのファイルのプレーンテキストを返すことはありません(いくつかの実際のテキストと一緒にジャンクの文字だけ)。開発者をベースに触れる方が良いです。 – jeevatkm

+0

Goのように見えますがまだそこにはありません。たぶんあなたはGoから別のライブラリを呼び出すべきでしょうか? (Apache Tikaはかなりうまくいく) – Kiril

答えて

0

代わりに、あなたがする必要がどのような

Ex 
a 
m 
pl 
e 

of 

a 

pd 
f 

doc 
u 
m 
e 
nt 
. 

の私はこれが役に立てば幸い

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

を変更です。

関連する問題