我不理解类型转换。我知道这不对,我的输出只是一堆象形文字。
f, _ := os.Open("test.pdf")
defer f.Close()
io.Copy(os.Stdout, f)
我想要处理字符串....
我不理解类型转换。我知道这不对,我的输出只是一堆象形文字。
f, _ := os.Open("test.pdf")
defer f.Close()
io.Copy(os.Stdout, f)
我想要处理字符串....
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)
}
brew install poppler
和brew install tesseract
安装依赖项。 - Henry S.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
}
ledongthuc/pdf
的 Git 上发布问题。 - LeMoussel我只得到了一堆象形文字。
你得到的是一个pdf文件的内容,而不是清晰的文本。
如果你想在Go中阅读pdf文件,请使用其中一个golang pdf库,例如rsc.io/pdf
,或者那些库之一,例如yob/pdfreader
。
如此处所述:
我怀疑没有任何“坚实的框架”可以处理这种东西。PDF格式的设计并不是为了机器友好,据我所知,没有保证解析任意PDF的方法。
import (
"fmt"
"github.com/rudolfoborges/pdf2go"
)
func main() {
pdf, err := pdf2go.New("path/to/file.pdf", pdf2go.Config{
LogLevel: pdf2go.LogLevelError,
})
if err != nil {
panic(err)
}
text, err := pdf.Text()
if err != nil {
panic(err)
}
fmt.Println(text)
pages, err := pdf.Pages()
if err != nil {
panic(err)
}
for _, page := range pages {
fmt.Println(page.Text())
}
}