三方库
github.com/SebastiaanKlippert/go-wkhtmltopdf
package main
import (
"io/ioutil"
"log"
"os"
"os/exec"
)
func main() {
// 读取 PDF 文件内容
input, err := ioutil.ReadFile("input.pdf")
if err != nil {
log.Fatal(err)
}
// 将 PDF 转为 HTML
cmd := exec.Command("wkhtmltopdf", "-i", "-", "-")
cmd.Stdin = bytes.NewReader(input)
output, err := cmd.Output()
if err != nil {
log.Fatal(err)
}
// 将 HTML 转为 Word
err = ioutil.WriteFile("output.html", output, 0644)
if err != nil {
log.Fatal(err)
}
cmd = exec.Command("pandoc", "-f", "html", "-t", "docx", "-o", "output.docx", "output.html")
err = cmd.Run()
if err != nil {
log.Fatal(err)
}
// 删除临时文件
err = os.Remove("output.html")
if err != nil {
log.Fatal(err)
}
}
wkhtmltopdf
和 pandoc
工具,并将它们添加到系统的 PATH
环境变量中。Apache/tika的jar
包,实现的思路基本类似。Apache/tika (解析pdf)
go-tika (golang库)
最后,整理了2024新版go思维路线图,共三张希望可以帮助到大家!
第三张:go面试
扫码备注 go思维路线图 领取