Siêu dữ liệu tài liệu là một phần thông tin về tài liệu như tác giả, thời gian chỉnh sửa, v.v. được lưu trữ bên trong tài liệu. Là nhà phát triển C#, bạn có thể dễ dàng chỉnh sửa thông tin siêu dữ liệu cho tài liệu PDF theo chương trình trên đám mây. Trong bài viết này, bạn sẽ tìm hiểu cách chỉnh sửa Siêu dữ liệu của tệp PDF bằng API REST trong C#.

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

Thao tác siêu dữ liệu tài liệu API REST và .NET SDK

groupdocsmetadata-for-cloud

Để chỉnh sửa siêu dữ liệu của tài liệu PDF, tôi sẽ sử dụng API .NET SDK của GroupDocs.Metadata Cloud. Nó cho phép bạn thêm, chỉnh sửa, truy xuất và xóa siêu dữ liệu khỏi hầu hết các định dạng tệp tiêu chuẩn của ngành. Bạn có thể thực hiện các thao tác như vậy trên PDF, Microsoft Word, bảng tính Excel, bản trình bày PowerPoint, email Outlook, Visio, OneNote, Project, âm thanh, video, AutoCAD, lưu trữ, JPEG, BMP, PNG và TIFF. Nó cũng cung cấp SDK Java dưới dạng các thành viên gia đình thao tác siêu dữ liệu tài liệu cho Cloud API.

Bạn có thể cài đặt GroupDocs.Metadata Cloud SDK cho .NET cho dự án Visual Studio của mình từ trình quản lý Gói NuGet như hình bên dưới:

Cài đặt GroupDocs.Metadata Cloud qua NuGet Package Manager

Cài đặt GroupDocs.Metadata Cloud qua NuGet Package Manager

Bạn cũng có thể cài đặt Gói NuGet bằng lệnh sau trong bảng điều khiển Trình quản lý gói:

Install-Package GroupDocs.Metadata-Cloud

Vui lòng lấy ID khách hàng và Bí mật khách hàng của bạn từ bảng điều khiển trước khi bạn bắt đầu làm theo các bước và ví dụ về mã có sẵn. Khi bạn có ID khách hàng và Bí mật, hãy thêm mã như hình bên dưới:

string clientID = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
string clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
string myStorage = "";

Configuration configuration = new Configuration(clientID, clientSecret);
configuration.ApiBaseUrl = "https://api.groupdocs.cloud";

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

Bạn có thể đặt siêu dữ liệu của tài liệu PDF bằng cách thực hiện theo các bước đơn giản dưới đây:

Tải lên tài liệu

Đầu tiên, tải tệp PDF lên Đám mây bằng mẫu mã được cung cấp bên dưới:

# khởi tạo api
FileApi fileApi = new FileApi(configuration);
string path = @"C:\Files";

var file = Directory.GetFiles(path, "input.pdf", SearchOption.AllDirectories).FirstOrDefault();
if (file.Length != 0)
{
    var relativeFilePath = file.Replace(path, string.Empty).Trim(Path.DirectorySeparatorChar);

    var fileStream = File.Open(file, FileMode.Open);

    fileApi.UploadFile(new UploadFileRequest(relativeFilePath, fileStream, myStorage));
    fileStream.Close();
}

Do đó, tệp PDF đã tải lên (input.pdf) sẽ có trong phần tệp trên trang tổng quan của bạn trên đám mây.

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

Bạn có thể cập nhật siêu dữ liệu của tệp PDF theo chương trình bằng cách thực hiện theo các bước dưới đây.

  • Tạo một phiên bản của MetadataApi
  • Đặt đường dẫn tệp PDF trong mô hình FileInfo
  • Xác định SetOptions
  • Cung cấp NewValue và Type cho SetPropert
  • Xác định SearchCriteria, cung cấp NameOptions để cập nhật giá trị
  • Tạo SetRequest với SetOptions
  • Nhận kết quả bằng cách gọi phương thức MetadataApi.Set()

Mẫu mã sau đây cho biết cách đặt siêu dữ liệu theo tên thuộc tính của tài liệu PDF bằng API REST.

# khởi tạo api
var apiInstance = new MetadataApi(configuration);

try
{
    var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
    {
        FilePath = "input.pdf",
        StorageName = myStorage
    };
    
    // Xác định tùy chọn cài đặt
    var options = new SetOptions
    {
        FileInfo = fileInfo,
        Properties = new List<SetProperty>
        {
            new SetProperty
            {
                NewValue = "hello",
                Type = "String",
                SearchCriteria = new SearchCriteria
                {
                    NameOptions = new NameOptions
                    {
                        Value = "Keywords"
                    }
                },
            }
        }
    };
    
    // Xác định yêu cầu đặt
    var request = new SetRequest(options);

    var response = apiInstance.Set(request);
    Console.WriteLine($"Count of changes: {response.SetCount}");
    Console.WriteLine("Resultant file path: " + response.Path);
}
catch (Exception e)
{
    Console.WriteLine("Exception while calling MetadataApi: " + e.Message);
}
Chỉnh sửa siêu dữ liệu của tài liệu PDF bằng API REST trong C#

