C# JPG转PDF

复制代码
 需先引用 itextsharp.dll
//方法一 /// <summary> /// JPG转PDF /// </summary> /// <param name="jpgfile">图片路径</param> /// <param name="pdf">生成的PDF路径</param> /// <param name="pageSize">A4,A5</param> /// <param name="Vertical">True:纵向,False横向</param> public void ConvertJPG2PDF(string jpgfile, string pdf, string pageSize, bool Vertical = true) { float width = 0, height = 0; Document document; #region 根据纸张大小,纵横向,设置画布长宽 if (pageSize.ToUpper() == "A4") { if (Vertical)//纵向 { width = iTextSharp.text.PageSize.A4.Width; height = iTextSharp.text.PageSize.A4.Height; } else//横向 { width = iTextSharp.text.PageSize.A4.Height; height = iTextSharp.text.PageSize.A4.Width; } } else if (pageSize.ToUpper() == "A5") { if (Vertical) { width = iTextSharp.text.PageSize.A5.Width; height = iTextSharp.text.PageSize.A5.Height; } else { width = iTextSharp.text.PageSize.A5.Height; height = iTextSharp.text.PageSize.A5.Width; } } iTextSharp.text.Rectangle pageSizeNew = new iTextSharp.text.Rectangle(width, height); document = new Document(pageSizeNew); #endregion using (var stream = new FileStream(pdf, FileMode.Create, FileAccess.Write, FileShare.None)) { PdfWriter.GetInstance(document, stream); document.Open(); using (var imageStream = new FileStream(jpgfile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) { var image = iTextSharp.text.Image.GetInstance(imageStream); //缩放图像比例 image.ScaleToFit(width, height); image.SetAbsolutePosition(0, 0); image.Alignment = iTextSharp.text.Image.ALIGN_MIDDLE; document.Add(image); } document.Close(); } }
复制代码
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
//方法二
/// <summary>
        /// jpg转PDF
        /// </summary>
        /// <param name="pdfPath">pdf存放路径</param>
        /// <param name="jpegPath">jpg路径</param>
        /// <returns></returns>
        private bool jpegTopdf(string pdfPath, string jpegPath)
        {
            try
            {
                System.Drawing.Image B = System.Drawing.Image.FromFile(jpegPath);
                System.Drawing.Bitmap image = new System.Drawing.Bitmap(B);
                B.Dispose();
 
                Document document = new Document();
                //document.SetPageSize(new iTextSharp.text.Rectangle(image.Width + 72f, image.Height + 72f));
                document.SetPageSize(new iTextSharp.text.Rectangle(image.Width, image.Height));
                PdfWriter write = PdfWriter.GetInstance(document, new FileStream(pdfPath, FileMode.OpenOrCreate, FileAccess.Write));
                document.Open();
                iTextSharp.text.Image jpg;
 
                jpg = iTextSharp.text.Image.GetInstance(image, ImageFormat.Jpeg);
                document.NewPage();
                document.Add(jpg);
 
                if (document != null && document.IsOpen())
                {
                    document.Close();
                }
                if (write != null)
                {
                    write.Close();
                }
                return true;
            }
            catch (Exception ex)
            {
                return false;
            }
        }

  

posted @   fulllove  阅读(432)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示