go-fitz
MuPDF fitz库的Go语言封装,可以将PDF、EPUB和MOBI文档中的页面提取为图像、文本、HTML或SVG格式。
构建标签
extlib
- 使用外部MuPDF库static
- 使用静态外部MuPDF库构建(与extlib
一起使用)pkgconfig
- 启用pkg-config(与extlib
一起使用)musl
- 使用musl编译的库
示例
package main
import (
"fmt"
"image/jpeg"
"os"
"path/filepath"
"github.com/gen2brain/go-fitz"
)
func main() {
doc, err := fitz.New("test.pdf")
if err != nil {
panic(err)
}
defer doc.Close()
tmpDir, err := os.MkdirTemp(os.TempDir(), "fitz")
if err != nil {
panic(err)
}
// 将页面提取为图像
for n := 0; n < doc.NumPage(); n++ {
img, err := doc.Image(n)
if err != nil {
panic(err)
}
f, err := os.Create(filepath.Join(tmpDir, fmt.Sprintf("test%03d.jpg", n)))
if err != nil {
panic(err)
}
err = jpeg.Encode(f, img, &jpeg.Options{jpeg.DefaultQuality})
if err != nil {
panic(err)
}
f.Close()
}
}