Chỉnh sửa siêu dữ liệu của tệp PDF bằng C#

Siêu dữ liệu là danh thiếp của một tài liệu kỹ thuật số cụ thể bao gồm một tập hợp các thuộc tính. Các thuộc tính này chứa thông tin cơ bản về tài liệu như tiêu đề, tác giả, chủ đề, từ khóa, v.v. Nền tảng siêu dữ liệu mở rộng (XMP) là định dạng dựa trên XML cho phép lưu siêu dữ liệu tài liệu theo cặp khóa/giá trị. Chúng tôi có thể thêm/chỉnh sửa thông tin tài liệu và siêu dữ liệu XMP trong tài liệu PDF theo chương trình. Trong bài viết này, chúng ta sẽ tìm hiểu cách chỉnh sửa siêu dữ liệu của tệp PDF bằng C#.

Các chủ đề sau đây sẽ được đề cập trong bài viết này:

API C# để chỉnh sửa siêu dữ liệu của tệp PDF

Để chỉnh sửa thông tin siêu dữ liệu trong tài liệu PDF, chúng tôi sẽ sử dụng Aspose.PDF for .NET API. Nó cho phép chúng tôi tạo, sửa đổi, chuyển đổi, hiển thị, bảo mật và in tài liệu được hỗ trợ mà không cần sử dụng Adobe Acrobat. Vui lòng tải xuống DLL của API hoặc cài đặt nó bằng NuGet.

PM> Install-Package Aspose.Pdf

Chỉnh sửa siêu dữ liệu của tệp PDF trong C#

Chúng tôi có thể chỉnh sửa thông tin tài liệu PDF bằng cách sử dụng lớp DocumentInfo đại diện cho siêu thông tin của tài liệu PDF. Chúng ta có thể đặt nhiều [thuộc tính] được xác định trước khác nhau 14 bằng cách thực hiện theo các bước dưới đây:

  1. Đầu tiên, tải tài liệu PDF bằng lớp Tài liệu.
  2. Tiếp theo, tạo một thể hiện của lớp DocumentInfo với đối tượng lớp Document làm đối số.
  3. Sau đó, đặt các thuộc tính khác nhau như Tác giả, Ngày tạo, Từ khóa, Chủ đề, Tiêu đề, v.v.
  4. Cuối cùng, lưu tệp PDF bằng phương thức Document.Save() với đường dẫn tệp đầu ra làm đối số.

Mẫu mã sau đây cho biết cách chỉnh sửa siêu dữ liệu của tệp PDF bằng C#.

// Ví dụ mã này trình bày cách đặt thông tin cơ bản của tài liệu PDF.
// Mở tài liệu
Document pdfDocument = new Document("C:\\Files\\PDF\\sample.pdf");

// Khởi tạo đối tượng DocumentInfo
DocumentInfo docInfo = new DocumentInfo(pdfDocument);

// Chỉ định thuộc tính thông tin tài liệu
docInfo.Author = "Aspose";
docInfo.CreationDate = DateTime.Now;
docInfo.Keywords = "Aspose.Pdf, DOM, API";
docInfo.ModDate = DateTime.Now;
docInfo.Subject = "PDF Information";
docInfo.Title = "Setting PDF Document Information";

// Lưu tài liệu
pdfDocument.Save("C:\\Files\\PDF\\sample_metadata.pdf");
Chỉnh sửa siêu dữ liệu của tệp PDF trong C#.

Chỉnh sửa siêu dữ liệu của tệp PDF trong C#.

Nhận siêu dữ liệu của tệp PDF bằng C#

Chúng ta có thể đọc thông tin cơ bản của tài liệu PDF bằng cách thực hiện theo các bước dưới đây:

  1. Đầu tiên, tải tài liệu PDF bằng lớp Tài liệu.
  2. Tiếp theo, tạo một thể hiện của lớp DocumentInfo với đối tượng lớp Document làm đối số.
  3. Cuối cùng, hiển thị thông tin tài liệu bằng cách đọc các giá trị của thuộc tính siêu dữ liệu.

Mẫu mã sau đây cho biết cách lấy siêu dữ liệu của tệp PDF bằng C#.

// Ví dụ mã này trình bày cách lấy thông tin cơ bản của tài liệu PDF.
// Mở tài liệu
Document pdfDocument = new Document("C:\\Files\\PDF\\sample_metadata.pdf");

// Nhận thông tin tài liệu
DocumentInfo docInfo = pdfDocument.Info;

// Hiển thị thông tin tài liệu
Console.WriteLine("Author: {0}", docInfo.Author);
Console.WriteLine("Creation Date: {0}", docInfo.CreationDate);
Console.WriteLine("Keywords: {0}", docInfo.Keywords);
Console.WriteLine("Modify Date: {0}", docInfo.ModDate);
Console.WriteLine("Subject: {0}", docInfo.Subject);
Console.WriteLine("Title: {0}", docInfo.Title);
Author: Aspose
Creation Date: 2/9/2022 9:47:00 AM
Keywords: Aspose.Pdf, DOM, API
Modify Date: 2/9/2022 9:47:00 AM
Subject: PDF Information
Title: Setting PDF Document Information

Nhận siêu dữ liệu XMP của tệp PDF bằng C#

