Hôm nay, chúng ta sẽ học cách lập trình hợp nhất các tài liệu PDF, Word, bảng tính, bản trình bày bằng C#. Trong một bài đăng trước, chúng ta đã thấy hợp nhất và chia nhỏ tài liệu bằng Java.

hợp nhất nhiều tệp pdf, word, excel, ppt bằng csharp dotnet

Bài viết này cũng sẽ cho bạn thấy các ví dụ về mã liên quan đến:

Tôi sẽ sử dụng GroupDocs.Merger for .NET trong tất cả các ví dụ bên dưới. Trước khi tiếp tục, bạn có thể lấy API từ một trong các tùy chọn sau:

  • Cài đặt gói từ NuGet Packages Gallery.
  • Tải xuống the MSI or DLLs from the downloads section of GroupDocs.

Hợp nhất các tệp PDF trong C#

Sau 3 dòng mã đơn giản kết hợp 2 tệp PDF thành 1 tài liệu PDF.

  • Bắt đầu với tài liệu đầu tiên sử dụng lớp Sáp nhập.
  • Gọi phương thức Tham gia của lớp Hợp nhất và chuyển tài liệu thứ hai để hợp nhất.
  • Gọi phương thức Save để lưu tài liệu kết hợp.
// Merge 2 PDF files in C#
using (Merger merger = new Merger(@"document1.pdf"))
{
    merger.Join(@"document2.pdf");
    merger.Save(@"merged.pdf");
}

Phương thức Tham gia có một số phương thức quá tải cho phép hợp nhất tài liệu hoặc các trang chọn lọc của các tài liệu khác nhau qua đường dẫn tệp, sử dụng luồng hoặc URL từ xa.

Hợp nhất nhiều tài liệu Word trong C#

Đoạn mã tương tự trên cho phép kết hợp hai hoặc nhiều tệp định dạng MS Word và OpenDocument mà không làm mất định dạng. Chỉ cần đưa ra một ý tưởng, bạn có thể hợp nhất .doc, .docx, .docm, .dot, .dotx, .dotm, .rtf, .odt, .ott, v.v. Dưới đây là 3 mã lót hợp nhất hai tệp MS Word DOCX .

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

Hợp nhất các trang của nhiều tệp - C#

Không chỉ toàn bộ tài liệu mà chúng tôi còn có thể hợp nhất các trang chọn lọc từ nhiều tài liệu để có được một tài liệu kết hợp.

// 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);
}

Hợp nhất bảng tính, bản trình bày và các tài liệu khác trong C#

Cùng với các tài liệu như PDF và Word, chúng ta có thể hợp nhất các bài thuyết trình, bảng tính và nhiều định dạng khác mà không có cách nào khác. Chỉ cần thay đổi tên tệp và nhập mã ở trên cho phù hợp, bạn sẽ nhận được tài liệu được hợp nhất của mình.

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

Kiểm tra hỗ trợ định dạng tệp trước

Yêu cầu của bạn có thể thuộc loại tệp hơi khác một chút, vì vậy tốt hơn hết bạn nên biết trước rằng tài liệu được yêu cầu có được API hỗ trợ để hợp nhất hay không. Đoạn mã sau nhận tất cả các loại tệp được API Hợp nhất hỗ trợ.

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

Đây là đầu ra của đoạn mã trên hiển thị các định dạng tệp.

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)

Biết thêm về .NET Merger API

Trong trường hợp bạn muốn biết thêm về .NET Merger API của GroupDocs, vui lòng truy cập tài liệu hoặc liên hệ với chúng tôi trên diễn đàn nếu có bất kỳ thắc mắc nào.

Cảm ơn.

Xem thêm