Đặt siêu dữ liệu theo tên thuộc tính

Đoạn mã sau cho biết cách đối sánh tên thuộc tính chính xác bằng cách đặt thuộc tính Cụm từ chính xác thành True:

# khởi tạo api
var apiInstance = new MetadataApi(configuration);
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
    FilePath = "input.pdf",
    StorageName = myStorage
};

// Xác định tùy chọn cài đặt
var options = new SetOptions
{
    FileInfo = fileInfo,
    Properties = new List<SetProperty>
    {
        new SetProperty
        {
            NewValue = "This is title",
            Type = "String",
            SearchCriteria = new SearchCriteria
            {
                NameOptions = new NameOptions
                {
                    Value = "Title",
                    MatchOptions = new MatchOptions
                    {
                        ExactPhrase = true
                    }
                }
            },
        }
    }
};

// Xác định yêu cầu đặt
var request = new SetRequest(options);

var response = apiInstance.Set(request);
Chỉnh sửa Siêu dữ liệu bằng cách khớp tên thuộc tính chính xác trong Tài liệu PDF bằng API REST trong C#

Đặt siêu dữ liệu bằng cách khớp tên thuộc tính chính xác

Đoạn mã sau cho biết cách xác định tiêu chí tìm kiếm bằng cách sử dụng Biểu thức chính quy để cung cấp MatchOptions:

# khởi tạo api
var apiInstance = new MetadataApi(configuration);
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
    FilePath = "input.pdf",
    StorageName = myStorage
};

// Xác định tùy chọn cài đặt
var options = new SetOptions
{
    FileInfo = fileInfo,
    Properties = new List<SetProperty>
    {
        new SetProperty
        {
            NewValue = "new value",
            Type = "String",
            SearchCriteria = new SearchCriteria
            {
                NameOptions = new NameOptions
                {
                    Value = "^Tit.*",
                    MatchOptions = new MatchOptions
                    {
                        IsRegex = true
                    }
                }
            },
        }
    }
};

// Xác định yêu cầu đặt
var request = new SetRequest(options);

var response = apiInstance.Set(request);
Chỉnh sửa Siêu dữ liệu bằng cách khớp tên thuộc tính bằng Cụm từ thông dụng trong Tài liệu PDF bằng API REST trong C#

Đặt siêu dữ liệu bằng cách khớp tên thuộc tính với biểu thức chính quy

Đoạn mã sau cho biết cách cập nhật siêu dữ liệu bằng cách cung cấp giá trị thuộc tính:

# khởi tạo api
var apiInstance = new MetadataApi(configuration);
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
    FilePath = "input.pdf",
    StorageName = myStorage
};

// Xác định tùy chọn cài đặt
var options = new SetOptions
{
    FileInfo = fileInfo,
    Properties = new List<SetProperty>
    {
        new SetProperty
        {
            NewValue = "Simply set by Property Value",
            Type = "String",
            SearchCriteria = new SearchCriteria
            {
                ValueOptions = new ValueOptions
                {
                    Value = "Windows User",
                    Type = "String"
                }
            },
        }
    }
};

// Xác định yêu cầu đặt
var request = new SetRequest(options);

var response = apiInstance.Set(request);
Chỉnh sửa Siêu dữ liệu bằng cách khớp giá trị thuộc tính trong Tài liệu PDF bằng API REST trong C#

Đặt siêu dữ liệu bằng cách so khớp giá trị thuộc tính

Tải xuống tệp cập nhật

Các mẫu mã trên sẽ lưu tệp PDF đã cập nhật trên đám mây và có thể được tải xuống bằng mẫu mã sau:

# khởi tạo api
var fileApi = new FileApi(configuration);
var file = "metadata\\set_metadata\\input_pdf\\input.pdf";
var downloadRequest = new DownloadFileRequest(file, myStorage);

Stream downloadResponse = fileApi.DownloadFile(downloadRequest);
using (var fileStream = File.Create("C:\\Files\\sample_input.pdf"))
{
    downloadResponse.Seek(0, SeekOrigin.Begin);
    downloadResponse.CopyTo(fileStream);
}

Thử trực tuyến

Vui lòng dùng thử công cụ thao tác Siêu dữ liệu PDF trực tuyến miễn phí sau đây, được phát triển bằng cách sử dụng API ở trên.

https://products.groupdocs.app/metadata/pdf

Phần kết luận

Trong bài viết này, bạn đã học cách chỉnh sửa Siêu dữ liệu của tài liệu PDF trên đám mây. Bài viết này cũng giải thích cách lập trình tải tệp PDF lên đám mây rồi tải xuống tệp đã cập nhật từ đám mây. Bạn có thể tìm hiểu thêm về GroupDocs.Metadata Manipulation Cloud API bằng cách sử dụng tài liệu. Chúng tôi cũng cung cấp phần Tham chiếu API cho phép bạn hình dung và tương tác trực tiếp với các API của chúng tôi thông qua trình duyệt. 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