C#合并多種格式文件為PDF的方法
文檔合并是一種高效文檔處理方式。如果能夠有一個(gè)方法能將多種不同類型的文檔合并成一種文檔格式,那么在文檔存儲(chǔ)管理上將為我們提供極大的便利。因此,本篇文章介紹了一種如何使用免費(fèi)組件Free Spire.Office for .NET來實(shí)現(xiàn)將多種各式的文檔合并為PDF的方法。本方法中可合并的文檔格式可以是doc、docx、xls、xlsx、pdf等。下面將進(jìn)行詳細(xì)闡述。
使用方法:安裝Free Spire.Office for .NET后,添加引用spire.doc.dll, spire.xls.dll, spire.pdf.dll三個(gè)文件,如下圖所示:

添加以后,在命名空間添加如下using 指令:
using Spire.Doc; using Spire.Xls; using Spire.Pdf; using System.IO;
文檔合并前:

主要代碼:
//聲明PdfDocument對(duì)象數(shù)組
PdfDocument[] documents = new PdfDocument[4];
using (MemoryStream ms1 = new MemoryStream())
{
//加載doc文檔
Document doc = new Document(@"C:\Users\Administrator\Desktop\sample.doc", Spire.Doc.FileFormat.Doc);
//轉(zhuǎn)換PDF,并以流的形式保存
doc.SaveToStream(ms1, Spire.Doc.FileFormat.PDF);
//加載PDF流文件為PdfDocument對(duì)象數(shù)組的第一個(gè)元素
documents[0] = new PdfDocument(ms1);
}
using (MemoryStream ms2 = new MemoryStream())
{
//加載docx文檔
Document docx = new Document(@"C:\Users\Administrator\Desktop\test.docx", Spire.Doc.FileFormat.Docx2010);
//轉(zhuǎn)換PDF,并以流的形式保存
docx.SaveToStream(ms2, Spire.Doc.FileFormat.PDF);
//加載PDF流文件為PdfDocument對(duì)象數(shù)組的第二個(gè)元素
documents[1] = new PdfDocument(ms2);
}
using (MemoryStream ms3 = new MemoryStream())
{
//加載xlsx文檔
Workbook workbook = new Workbook();
workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\Sample.xlsx", ExcelVersion.Version97to2003);
//轉(zhuǎn)換PDF,并以流的形式保存
workbook.SaveToStream(ms3, Spire.Xls.FileFormat.PDF);
//加載PDF流文件為PdfDocument對(duì)象數(shù)組的第三個(gè)元素
documents[2] = new PdfDocument(ms3);
}
//加載pdf文檔,作為PdfDocument對(duì)象數(shù)組的第四個(gè)元素
documents[3] = new PdfDocument(@"C:\Users\Administrator\Desktop\sample.pdf");
//將前三個(gè)文檔合并到第四個(gè)文檔,并另存為新的PDF文檔
for (int i = 2; i > -1; i--)
{
documents[3].AppendPage(documents[i]);
}
documents[3].SaveToFile("Result.pdf");
完成代碼后,調(diào)試運(yùn)行該項(xiàng)目,生成文件。
合并效果展示:

以上全部?jī)?nèi)容為合并不同格式文件為PDF文件的方法,如果想合并多個(gè)單一格式的PDF文檔為一個(gè)文件,可參見這篇文章C#實(shí)現(xiàn)合并及拆分PDF文件的方法。
相關(guān)文章
C#三種方法獲取文件的Content-Type(MIME Type)
這篇文章介紹了C#獲取文件Content-Type(MIME Type)的三種方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-01-01
解析C#設(shè)計(jì)模式編程中適配器模式的實(shí)現(xiàn)
這篇文章主要介紹了C#設(shè)計(jì)模式編程中適配器模式的實(shí)現(xiàn),分別舉了類的對(duì)象適配器與對(duì)象的適配器模式的例子,需要的朋友可以參考下2016-02-02
C#微信開發(fā)之微信公眾號(hào)標(biāo)簽管理功能
這篇文章主要介紹了C#微信開發(fā)之微信公眾號(hào)標(biāo)簽管理功能 的相關(guān)資料,需要的朋友可以參考下2016-05-05
C#/VB.NET讀取條碼類型及條碼在圖片中的坐標(biāo)位置實(shí)例
我們?cè)趧?chuàng)建條形碼時(shí),如果以圖片的方式將創(chuàng)建好的條碼保存到指定文件夾路徑,可以在程序中直接加載圖片使用;已生成的條碼圖片,需要通過讀取圖片中的條碼信息,如條碼類型、條碼繪制區(qū)域在圖片中的四個(gè)頂點(diǎn)坐標(biāo)位置等,可參考本文中的方法2023-10-10
C#使用HtmlAgilityPack實(shí)現(xiàn)解析提取HTML內(nèi)容
HtmlAgilityPack是一個(gè)HTML解析類庫,這篇文章主要為大家詳細(xì)介紹了C#如何使用HtmlAgilityPack實(shí)現(xiàn)解析提取HTML內(nèi)容,感興趣的小伙伴可以參考一下2023-12-12
C#開發(fā)微信門戶及應(yīng)用(5) 用戶分組信息管理
這篇文章主要為大家詳細(xì)介紹了C#開發(fā)微信門戶及應(yīng)用第五篇,用戶分組信息管理,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06