Chúng tôi có thể đọc siêu dữ liệu XMP của tài liệu PDF bằng cách thực hiện theo các bước dưới đây:

  1. Đầu tiên, tải tài liệu PDF bằng lớp Tài liệu.
  2. Cuối cùng, đọc thuộc tính Siêu dữ liệu và trích xuất thông tin.

Mẫu mã sau đây cho biết cách lấy siêu dữ liệu XMP của tệp PDF bằng C#.

// Ví dụ về mã này trình bày cách lấy siêu dữ liệu XMP của tài liệu PDF.
// Mở tài liệu
Document pdfDocument = new Document("C:\\Files\\PDF\\sample_xmp.pdf");

// Hiển thị thông tin XMP
Console.WriteLine("xmp:CreateDate : " + pdfDocument.Metadata["xmp:CreateDate"]);
Console.WriteLine("xmp:Nickname : " + pdfDocument.Metadata["xmp:Nickname"]);
Console.WriteLine("xmp:CustomProperty : " + pdfDocument.Metadata["xmp:CustomProperty"]);
xmp:CreateDate: 2022-02-09T08:57:00.7+05:00
xmp:Nickname: Nickname
xmp:CustomProperty: Custom Value

Đặt siêu dữ liệu XMP trong tệp PDF bằng C#

Chúng ta có thể đặt siêu dữ liệu XMP trong tệp PDF bằng thuộc tính Siêu dữ liệu của lớp Tài liệu bằng cách thực hiện theo các bước được đưa ra bên dưới:

  1. Đầu tiên, tải tài liệu PDF bằng lớp Tài liệu.
  2. Tiếp theo, đặt giá trị siêu dữ liệu bằng thuộc tính Siêu dữ liệu.
  3. Cuối cùng, lưu tệp PDF bằng phương thức Document.Save() với đường dẫn tệp đầu ra làm đối số.

Mẫu mã sau đây cho biết cách đặt siêu dữ liệu XMP của tệp PDF bằng C#.

// Ví dụ mã này trình bày cách đặt siêu dữ liệu XMP của tài liệu PDF.
// Mở tài liệu
Document pdfDocument = new Document("C:\\Files\\PDF\\sample.pdf");

// Đặt thuộc tính
pdfDocument.Metadata["xmp:CreateDate"] = DateTime.Now;
pdfDocument.Metadata["xmp:Nickname"] = "Nickname";
pdfDocument.Metadata["xmp:CustomProperty"] = "Custom Value";

// Lưu tài liệu
pdfDocument.Save("C:\\Files\\PDF\\sample_xmp.pdf");

Tùy chỉnh không gian tên siêu dữ liệu XMP trong tệp PDF

Chúng tôi cũng có thể đặt URI không gian tên tùy chỉnh thay vì thông số XMP đã xác định trong tệp PDF. Với mục đích này, API cung cấp phương thức RegisterNamespaceUri trong lớp Siêu dữ liệu. Chúng ta có thể tạo một không gian tên siêu dữ liệu mới có tiền tố bằng cách thực hiện theo các bước dưới đây:

  1. Đầu tiên, tải tài liệu PDF bằng lớp Tài liệu.
  2. Tiếp theo, gọi phương thức RegisterNamespaceUri với tiền tố và URI vùng tên làm đối số.
  3. Sau đó, đặt giá trị siêu dữ liệu bằng thuộc tính Siêu dữ liệu.
  4. Cuối cùng, lưu tệp PDF bằng phương thức Document.Save() với đường dẫn tệp đầu ra làm đối số.

Mẫu mã sau đây cho biết cách đặt không gian tên siêu dữ liệu tùy chỉnh trong tệp PDF bằng C#.

// Ví dụ về mã này trình bày cách đặt URI vùng tên tùy chỉnh trong tài liệu PDF.
// Mở tài liệu
Document pdfDocument = new Document("C:\\Files\\PDF\\sample.pdf");

// Đặt thuộc tính
pdfDocument.Metadata.RegisterNamespaceUri("myown", "http:// myown.xyz.com/xap/1.0/");
pdfDocument.Metadata["myown:ModifyDate"] = DateTime.Now;
pdfDocument.Metadata["myown:CreateDate"] = DateTime.Now;
pdfDocument.Metadata["myown:DeveloperName"] = "Developer Name";
pdfDocument.Metadata["myown:MyProperty"] = "My Custom Value";


// Lưu tài liệu
pdfDocument.Save("C:\\Files\\PDF\\sample_myown.pdf");

Chúng ta có thể đọc các thuộc tính siêu dữ liệu XMP tùy chỉnh bằng cách làm theo các bước được đề cập trước đó.

myown:ModifyDate: 2022-02-09T10:38:26.8+05:00
myown:CreateDate: 2022-02-09T10:38:26.8+05:00
myown:DeveloperName: Developer Name
myown:MyProperty: My Custom Value

Nhận giấy phép API miễn phí

Bạn có thể dùng thử API mà không bị giới hạn đánh giá bằng cách yêu cầu giấy phép tạm thời miễn phí.

Phần kết luận

Trong bài viết này, chúng ta đã học được cách:

  • thêm/chỉnh sửa thông tin cơ bản của tài liệu PDF bằng C#;
  • đặt/lấy siêu dữ liệu XMP trong tệp PDF bằng C#;
  • đặt URI không gian tên siêu dữ liệu tùy chỉnh bằng tiền tố.

Ngoài ra, bạn có thể tìm hiểu thêm về Aspose.PDF for .NET API bằng tài liệu. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn.

Xem thêm