我想阅读多个PDF文件的文本。我找不到合适的Go lib,所以我使用PDF2Text工具,并编写了以下代码:
package main
import (
"fmt"
"log"
"os"
"os/exec"
"path/filepath"
)
func main() {
var files []string
root := "."
err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error {
if info.IsDir() {
return nil
}
if filepath.Ext(path) != ".pdf" {
return nil
}
files = append(files, info.Name())
return nil
})
if err != nil {
panic(err)
}
for _, file := range files {
fmt.Println(file)
cmd := exec.Command("pdf2text", "-o", "files", file)
err := cmd.Run()
if err != nil {
log.Fatalf("cmd.Run() failed with %s\n", err)
}
}
}
这是工作文件,并将所有pdf文件提取到文件夹“files”中,但是由于此工具的演示版本将pdf文件提取到多个文本文件(每页文件),我希望PDF文件提取到的文件夹与文件名本身相同,因此我尝试替换:
cmd := exec.Command("pdf2text", "-o", "files", file)
由
cmd := exec.Command("pdf2text", "-o", file, file)
但它不起作用,没有执行任何内容,没有抛出任何错误。
慕姐8265434
相关分类