翻譯|行業資訊|編輯:胡濤|2024-05-21 10:08:12.270|閱讀 81 次
概述:在本文中,我將向您介紹如何使用 Spire.Office 將每種文件類型轉換為 Adobe PDF,然后同時將它們合并為單個 PDF 文檔。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
也許您在工作中遇到過這種情況:您收到很多不同文件類型的文件,有些是Word,有些是PowerPoint幻燈片,有些是Excel等,您需要將這些文件合并為一個PDF以供使用輕松分享。在本文中,我將向您介紹如何使用 Spire.Office 將每種文件類型轉換為 Adobe PDF,然后同時將它們合并為單個 PDF 文檔。
Spire.PDF for .NET 是一款獨立 PDF 控件,用于 .NET 程序中創建、編輯和操作 PDF 文檔。使用 Spire.PDF 類庫,開發人員可以新建一個 PDF 文檔或者對現有的 PDF 文檔進行處理,且無需安裝 Adobe Acrobat。
E-iceblue 功能類庫Spire 系列文檔處理組件均由中國本土團隊研發,不依賴第三方軟件,不受其他國家的技術或法律法規限制,同時適配國產操作系統如中科方德、中標麒麟等,兼容國產文檔處理軟件 WPS(如 .wps/.et/.dps 等格式
Spire.PDF for.net下載 Spire.PDF for java下載
在此示例中,我首先準備了四種類型的文件(.doc、.docx、.xls、.pdf)。在 Spire.Office 中,它提供了SaveToStream()方法,允許我們將 Word 和 Excel 文檔保存到流中,然后可以通過調用PdfDocument(Stream stream)方法將這些流轉換為 PDF 文檔。最后,我們可以使用PdfDocument.AppendPage()方法將這些 PDF 文件合并為一個文件。更多細節如下:
第 1 步:創建四個新的 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:重復步驟2,從.docx文件和.xls文件生成兩個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
歡迎下載|體驗更多E-iceblue產品
獲取更多信息請咨詢 ;技術交流Q群(767755948)
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn