翻譯|行業資訊|編輯:胡濤|2024-05-21 10:08:12.270|閱讀 94 次
概述:在本文中,我將向您介紹如何使用 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@ke049m.cn