型変換がわかりません。私はこれが正しくないことを知っています、私が得るのは象形文字の束だけです。
f, _ := os.Open("test.pdf") defer f.Close() io.Copy(os.Stdout, f)
弦を使って作業したい…。
私はいくつかのgopdf libsを試しましたが、 sajari/docconv 期待どおりに機能することがわかりました。
使いやすい、ここに例があります:
package main
import (
"fmt"
"log"
"code.sajari.com/docconv"
)
func main() {
res, err := docconv.ConvertPath("your-file.pdf")
if err != nil {
log.Fatal(err)
}
fmt.Println(res)
}
PDFにはテキストだけでなく、フォーマット(フォント、パディング、マージン、位置、形状、画像)情報も含まれているためです。
フォーマットなしでプレーンテキストを読む必要がある場合。リポジトリをフォークし、それを行う関数を実装しました。 https://github.com/ledongthuc/pdf で確認できます。
私も例を挙げました、それがあなたのために役立つのを手伝ってください。
package main
import (
"bytes"
"fmt"
"github.com/ledongthuc/pdf"
)
func main() {
content, err := readPdf("test.pdf") // Read local pdf file
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ファイルの内容です。
GoでPDFファイルを読みたい場合は、 golang pdfライブラリの1つ like rsc.io/pdf
、または これらのライブラリ のいずれか yob/pdfreader
。
として ここに記載 :
この種のもののための「堅固なフレームワーク」があるとは思えません。 PDF形式は、設計上、マシンフレンドリーであることを意図したものではありません。AFAIKでは、任意のPDFを解析する保証された方法はありません。