今天,我們將學習使用 C# 以編程方式合併 PDF、Word 文檔、電子表格和演示文稿。在之前的一篇文章中,我們看到了使用 Java 合併和拆分文檔

使用 csharp dotnet 合併多個 pdf、word、excel、ppt 文件

本文還將向您展示有關以下內容的代碼示例:

我將在下面的所有示例中使用 GroupDocs.Merger for .NET。在繼續之前,您可以從以下任一選項中獲取 API:

  • NuGet 包庫安裝包。
  • 下載 the MSI or DLLs from the downloads section of GroupDocs.

在 C# 中合併 PDF 文件

以下簡單的 3 行代碼將 2 個 PDF 文件合併為 1 個 PDF 文檔。

  • 從使用 Merger 類的第一個文檔開始。
  • 調用Merger類的Join方法,傳入第二個文檔進行合併。
  • 調用Save方法保存合併文檔。
// Merge 2 PDF files in C#
using (Merger merger = new Merger(@"document1.pdf"))
{
    merger.Join(@"document2.pdf");
    merger.Save(@"merged.pdf");
}

Join 方法有幾個重載方法,允許通過文件路徑、使用流或遠程 URL 合併文檔或不同文檔的選擇性頁面。

在 C# 中合併多個 Word 文檔

上麵類似的代碼允許在不丟失格式的情況下組合兩個或多個 MS Word 和 OpenDocument 格式的文件。只是為了提供一個想法,您可以合併 .doc、.docx、.docm、.dot、.dotx、.dotm、.rtf、.odt、.ott 等。下面是合併兩個 MS Word DOCX 文件的 3 行代碼.

// Merge Word files in C#
using (Merger merger = new Merger(@"c:\\document1.docx"))
{
    merger.Join(@"c:\\document2.docx");
    merger.Save(@"c:\\merged.docx");
}

合併多個文件的頁面 - C#

不僅是整個文檔,我們還可以合併多個文檔中的選擇性頁面以得到一個合併的單個文檔。

// Merge selective pages
string filePath = @"c:\\sample.docx";
string filePath2 = @"c:\\sample2.docx";
string filePathOut = @"c:\\output\\result.docx";

JoinOptions joinOptions = new JoinOptions(1, 4, RangeMode.OddPages);

using (Merger merger = new Merger(filePath, loadOptions))
{
    merger.Join(filePath2, joinOptions);
    merger.Save(filePathOut);
}

在 C# 中合併電子表格、演示文稿和其他文檔

除了 PDF 和 Word 等文檔外,我們還可以以相同的方式合併演示文稿、電子表格和許多其他格式。只需在上面的代碼中相應地更改文件名和類型,您就會得到合併後的文檔。

using (Merger merger = new Merger(@"filepath1.xxx"))
{
    merger.Join(@"filepath2.xxx");
    merger.Save(@"xyz.xxx");
}

首先檢查文件格式支持

您的要求可能是有點不同的文件類型,因此最好先了解 API 是否支持合併所需的文檔。以下代碼獲取 Merger API 支持的所有文件類型。

foreach (FileType fileType in FileType
        .GetSupportedFileTypes()
        .OrderBy(fileType => fileType.Extension))
{
    Console.WriteLine(fileType);
}

這是顯示文件格式的上述代碼的輸出。

Bitmap Image File (.bmp)
Comma Separated Values File (.csv)
Excel Binary Spreadsheet (.xlsb)
Excel Macro-Enabled Add-In (.xlam)
Excel Open XML Macro-Enabled Spreadsheet (.xlsm)
Excel Open XML Macro-Enabled Spreadsheet Template (.xltm)
Excel Open XML Spreadsheet (.xlsx)
Excel Open XML Spreadsheet Template (.xltx)
Excel Spreadsheet (.xls)
Excel Template File (.xlt)
Hypertext Markup Language File (.html)
JPEG Image (.jpeg)
LaTeX Source Document (.tex)
MHTML Web Archive (.mht)
MIME HTML File (.mhtml)
OneNote Document (.one)
Open eBook File (.epub)
OpenDocument Document Template (.ott)
OpenDocument Presentation (.odp)
OpenDocument Presentation Template (.otp)
OpenDocument Spreadsheet (.ods)
OpenDocument Text Document (.odt)
Plain Text File (.txt)
Portable Document Format File (.pdf)
Portable Network Graphic (.png)
PostScript File (.ps)
PowerPoint Open XML Presentation (.pptx)
PowerPoint Open XML Slide Show (.ppsx)
PowerPoint Presentation (.ppt)
PowerPoint Slide Show (.pps)
Rich Text Format File (.rtf)
Tab Separated Values File (.tsv)
Visio Drawing (.vsdx)
Visio Drawing Template (.vstx)
Visio Drawing XML File (.vdx)
Visio Macro-Enabled Drawing (.vsdm)
Visio Macro-Enabled Drawing Template (.vstm)
Visio Macro-Enabled Stencil File (.vssm)
Visio Stencil File (.vssx)
Visio Stencil XML File (.vsx)
Visio Template XML File (.vtx)
Word Document (.doc)
Word Document Template (.dot)
Word Open XML Document (.docx)
Word Open XML Document Template (.dotx)
Word Open XML Macro-Enabled Document (.docm)
Word Open XML Macro-Enabled Document Template (.dotm)
XML Paper Specification File (.xps)

了解有關 .NET Merger API 的更多信息

如果您想了解有關 GroupDocs 的 .NET Merger API 的更多信息,請訪問 文檔 或在 論壇 上聯繫我們以了解任何疑問。

謝謝。

也可以看看