单张图片转PDF(基于Go语言实现)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | package main import ( "fmt" "io/ioutil" "log" "path" "github.com/jung-kurt/gofpdf" ) // Hello 测试 func Hello() { pdf := gofpdf.New( "P" , "mm" , "A4" , "" ) pdf.AddPage() pdf.SetFont( "Arial" , "B" , 16) pdf.Cell(40, 10, "Hello, world" ) err := pdf.OutputFileAndClose( "hello.pdf" ) if err != nil { log.Fatalf( "output failed,err:%s" , err) } } // SingleImg2Pdf 单张png图片转pdf func SingleImg2Pdf(pathStr string) { pdf := gofpdf.New( "P" , "mm" , "A4" , "" ) pdf.AddPage() pdf.SetFont( "Arial" , "" , 11) pdf.Image(pathStr, 10, 10, pdf.GetPageSizeStr( "A4" ).Wd-20, 0, false, "" , 0, "" ) // pdf.Text(50, 20, "logo.png") fileNameAll := path.Base(pathStr) fileSuffix := path.Ext(pathStr) fileStr := fmt.Sprintf( "./pdfs/%s.pdf" , fileNameAll[0:len(fileNameAll)-len(fileSuffix)]) err := pdf.OutputFileAndClose(fileStr) if err != nil { log.Fatalf( "output failed,err:%s" , err) } } func main() { // Hello() // SingleImg2Pdf("./images/22.jpg") dirName := "./images" files, err := ioutil.ReadDir(dirName) if err != nil { panic(err) } for _, file := range files { fileNameAll := fmt.Sprintf( "%s/%s" , dirName, file.Name()) // fmt.Println(fileNameAll) SingleImg2Pdf(fileNameAll) } } |
说明: 找出当前目录下的images里面的所有图片,逐个转成PDF文件
好记性不如烂笔头!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律