使用C#代碼將多張圖片整合為一個(gè)PDF文檔
如果你有多張圖片需要合并成一個(gè)文件以便于分發(fā)或存儲(chǔ),將它們轉(zhuǎn)換為單一的 PDF 文檔是一個(gè)非常有效的解決方案。此過(guò)程不僅可以節(jié)省空間,還能確保所有圖片被整合在同一個(gè)文件中,方便共享或傳輸。本文將向你介紹如何使用 Spire.PDF for .NET,在 C# 和 VB.NET 中將多張圖片合并生成一個(gè) PDF 文檔。
安裝 Spire.PDF for .NET
首先,你需要將 Spire.PDF for .NET 包中包含的 DLL 文件添加為 .NET 項(xiàng)目的引用。你可以通過(guò)以下鏈接下載 DLL 文件,或通過(guò) NuGet 進(jìn)行安裝。
PM> Install-Package Spire.PDF
將多張圖片合并為一個(gè) PDF
為了將文件夾中的所有圖片轉(zhuǎn)換為一個(gè) PDF,我們需要遍歷每張圖片,為 PDF 添加與圖片尺寸相同的新頁(yè)面,然后將圖片繪制到該頁(yè)面上。以下是具體步驟:
- 創(chuàng)建一個(gè) PdfDocument 對(duì)象。
- 使用 PdfDocument.PageSettings.SetMargins() 方法將頁(yè)面邊距設(shè)置為零。
- 獲取存儲(chǔ)圖片的文件夾路徑。
- 遍歷文件夾中的每個(gè)圖片文件,并獲取每張圖片的寬度和高度。
- 使用 PdfDocument.Pages.Add() 方法,為 PDF 文檔添加一個(gè)與圖片尺寸相同的新頁(yè)面。
- 使用 PdfPageBase.Canvas.DrawImage() 方法,將圖片繪制到頁(yè)面上。
- 使用 PdfDocument.SaveToFile() 方法保存文檔。
具體示例代碼如下:
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;
namespace ConvertMultipleImagesIntoPdf
{
class Program
{
static void Main(string[] args)
{
//創(chuàng)建 PdfDocument 對(duì)象
PdfDocument doc = new PdfDocument();
//將頁(yè)面邊距設(shè)置為 0
doc.PageSettings.SetMargins(0);
//獲取存儲(chǔ)圖片的文件夾
DirectoryInfo folder = new DirectoryInfo(@"C:\Users\Administrator\Desktop\Images");
//遍歷文件夾中的所有文件
foreach (FileInfo file in folder.GetFiles())
{
//加載當(dāng)前圖片
Image image = Image.FromFile(file.FullName);
//獲取圖片寬度和高度
float width = image.PhysicalDimension.Width;
float height = image.PhysicalDimension.Height;
//添加一個(gè)與圖片尺寸相同的頁(yè)面
PdfPageBase page = doc.Pages.Add(new SizeF(width, height));
//根據(jù)圖片創(chuàng)建 PdfImage 對(duì)象
PdfImage pdfImage = PdfImage.FromImage(image);
//將圖片繪制到頁(yè)面左上角 (0, 0) 位置
page.Canvas.DrawImage(pdfImage, 0, 0, pdfImage.Width, pdfImage.Height);
}
//保存文檔
doc.SaveToFile("CombinaImagesToPdf.pdf");
doc.Dispose();
}
}
}到此這篇關(guān)于使用C#代碼將多張圖片整合為一個(gè)PDF文檔的文章就介紹到這了,更多相關(guān)C#將多張圖片合并為PDF內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#窗體編程(windows forms)禁止窗口最大化的方法
這篇文章主要介紹了C#窗體編程(windows forms)禁止窗口最大化的方法,以及避免彈出系統(tǒng)菜單和禁止窗口拖拽的方法,需要的朋友可以參考下2014-08-08
C#實(shí)現(xiàn)Base64處理的加密解密,編碼解碼示例
這篇文章主要介紹了C#實(shí)現(xiàn)Base64處理的加密解密,編碼解碼,結(jié)合實(shí)例形式分析了基于C#實(shí)現(xiàn)的base64編碼解碼操作相關(guān)技巧,需要的朋友可以參考下2017-01-01
C#編程中使用設(shè)計(jì)模式中的原型模式的實(shí)例講解
這篇文章主要介紹了C#編程中使用設(shè)計(jì)模式中的原型模式的實(shí)例講解,原型模式創(chuàng)建新對(duì)象方便快捷,而且可在運(yùn)行時(shí)根據(jù)需要通過(guò)克隆來(lái)添加和去除他們,也可在程序運(yùn)行是根據(jù)情況來(lái)修改類(lèi)內(nèi)部的數(shù)據(jù),需要的朋友可以參考下2016-02-02
C#構(gòu)建WebAPI接口的設(shè)計(jì)與實(shí)現(xiàn)指南
在現(xiàn)代軟件開(kāi)發(fā)中,WebAPI 已成為系統(tǒng)間通信的標(biāo)準(zhǔn)方式,本文介紹了使用C#和ASP.NET?Core構(gòu)建高質(zhì)量WebAPI的核心要點(diǎn),希望對(duì)大家有所幫助2026-04-04
C#自定義針對(duì)URL地址的處理類(lèi)實(shí)例
這篇文章主要介紹了C#自定義針對(duì)URL地址的處理類(lèi),實(shí)例分析了C#解析URL地址實(shí)現(xiàn)URl參數(shù)加密解密及參數(shù)解析的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-03-03
C#中TextBox實(shí)現(xiàn)輸入提示功能的方法
這篇文章主要介紹了C#中TextBox實(shí)現(xiàn)輸入提示功能的方法,涉及C#中TextBox的相關(guān)操作技巧,需要的朋友可以參考下2015-06-06

