文書メタデータは、文書内に保存される作成者、編集時刻などの文書に関する情報です。 C# 開発者は、PDF ドキュメントのメタデータ情報をクラウド上でプログラム的に簡単に編集できます。この記事では、C# の REST API を使用して PDF ファイルのメタデータを編集する方法を学習します。

この記事では次のトピックについて説明します。

ドキュメントのメタデータ操作 REST API と .NET SDK

groupdocsクラウド用メタデータ

PDF ドキュメントのメタデータを編集するには、GroupDocs.Metadata Cloud の .NET SDK API を使用します。ほぼすべての業界標準のファイル形式からメタデータを追加、編集、取得、削除できます。このような操作は、PDF、Microsoft Word、Excel スプレッドシート、PowerPoint プレゼンテーション、Outlook 電子メール、Visio、OneNote、Project、オーディオ、ビデオ、AutoCAD、アーカイブ、JPEG、BMP、PNG、および TIFF に対して実行できます。また、クラウド API の ドキュメント メタデータ操作ファミリー メンバー として Java SDK も提供します。

以下に示すように、NuGet パッケージ マネージャーから Visual Studio プロジェクトに GroupDocs.Metadata Cloud SDK for .NET をインストールできます。

NuGet パッケージ マネージャーを介して GroupDocs.Metadata Cloud をインストールする

NuGet パッケージ マネージャーを介して GroupDocs.Metadata Cloud をインストールする

パッケージ マネージャー コンソールで次のコマンドを使用して、NuGet パッケージをインストールすることもできます。

Install-Package GroupDocs.Metadata-Cloud

手順と利用可能なコード例を開始する前に、ダッシュボード からクライアント ID とクライアント シークレットを取得してください。クライアント ID とシークレットを取得したら、以下に示すコードを追加します。

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

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

C# で REST API を使用して PDF ファイルのメタデータを編集する

以下の簡単な手順に従って、PDF ドキュメントのメタデータを設定できます。

ドキュメントをアップロードする

まず、以下のコードサンプルを使用して PDF ファイルをクラウドにアップロードします。

# 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();
}

その結果、アップロードされた PDF ファイル (input.pdf) は、クラウド上のダッシュボードの ファイル セクション で利用できるようになります。

C# を使用して PDF ファイルのメタデータを更新する

以下の手順に従って、PDF ファイルのメタデータをプログラムで更新できます。

  • MetadataApi のインスタンスを作成する
  • FileInfo モデルで PDF ファイルのパスを設定する
  • SetOptions の定義
  • SetPropert に NewValue と Type を指定します
  • SearchCriteria を定義し、値を更新する NameOptions を指定します。
  • SetOptions を使用して SetRequest を作成する
  • MetadataApi.Set() メソッドを呼び出して結果を取得します

次のコード サンプルは、REST API を使用して PDF ドキュメントのプロパティ名によってメタデータを設定する方法を示しています。

# APIの初期化
var apiInstance = new MetadataApi(configuration);

try
{
    var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
    {
        FilePath = "input.pdf",
        StorageName = myStorage
    };
    
    // セットオプションの定義
    var options = new SetOptions
    {
        FileInfo = fileInfo,
        Properties = new List<SetProperty>
        {
            new SetProperty
            {
                NewValue = "hello",
                Type = "String",
                SearchCriteria = new SearchCriteria
                {
                    NameOptions = new NameOptions
                    {
                        Value = "Keywords"
                    }
                },
            }
        }
    };
    
    // セットリクエストの定義
    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);
}
C# で REST API を使用して PDF ドキュメントのメタデータを編集する

プロパティ名によるメタデータの設定

次のコード スニペットは、ExactPhrase プロパティを True に設定して、正確なプロパティ名を一致させる方法を示しています。

# APIの初期化
var apiInstance = new MetadataApi(configuration);
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
    FilePath = "input.pdf",
    StorageName = myStorage
};

// セットオプションの定義
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
                    }
                }
            },
        }
    }
};

// セットリクエストの定義
var request = new SetRequest(options);

var response = apiInstance.Set(request);
C# の REST API を使用して PDF ドキュメント内の正確なプロパティ名と一致させてメタデータを編集する

正確なプロパティ名を照合してメタデータを設定する

次のコード スニペットは、正規表現を使用して検索条件を定義し、MatchOptions を提供する方法を示しています。

# APIの初期化
var apiInstance = new MetadataApi(configuration);
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
    FilePath = "input.pdf",
    StorageName = myStorage
};

// セットオプションの定義
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
                    }
                }
            },
        }
    }
};

// セットリクエストの定義
var request = new SetRequest(options);

var response = apiInstance.Set(request);
C# の REST API を使用して PDF ドキュメントの正規表現を使用してプロパティ名を照合してメタデータを編集する

プロパティ名を正規表現と照合してメタデータを設定する

次のコード スニペットは、プロパティ値を指定してメタデータを更新する方法を示しています。

# APIの初期化
var apiInstance = new MetadataApi(configuration);
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
    FilePath = "input.pdf",
    StorageName = myStorage
};

// セットオプションの定義
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"
                }
            },
        }
    }
};

// セットリクエストの定義
var request = new SetRequest(options);

var response = apiInstance.Set(request);
C# の REST API を使用して PDF ドキュメントのプロパティ値を照合してメタデータを編集する

プロパティ値の一致によるメタデータの設定

更新されたファイルをダウンロードする

上記のコード サンプルでは、更新された PDF ファイルがクラウドに保存され、次のコード サンプルを使用してダウンロードできます。

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

オンラインで試す

上記の API を使用して開発された、次の無料のオンライン PDF メタデータ操作ツールをお試しください。

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

結論

この記事では、クラウド上で PDF ドキュメントのメタデータを編集する方法を学習しました。この記事では、プログラムによって PDF ファイルをクラウドにアップロードし、更新されたファイルをクラウドからダウンロードする方法についても説明しました。 ドキュメント を使用すると、GroupDocs.Metadata Manipulation Cloud API についてさらに詳しく学ぶことができます。また、API リファレンス セクションも提供されており、ブラウザーを通じて直接 API を視覚化して操作できるようになります。不明な点がある場合は、フォーラム でお気軽にお問い合わせください。

関連項目