使用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# 托盤(pán)雙擊不觸發(fā)單擊事件的實(shí)現(xiàn)方法
在開(kāi)發(fā)winform的時(shí)候我發(fā)現(xiàn),當(dāng)執(zhí)行雙擊操作(notifyIcon1_MouseDoubleClick)時(shí),會(huì)同時(shí)伴隨著單擊事件(notifyIcon1_MouseClick)的發(fā)生。。那如何才能使雙擊事件不觸發(fā)單擊事件呢?2009-02-02
C#實(shí)現(xiàn)判斷一個(gè)時(shí)間點(diǎn)是否位于給定時(shí)間區(qū)間的方法
這篇文章主要介紹了C#實(shí)現(xiàn)判斷一個(gè)時(shí)間點(diǎn)是否位于給定時(shí)間區(qū)間的方法,涉及C#針對(duì)時(shí)間的轉(zhuǎn)換與判定相關(guān)技巧,需要的朋友可以參考下2015-08-08
c# Newtonsoft 六個(gè)值得使用的特性(下)
這篇文章主要介紹了c# Newtonsoft 六個(gè)值得使用的特性,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-06-06
C#通過(guò)正則表達(dá)式實(shí)現(xiàn)提取網(wǎng)頁(yè)中的圖片
本文給大家分享的是使用C#通過(guò)正則表達(dá)式來(lái)實(shí)現(xiàn)提取網(wǎng)頁(yè)中的圖片的代碼,十分的方便,有需要的小伙伴可以參考下。2015-12-12
使用c#開(kāi)發(fā)公眾平臺(tái)自定義菜單功能
微信公眾平臺(tái)服務(wù)號(hào)開(kāi)放了自定義菜單API,本案例介紹C#開(kāi)發(fā)微信公眾號(hào)自定義菜單功能。在此基礎(chǔ)上可以開(kāi)發(fā)更完善的自定義菜單管理功能2014-01-01

