文書メタデータは、文書内に保存される作成者、編集時刻などの文書に関する情報です。 C# 開発者は、PDF ドキュメントのメタデータ情報をクラウド上でプログラム的に簡単に編集できます。この記事では、C# の REST API を使用して PDF ファイルのメタデータを編集する方法を学習します。
この記事では次のトピックについて説明します。
ドキュメントのメタデータ操作 REST API と .NET SDK
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 パッケージをインストールすることもできます。
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ファイルをクラウドにアップロード
- C# を使用して 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);
}
次のコード スニペットは、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);
次のコード スニペットは、正規表現を使用して検索条件を定義し、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);
次のコード スニペットは、プロパティ値を指定してメタデータを更新する方法を示しています。
# 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);
更新されたファイルをダウンロードする
上記のコード サンプルでは、更新された 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 を視覚化して操作できるようになります。不明な点がある場合は、フォーラム でお気軽にお問い合わせください。