翻譯|行業(yè)資訊|編輯:胡濤|2024-05-21 10:08:12.270|閱讀 81 次
概述:在本文中,我將向您介紹如何使用 Spire.Office 將每種文件類型轉(zhuǎn)換為 Adobe PDF,然后同時(shí)將它們合并為單個(gè) PDF 文檔。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
也許您在工作中遇到過這種情況:您收到很多不同文件類型的文件,有些是Word,有些是PowerPoint幻燈片,有些是Excel等,您需要將這些文件合并為一個(gè)PDF以供使用輕松分享。在本文中,我將向您介紹如何使用 Spire.Office 將每種文件類型轉(zhuǎn)換為 Adobe PDF,然后同時(shí)將它們合并為單個(gè) PDF 文檔。
Spire.PDF for .NET 是一款獨(dú)立 PDF 控件,用于 .NET 程序中創(chuàng)建、編輯和操作 PDF 文檔。使用 Spire.PDF 類庫,開發(fā)人員可以新建一個(gè) PDF 文檔或者對(duì)現(xiàn)有的 PDF 文檔進(jìn)行處理,且無需安裝 Adobe Acrobat。
E-iceblue 功能類庫Spire 系列文檔處理組件均由中國本土團(tuán)隊(duì)研發(fā),不依賴第三方軟件,不受其他國家的技術(shù)或法律法規(guī)限制,同時(shí)適配國產(chǎn)操作系統(tǒng)如中科方德、中標(biāo)麒麟等,兼容國產(chǎn)文檔處理軟件 WPS(如 .wps/.et/.dps 等格式
Spire.PDF for.net下載 Spire.PDF for java下載
在此示例中,我首先準(zhǔn)備了四種類型的文件(.doc、.docx、.xls、.pdf)。在 Spire.Office 中,它提供了SaveToStream()方法,允許我們將 Word 和 Excel 文檔保存到流中,然后可以通過調(diào)用PdfDocument(Stream stream)方法將這些流轉(zhuǎn)換為 PDF 文檔。最后,我們可以使用PdfDocument.AppendPage()方法將這些 PDF 文件合并為一個(gè)文件。更多細(xì)節(jié)如下:
第 1 步:創(chuàng)建四個(gè)新的 PDF 文檔。
PdfDocument[] documents = new PdfDocument[4];
步驟 2:加載 .doc 文件,將其保存到流中并從流中生成新的 PDF 文檔。
using (MemoryStream ms1 = new MemoryStream()) { Document doc = new Document("01.doc", Spire.Doc.FileFormat.Doc); doc.SaveToStream(ms1, Spire.Doc.FileFormat.PDF); documents[0] = new PdfDocument(ms1); }
步驟3:重復(fù)步驟2,從.docx文件和.xls文件生成兩個(gè)PDF文檔。
using (MemoryStream ms2 = new MemoryStream()) { Document docx = new Document("02.docx", Spire.Doc.FileFormat.Docx2010); docx.SaveToStream(ms2, Spire.Doc.FileFormat.PDF); documents[1] = new PdfDocument(ms2); } using (MemoryStream ms3 = new MemoryStream()) { Workbook workbook = new Workbook(); workbook.LoadFromFile("03.xls", ExcelVersion.Version97to2003); workbook.SaveToStream(ms3, Spire.Xls.FileFormat.PDF); documents[2] = new PdfDocument(ms3); }
步驟 4:加載 .pdf 文件并將其保存到文檔[3]。
documents[3] = new PdfDocument("04.pdf");
步驟5:將文檔[0]、[1]、[2]附加到文檔[3]并另存為新的PDF文檔。
for (int i = 2; i > -1; i--) { documents[3].AppendPage(documents[i]); } documents[3].SaveToFile("Result.pdf");
效果截圖:
完整代碼:
[C#]
using Spire.Doc; using Spire.Xls; using Spire.Pdf; namespace MergeMultiTypestoOnePDF { class Program { static void Main(string[] args) { PdfDocument[] documents = new PdfDocument[4]; using (MemoryStream ms1 = new MemoryStream()) { Document doc = new Document("01.doc", Spire.Doc.FileFormat.Doc); doc.SaveToStream(ms1, Spire.Doc.FileFormat.PDF); documents[0] = new PdfDocument(ms1); } using (MemoryStream ms2 = new MemoryStream()) { Document docx = new Document("02.docx", Spire.Doc.FileFormat.Docx2010); docx.SaveToStream(ms2, Spire.Doc.FileFormat.PDF); documents[1] = new PdfDocument(ms2); } using (MemoryStream ms3 = new MemoryStream()) { Workbook workbook = new Workbook(); workbook.LoadFromFile("03.xls", ExcelVersion.Version97to2003); workbook.SaveToStream(ms3, Spire.Xls.FileFormat.PDF); documents[2] = new PdfDocument(ms3); } documents[3] = new PdfDocument("04.pdf"); for (int i = 2; i > -1; i--) { documents[3].AppendPage(documents[i]); } documents[3].SaveToFile("Result.pdf"); } } }
[VB.NET]
Imports Spire.Doc Imports Spire.Xls Imports Spire.Pdf Namespace MergeMultiTypestoOnePDF Class Program Private Shared Sub Main(args As String()) Dim documents As PdfDocument() = New PdfDocument(3) {} Using ms1 As New MemoryStream() Dim doc As New Document("01.doc", Spire.Doc.FileFormat.Doc) doc.SaveToStream(ms1, Spire.Doc.FileFormat.PDF) documents(0) = New PdfDocument(ms1) End Using Using ms2 As New MemoryStream() Dim docx As New Document("02.docx", Spire.Doc.FileFormat.Docx2010) docx.SaveToStream(ms2, Spire.Doc.FileFormat.PDF) documents(1) = New PdfDocument(ms2) End Using Using ms3 As New MemoryStream() Dim workbook As New Workbook() workbook.LoadFromFile("03.xls", ExcelVersion.Version97to2003) workbook.SaveToStream(ms3, Spire.Xls.FileFormat.PDF) documents(2) = New PdfDocument(ms3) End Using documents(3) = New PdfDocument("04.pdf") For i As Integer = 2 To -1 + 1 Step -1 documents(3).AppendPage(documents(i)) Next documents(3).SaveToFile("Result.pdf") End Sub End Class End Namespace
歡迎下載|體驗(yàn)更多E-iceblue產(chǎn)品
獲取更多信息請(qǐng)咨詢 ;技術(shù)交流Q群(767755948)
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn