前两天在整理单据的时候,用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   }
复制代码