Định dạng PDF hỗ trợ thêm tệp đính kèm vào tệp PDF tương tự như tệp đính kèm trong email. Tệp đính kèm PDF có thể là TXT, DOCX, XLSX hoặc bất kỳ định dạng tài liệu nào khác. Trong bài viết này, bạn sẽ tìm hiểu cách triển khai một số tính năng thao tác với tệp đính kèm PDF cơ bản trong các ứng dụng .NET của mình. Đến cuối bài viết này, bạn sẽ có thể trích xuất, thêm hoặc xóa tệp đính kèm trong tệp PDF bằng lập trình bằng C#.
- API thao tác tệp đính kèm PDF - Tải xuống miễn phí
- Thêm tệp đính kèm vào PDF bằng C#
- Trích xuất tệp đính kèm PDF bằng C#
- Xóa tệp đính kèm khỏi PDF bằng C#
API thao tác tệp đính kèm PDF - Tải xuống miễn phí
Aspose.PDF for .NET là một API thao tác PDF nổi tiếng cho phép bạn xử lý các tệp PDF một cách liền mạch. Bạn có thể đọc, tạo, chỉnh sửa và chuyển đổi các tệp PDF cũng như thao tác với các tệp đính kèm PDF trong một vài bước. API có thể được tải xuống dưới dạng DLL hoặc MSI cũng như được cài đặt bằng NuGet.
Install-Package Aspose.Pdf
Thêm tệp đính kèm vào PDF bằng C#
Aspose.PDF for .NET cũng cho phép bạn thêm tệp đính kèm vào tệp PDF. Đối với điều này, bạn chỉ cần thêm tệp vào bộ sưu tập Document.EmbeddedFiles bằng cách sử dụng lớp FileSpecification. Sau đây là các bước để thêm tệp đính kèm vào tài liệu PDF.
- Tạo một tài liệu PDF mới bằng lớp Document.
- Tạo một thể hiện của lớp FileSpecification để tải tệp đính kèm.
- Sử dụng phương thức Document.EmbeddedFiles.Add(FileSpecification) để thêm tệp đính kèm.
- Lưu tài liệu bằng phương thức Document.Save(String).
Mẫu mã sau đây cho biết cách thêm tệp đính kèm vào tài liệu PDF bằng C#.
// Để biết các ví dụ đầy đủ và tệp dữ liệu, vui lòng truy cập https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// mở tài liệu
Document pdfDocument = new Document("document.pdf");
// Thiết lập tệp mới để được thêm dưới dạng tệp đính kèm
FileSpecification fileSpecification = new FileSpecification("test.txt", "Sample text file");
// Thêm tệp đính kèm vào bộ sưu tập tệp đính kèm của tài liệu
pdfDocument.EmbeddedFiles.Add(fileSpecification);
// Lưu đầu ra mới
pdfDocument.Save("output.pdf");
Trích xuất tệp đính kèm PDF bằng C#
Trước hết, hãy xem cách truy xuất tệp đính kèm từ tài liệu PDF. Đối với điều này, hãy làm theo các bước dưới đây:
- Tạo một thể hiện của lớp Document.
- Tải tệp đính kèm vào đối tượng EmbeddedFileCollection bằng thuộc tính Document.EmbeddedFiles.
- Lặp lại các tệp đính kèm trong EmbeddedFileCollection bằng đối tượng FileSpecification.
- Truy cập các thuộc tính của từng tệp đính kèm bằng đối tượng FileSpecification.
- Lưu tệp đính kèm dưới dạng tệp (nếu được yêu cầu).
Mẫu mã sau đây cho biết cách trích xuất tệp đính kèm PDF bằng C#.
// Để biết các ví dụ đầy đủ và tệp dữ liệu, vui lòng truy cập https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// mở tài liệu
Document pdfDocument = new Document("document.pdf");
// Nhận tệp nhúng cụ thể
foreach(FileSpecification fileSpecification in pdfDocument.EmbeddedFiles)
{
// Lấy thuộc tính tập tin
Console.WriteLine("Name: {0}", fileSpecification.Name);
Console.WriteLine("Description: {0}", fileSpecification.Description);
Console.WriteLine("Mime Type: {0}", fileSpecification.MIMEType);
// Kiểm tra xem đối tượng tham số có chứa tham số không
if (fileSpecification.Params != null)
{
Console.WriteLine("CheckSum: {0}",
fileSpecification.Params.CheckSum);
Console.WriteLine("Creation Date: {0}",
fileSpecification.Params.CreationDate);
Console.WriteLine("Modification Date: {0}",
fileSpecification.Params.ModDate);
Console.WriteLine("Size: {0}", fileSpecification.Params.Size);
}
// Nhận tệp đính kèm và ghi vào tệp hoặc luồng
byte[] fileContent = new byte[fileSpecification.Contents.Length];
fileSpecification.Contents.Read(fileContent, 0, fileContent.Length);
FileStream fileStream = new FileStream(fileSpecification.Name, FileMode.Create);
fileStream.Write(fileContent, 0, fileContent.Length);
fileStream.Close();
}
Xóa tệp đính kèm khỏi PDF bằng C#
Bạn có thể xóa tất cả hoặc một tệp đính kèm cụ thể khỏi tệp PDF. Đối với điều này, Aspose.PDF for .NET cung cấp các phương thức sau:
- Xóa bỏ() - Deletes all the attachments.
- Xóa (Tên tệp chuỗi) - Deletes attachment by name.
- DeleteByKey(Khóa chuỗi) - Deletes attachment by key in the collection.
Sau đây là các bước để xóa tệp đính kèm khỏi tệp PDF.
- Tạo một phiên bản của lớp Document để tải tệp PDF.
- Sử dụng Document.EmbeddedFiles.Delete()(hoặc phương pháp xóa khác) để xóa tệp đính kèm.
- Lưu tệp bằng phương thức Document.Save(String).
Mẫu mã sau đây cho biết cách xóa tệp đính kèm khỏi tệp PDF trong C#.
// Để biết các ví dụ đầy đủ và tệp dữ liệu, vui lòng truy cập https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// mở tài liệu
Document pdfDocument = new Document("document.pdf");
// Xóa tất cả các tệp đính kèm
pdfDocument.EmbeddedFiles.Delete();
// Lưu tệp đã cập nhật
pdfDocument.Save("output.pdf");
Sự kết luận
Trong bài viết này, bạn đã biết cách thao tác với các tệp đính kèm trong tài liệu PDF theo cách lập trình. Hướng dẫn từng bước, tham chiếu API và mẫu mã đã chỉ ra cách truy xuất, thêm và xóa tệp đính kèm trong tệp PDF bằng C#. Bạn có thể tìm hiểu thêm về Aspose.PDF for .NET bằng cách sử dụng tài liệu.