通过C#转换图片到PDF文档

打印 上一主题 下一主题

主题 931|帖子 931|积分 2793

将图片(JPG、PNG)转换为PDF文件可以帮助我们更好地生存和分享图片。此外,PDF文件还具有强大的安全特性,将图片转换为PDF后,我们可以通过设置暗码来文件内容不被泄露。本文将先容如何将JPG/PNG图片转换为PDF文档。

  • C# 将单张图片转换为PDF文档
  • C# 将多张图片转换到一个PDF文档
 
此教程可以使用第三方免费库 Free Spire.PDF for .NET,但需要注意该免费库有一定的页数限定。开始前,我们可以通过以下链接下载产品包后手动添加引用,大概直接通过 NuGet 安装。
https://www.e-iceblue.cn/Downloads/Free-Spire-PDF-NET.html
 
C# 将单张图片转换为PDF文档

Free Spire.PDF for .NET提供的图片转PDF的方法是将加载的图片绘制到PDF页面上实现的,主要步骤如下:

  • 创建一个 PDF文档,然后将其页边距设置为0。
  • 使用 Image.FromFile() 方法加载图片,然后获取图片的宽度和高度。
  • 通过 PdfDocument.Pages.Add() 方法添加一个与图片大小雷同的PDF页面。
  • 根据图片创建 PdfImage 对象。
  • 使用 PdfPageBase.Canvas.DrawImage() 方法在PDF页面上绘制 PdfImage 对象。
  • 使用 PdfDocument.SaveToFile() 方法生存天生的 PDF 文档。
示例代码:
  1. ing System.Drawing;
  2. using Spire.Pdf;
  3. using Spire.Pdf.Graphics;
  4. namespace ConvertImageToPdfWithSameSize
  5. {
  6.     class Program
  7.     {
  8.         static void Main(string[] args)
  9.         {
  10.             //创建PdfDocument对象
  11.             PdfDocument pdf = new PdfDocument();
  12.             //将页边距设为0
  13.             pdf.PageSettings.SetMargins(0);
  14.             //加载图片
  15.             Image image = Image.FromFile(@"C:\Users\Administrator\Desktop\work.jpg");
  16.             //获取图片尺寸
  17.             float width = image.PhysicalDimension.Width;
  18.             float height = image.PhysicalDimension.Height;
  19.             //创建PdfImage对象
  20.             PdfImage pdfImage = PdfImage.FromFile(@"C:\Users\Administrator\Desktop\work.jpg");
  21.             //添加一个与图片大小相同的PDF页面
  22.             PdfPageBase page = pdf.Pages.Add(new SizeF(width, height));
  23.             //在页面上绘制图片
  24.             page.Canvas.DrawImage(pdfImage, 0, 0, pdfImage.Width, pdfImage.Height);
  25.             //保存PDF
  26.             pdf.SaveToFile("图片转Pdf.pdf");
  27.         }
  28.     }
  29. }
复制代码

 
C# 将多张图片转换到一个PDF文档

Free Spire.PDF for .NET也可以将一个文件夹中的多张图片绘制到一个PDF文档的不同页面上,主要步骤如下:

  • 创建一个 PDF文档,然后将其页边距设置为0。
  • 获取存储图片的文件夹。
  • 遍历文件夹中的每个图像文件,并获取每一张图片的宽度和高度。
  • 通过 PdfDocument.Pages.Add() 方法在PDF文档中添加与图片大小雷同的PDF页面。
  • 使用 PdfPageBase.Canvas.DrawImage() 方法在页面上绘制各个图片。
  • 使用 PdfDocument.SaveToFile() 方法生存天生的PDF文档。
示例代码:
  1. using Spire.Pdf;
  2. using Spire.Pdf.Graphics;
  3. using System.Drawing;
  4. using System.IO;
  5. namespace ConvertMultipleImagesIntoPdf
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             //创建PdfDocument对象
  12.             PdfDocument pdf = new PdfDocument();
  13.             //将页边距设为0
  14.             pdf.PageSettings.SetMargins(0);
  15.             //获取存储图片的文件夹
  16.             DirectoryInfo folder = new DirectoryInfo(@"C:\Users\Administrator\Desktop\图片");
  17.             //遍历文件夹中的图片
  18.             foreach (FileInfo file in folder.GetFiles())
  19.             {
  20.                 //加载图片
  21.                 Image image = Image.FromFile(file.FullName);
  22.                 //获取图片尺寸
  23.                 float width = image.PhysicalDimension.Width;
  24.                 float height = image.PhysicalDimension.Height;
  25.                 //添加与图片大小相同的PDF页面
  26.                 PdfPageBase page = pdf.Pages.Add(new SizeF(width, height));
  27.                 //创建PdfImage对象
  28.                 PdfImage pdfImage = PdfImage.FromFile(file.FullName);
  29.                 //在页面上绘制图片
  30.                 page.Canvas.DrawImage(pdfImage, 0, 0, pdfImage.Width, pdfImage.Height);
  31.             }
  32.             //保存PDF
  33.             pdf.SaveToFile("多图转Pdf.pdf");
  34.             pdf.Dispose();
  35.         }
  36.     }
  37. }
复制代码

 
 
– 如需在.NET 程序实现其他PDF文档的操作,如创建、读取、添加图片、表格等,可以从以下链接中查看相关教程:
https://www.e-iceblue.cn/spirepdfnet/spire-pdf-for-net-program-guide-content.html
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

冬雨财经

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表