基于C#實現(xiàn)將圖片轉(zhuǎn)換為PDF文檔
介紹
將圖片(JPG、PNG)轉(zhuǎn)換為PDF文件可以幫助我們更好地保存和分享圖片。此外,PDF文件還具有強(qiáng)大的安全特性,將圖片轉(zhuǎn)換為PDF后,我們可以通過設(shè)置密碼來文件內(nèi)容不被泄露。本文將介紹如何將JPG/PNG圖片轉(zhuǎn)換為PDF文檔。
此教程可以使用第三方免費庫 Free Spire.PDF for .NET,但需要注意該免費庫有一定的頁數(shù)限制。
開始前,我們可以通過以下鏈接下載產(chǎn)品包后手動添加引用,或者直接通過 NuGet 安裝。
https://www.e-iceblue.cn/Downloads/Free-Spire-PDF-NET.html
C# 將單張圖片轉(zhuǎn)換為PDF文檔
Free Spire.PDF for .NET提供的圖片轉(zhuǎn)PDF的方法是將加載的圖片繪制到PDF頁面上實現(xiàn)的,主要步驟如下:
- 創(chuàng)建一個 PDF文檔,然后將其頁邊距設(shè)置為0。
- 使用 Image.FromFile() 方法加載圖片,然后獲取圖片的寬度和高度。
- 通過 PdfDocument.Pages.Add() 方法添加一個與圖片大小相同的PDF頁面。
- 根據(jù)圖片創(chuàng)建 PdfImage 對象。
- 使用 PdfPageBase.Canvas.DrawImage() 方法在PDF頁面上繪制PdfImage對象。
- 使用 PdfDocument.SaveToFile() 方法保存生成的 PDF 文檔。
示例代碼:
ing System.Drawing; using Spire.Pdf; using Spire.Pdf.Graphics; namespace ConvertImageToPdfWithSameSize { class Program { static void Main(string[] args) { //創(chuàng)建PdfDocument對象 PdfDocument pdf = new PdfDocument(); //將頁邊距設(shè)為0 pdf.PageSettings.SetMargins(0); //加載圖片 Image image = Image.FromFile(@"C:\Users\Administrator\Desktop\work.jpg"); //獲取圖片尺寸 float width = image.PhysicalDimension.Width; float height = image.PhysicalDimension.Height; //創(chuàng)建PdfImage對象 PdfImage pdfImage = PdfImage.FromFile(@"C:\Users\Administrator\Desktop\work.jpg"); //添加一個與圖片大小相同的PDF頁面 PdfPageBase page = pdf.Pages.Add(new SizeF(width, height)); //在頁面上繪制圖片 page.Canvas.DrawImage(pdfImage, 0, 0, pdfImage.Width, pdfImage.Height); //保存PDF pdf.SaveToFile("圖片轉(zhuǎn)Pdf.pdf"); } } }
C# 將多張圖片轉(zhuǎn)換到一個PDF文檔
Free Spire.PDF for .NET也可以將一個文件夾中的多張圖片繪制到一個PDF文檔的不同頁面上,主要步驟如下:
創(chuàng)建一個 PDF文檔,然后將其頁邊距設(shè)置為0。
獲取存儲圖片的文件夾。
遍歷文件夾中的每個圖像文件,并獲取每一張圖片的寬度和高度。
通過 PdfDocument.Pages.Add() 方法在PDF文檔中添加與圖片大小相同的PDF頁面。
使用 PdfPageBase.Canvas.DrawImage() 方法在頁面上繪制各個圖片。
使用 PdfDocument.SaveToFile() 方法保存生成的PDF文檔。
示例代碼:
using Spire.Pdf; using Spire.Pdf.Graphics; using System.Drawing; using System.IO; namespace ConvertMultipleImagesIntoPdf { class Program { static void Main(string[] args) { //創(chuàng)建PdfDocument對象 PdfDocument pdf = new PdfDocument(); //將頁邊距設(shè)為0 pdf.PageSettings.SetMargins(0); //獲取存儲圖片的文件夾 DirectoryInfo folder = new DirectoryInfo(@"C:\Users\Administrator\Desktop\圖片"); //遍歷文件夾中的圖片 foreach (FileInfo file in folder.GetFiles()) { //加載圖片 Image image = Image.FromFile(file.FullName); //獲取圖片尺寸 float width = image.PhysicalDimension.Width; float height = image.PhysicalDimension.Height; //添加與圖片大小相同的PDF頁面 PdfPageBase page = pdf.Pages.Add(new SizeF(width, height)); //創(chuàng)建PdfImage對象 PdfImage pdfImage = PdfImage.FromFile(file.FullName); //在頁面上繪制圖片 page.Canvas.DrawImage(pdfImage, 0, 0, pdfImage.Width, pdfImage.Height); } //保存PDF pdf.SaveToFile("多圖轉(zhuǎn)Pdf.pdf"); pdf.Dispose(); } } }
到此這篇關(guān)于基于C#實現(xiàn)將圖片轉(zhuǎn)換為PDF文檔的文章就介紹到這了,更多相關(guān)C#圖片轉(zhuǎn)PDF內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

c#之利用API函數(shù)實現(xiàn)動畫窗體的方法詳解

silverlight實現(xiàn)圖片局部放大效果的方法

C#實現(xiàn)ArrayList動態(tài)數(shù)組的示例