前两天在整理单据的时候,用Adobe Acrobat 9 Pro来合并,非常麻烦。
找了下资源发现有个开源库 PdfSharp 可以创建PDF文件.
刚好满足我的要求。
1 public class PdfHelper 2 { 3 4 public static bool MergeImage(IEnumerable<string> files, string pdfFileName) 5 { 6 //1. 定义文档对象 7 PdfDocument document = new PdfDocument(); 8 try 9 { 10 foreach (var file in files) 11 { 12 XImage img = XImage.FromFile(file); 13 14 //2. 新增一页 15 PdfPage page = document.AddPage(); 16 // 设置纸张大小 17 //page.Size = PageSize.A4; 18 page.Width = img.Size.Width; 19 page.Height = img.Size.Height; 20 21 XGraphics gfx = XGraphics.FromPdfPage(page); 22 23 gfx.DrawImage(img, new XPoint(0, 0)); 24 var scale = img.Size.Width * 0.025; 25 var emSize = scale < 10 ? 10 : scale; 26 var x = emSize < 40 ? emSize * 0.5 : emSize * 0.3; 27 XFont font = new XFont("华文宋体", emSize, XFontStyle.Regular); 28 gfx.DrawString(pdfFileName.GetPathNameWithoutExtension(), font, XBrushes.Red, new XPoint(x, emSize)); 29 } 30 31 document.Save(pdfFileName); 32 return true; 33 } 34 catch (Exception ex) 35 { 36 Console.WriteLine("转换失败,原因:" + ex.Message); 37 } 38 return false; 39 40 } 41 42 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界