Tách một tệp PDF thành nhiều tệp bằng C#

Trong bài viết trước, bạn đã biết cách hợp nhất nhiều tệp PDF thành một tệp PDF duy nhất. Tuy nhiên, có thể xảy ra trường hợp bạn cần chia một tệp PDF thành nhiều tệp. Bạn có thể tách từng trang của PDF hoặc một tập hợp các trang thành nhiều tệp PDF. Trong bài viết này, bạn sẽ học cách đối phó với những tình huống như vậy và chia nhỏ tệp PDF bằng C#.

Split PDF C# API - Tải xuống miễn phí

Aspose.PDF for .NET là API thao tác tệp PDF mạnh mẽ cho phép bạn tạo, chỉnh sửa và xử lý tài liệu PDF từ bên trong các ứng dụng .NET của mình. Ngoài ra, API cho phép bạn chia một tệp PDF thành nhiều tệp với độ trung thực cao. Bạn có thể tải xuống DLL của API hoặc cài đặt nó bằng NuGet.

PM> Install-Package Aspose.Pdf

Tách tệp PDF bằng C#

Tiêu chí tách PDF có thể thay đổi theo yêu cầu của bạn. Bạn có thể chia tài liệu theo từng trang hoặc tập hợp các trang. Trước tiên, hãy xem cách chia từng trang của tệp PDF.

  • Tải tài liệu PDF bằng lớp Document.
  • Lặp lại bộ sưu tập Document.Pages để truy cập từng trang bằng lớp Page.
  • Trong mỗi lần lặp lại, hãy tạo một Document mới, thêm trang hiện tại vào tài liệu và lưu dưới dạng tệp PDF bằng phương pháp Document.Save(String).

Mẫu mã sau đây cho biết cách tách tài liệu PDF bằng C#.

// mở tài liệu
Document pdfDocument = new Document("merged.pdf");

// Đối với bộ đếm trang
int pageCount = 1;

// Lặp qua tất cả các trang
foreach (Aspose.Pdf.Page pdfPage in pdfDocument.Pages)
{
  	// Tạo một tài liệu mới
	Document newDocument = new Document();
  
  	// Thêm trang vào tài liệu
	newDocument.Pages.Add(pdfPage);
  
  	// Lưu dưới dạng PDF 
	newDocument.Save("page_" + pageCount + "_out" + ".pdf");
	pageCount++;
}

Tách các trang PDF đã chọn bằng C#

Bạn cũng có thể tách PDF bằng cách chỉ định phạm vi trang. Ví dụ: bạn có thể tách N trang đầu tiên hoặc số cuối cùng, các trang chẵn hoặc lẻ, v.v. Để minh họa, sau đây là các bước để tách các trang chẵn và lẻ khỏi PDF.

Mẫu mã sau đây cho biết cách tách một tập hợp các trang từ PDF.

// mở tài liệu
Document pdfDocument = new Document("merged.pdf"); 

// Chỉ chọn các trang chẵn
Aspose.Pdf.Page[] evenPages = pdfDocument.Pages.Where(x => x.Number % 2 == 0).ToArray();

// Chỉ chọn các trang lẻ
Aspose.Pdf.Page[] oddPages = pdfDocument.Pages.Where(x => x.Number % 2 != 0).ToArray();

// Lưu các trang chẵn dưới dạng PDF
Document newDocument = new Document();
newDocument.Pages.Add(evenPages);
newDocument.Save("split_even_Pages.pdf");

// Lưu các trang lẻ dưới dạng PDF
newDocument = new Document();
newDocument.Pages.Add(oddPages);
newDocument.Save("split_odd_Pages.pdf");

Sự kết luận

Trong bài viết này, bạn đã học cách chia nhỏ các tệp PDF bằng C#. Các mẫu mã trình bày cách tách từng trang hoặc tập hợp các trang trong PDF thành các tệp riêng biệt. Bạn có thể khám phá thêm về .NET PDF API bằng cách sử dụng tài liệu.

Xem thêm