1 分钟通过 Go 语言将 PDF 转为 Word!

文摘   2024-11-05 16:00   河南  
点击上方蓝字,后台回复【合集】获取 Go资料 
最近一位铁子询问 Go 语言如何实现 PDF 转 Word,下面是大概的思路。

三方库

github.com/SebastiaanKlippert/go-wkhtmltopdf
要实现 PDF 转 Word,可以先将 PDF 转为 HTML,然后使用第三方库将 HTML 转为 Word。
下面是一个示例代码:
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)
    }
}

需要注意的是,该方法需要安装 wkhtmltopdfpandoc 工具,并将它们添加到系统的 PATH 环境变量中。
另外一种可以参考的方式,需要下载Apache/tika的jar包,实现的思路基本类似。
Apache/tika (解析pdf)
go-tika  (golang库)
来源:https://mp.weixin.qq.com/s/Ivc6jKgRxj-r0plK7MCVmw
最后,整理了2024新版go思维路线图,共三张希望可以帮助到大家!
第一张:go知识点
第二张:go语言编程

第三张:go面试


扫码备注 go思维路线图 领取 

Golang在发光
每天为大家分享最新的Golang相关的技术文章、干货资料、语言资讯、语言教程、实战项目等,供大家学习和提升!
 最新文章