PHP で REST API を使用して PDF ドキュメントに注釈を付ける

注釈は、文書の特定の部分に関する追加情報を提供します。注釈を使用して、ドキュメントにフィードバックやレビューをマークアップできます。画像、コメント、メモ、その他の種類の外部コメントを注釈として PDF ドキュメントに追加できます。この記事では、PHP の REST API を使用して PDF ドキュメントに注釈を付ける方法を学びます。

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

PDF 注釈 REST API および PHP SDK

PDF ドキュメントに注釈を付けるには、GroupDocs.Annotation Cloud の PHP SDK API を使用します。注釈、透かしオーバーレイ、テキスト置換、墨消し、テキスト マークアップを サポートされている文書形式 に追加できます。コンソールで次のコマンドを使用してインストールしてください。

composer require groupdocscloud/groupdocs-annotation-cloud

インストール後、以下に示すように Composers の autoload を使用して SDK を使用してください。

require_once('vendor/autoload.php');

上記の手順に従う前に、ダッシュボードからクライアント ID とシークレットを取得してください。 ID とシークレットを取得したら、以下に示すようにコードを追加します。

// このコード例は、コードにクライアント ID とシークレットを追加する方法を示しています。
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';

static $ApiBaseUrl = 'https://api.groupdocs.cloud';
static $MyStorage = '';

// 設定の初期化
$configuration = new GroupDocs\Annotation\Configuration();

// 構成の設定
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);

PHP の REST API を使用して PDF ドキュメントに注釈を付ける

以下に示す簡単な手順に従って、クラウド上の PDF ドキュメントに注釈を付けることができます。

  1. PDFファイルをクラウドにアップロード
  2. PDF ドキュメントに注釈を付ける
  3. 注釈付きファイルをダウンロード

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

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

// このコード例は、PDF ファイルをクラウドにアップロードする方法を示しています。
// APIのインスタンスを初期化する
$apiInstance = new GroupDocs\Annotation\FileApi($configuration);

// ファイルパス
$file = "C:\\Files\\Annotation\\sample.pdf";

// アップロードファイルリクエストの作成
$request = new GroupDocs\Annotation\Model\Requests\UploadFileRequest("sample.pdf", $file, self::$MyStorage, null);

// ファイルをアップロードする
$response = $apiInstance->uploadFile($request);

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

PHP を使用して PDF ドキュメントに注釈を付ける

次に、以下の手順に従って、アップロードされた PDF ドキュメントにプログラムで複数の注釈を追加します。

  • まず、AnnotateApi のインスタンスを作成します。
  • 次に、位置、タイプ、テキストなどの注釈プロパティを設定します。
  • 次に、上記の手順を繰り返して複数の注釈を追加します。
  • 次に、入力ファイルのパスを指定します。
  • 次に、AnnotateOptions オブジェクトを初期化し、出力ファイルのパスを設定します。
  • その後、AnnotateOptions を引数として AnnotateRequest を作成します。
  • 最後に、AnnotateApi.annotate() メソッドを使用して PDF に注釈を付けます。

次のコード サンプルは、PHP の REST API を使用して PDF ドキュメントに複数の注釈を追加する方法を示しています。

// このコード例は、PDF に複数の注釈を追加する方法を示しています。
// AnnotationAPIインスタンスを初期化する
$apiInstance = new GroupDocs\Annotation\注釈を付けるApi($configuration);

// 距離の注釈を追加する
$a = new GroupDocs\Annotation\Model\AnnotationInfo();
$pt = new GroupDocs\Annotation\Model\Point();
$pt->setX(1);
$pt->setY(1);
$a->setAnnotationPosition($pt);
$box = new GroupDocs\Annotation\Model\Rectangle();
$box->setX(100);
$box->setY(100);
$box->setWidth(200);
$box->setHeight(100);
$a->setBox($box);
$a->setPageNumber(0);
$a->setPenColor(1201033);
$a->setPenStyle(GroupDocs\Annotation\Model\AnnotationInfo::PEN_STYLE_SOLID);
$a->setPenWidth(1);
$a->setOpacity(0.7);
$a->setType(GroupDocs\Annotation\Model\AnnotationInfo::TYPE_DISTANCE);
$a->setText("This is distance annotation");
$a->setCreatorName("Anonym A.");  

// エリアの注釈を追加する
$a1 = new GroupDocs\Annotation\Model\AnnotationInfo();
$pt1 = new GroupDocs\Annotation\Model\Point();
$pt1->setX(1);
$pt1->setY(1);
$a1->setAnnotationPosition($pt1);
$box1 = new GroupDocs\Annotation\Model\Rectangle();
$box1->setX(80);
$box1->setY(400);
$box1->setWidth(200);
$box1->setHeight(100);
$a1->setBox($box1);
$a1->setPageNumber(0);
$a1->setPenColor(1201033);
$a1->setPenStyle(GroupDocs\Annotation\Model\AnnotationInfo::PEN_STYLE_SOLID);
$a1->setPenWidth(1);
$a1->setOpacity(0.7);
$a1->setType(GroupDocs\Annotation\Model\AnnotationInfo::TYPE_AREA);
$a1->setText("This is area annotation");
$a1->setCreatorName("Anonym A.");   

// ポイントの注釈を追加する
$a2 = new GroupDocs\Annotation\Model\AnnotationInfo();
$pt2 = new GroupDocs\Annotation\Model\Point();
$pt2->setX(100);
$pt2->setY(100);
$a2->setAnnotationPosition($pt2);
$box2 = new GroupDocs\Annotation\Model\Rectangle();
$box2->setX(450);
$box2->setY(150);
$box2->setWidth(100);
$box2->setHeight(30);
$a2->setBox($box2);
$a2->setPageNumber(0);
$a2->setOpacity(0.7);
$a2->setType(GroupDocs\Annotation\Model\AnnotationInfo::TYPE_POINT);
$a2->setText("This is point annotation");
$a2->setCreatorName("Anonym A.");  

// 矢印の注釈を追加する
$a3 = new GroupDocs\Annotation\Model\AnnotationInfo();
$pt3 = new GroupDocs\Annotation\Model\Point();
$pt3->setX(1);
$pt3->setY(1);
$a3->setAnnotationPosition($pt3);
$box3 = new GroupDocs\Annotation\Model\Rectangle();
$box3->setX(350);
$box3->setY(350);
$box3->setWidth(200);
$box3->setHeight(100);
$a3->setBox($box3);
$a3->setPageNumber(0);
$a3->setPenColor(1201033);
$a3->setPenStyle(GroupDocs\Annotation\Model\AnnotationInfo::PEN_STYLE_SOLID);
$a3->setPenWidth(1);
$a3->setOpacity(0.7);
$a3->setType(GroupDocs\Annotation\Model\AnnotationInfo::TYPE_ARROW);
$a3->setText("This is arrow annotation");
$a3->setCreatorName("Anonym A.");  

// 入力ファイルパス
$fileInfo = new GroupDocs\Annotation\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// 注釈オプションを定義する
$options = new GroupDocs\Annotation\Model\注釈を付けるOptions();
$options->setFileInfo($fileInfo);
$options->setAnnotations([$a, $a1, $a2, $a3]);
$options->setOutputPath("MultipleAnnotation.pdf");

// 注釈リクエストの作成
$request = new GroupDocs\Annotation\Model\Requests\annotateRequest($options);

// 注釈を付ける
$result = $apiInstance->annotate($request);
echo "AddMultipleAnnotations: Multiple Annotations added: " . $result->getHref();
PHP を使用して PDF ドキュメントに注釈を付ける

PHP を使用して PDF ドキュメントに注釈を付けます。

サポートされている注釈タイプの詳細については、ドキュメントの 注釈の追加 セクションを参照してください。

注釈付きファイルをダウンロードする

上記のコード サンプルは、注釈付き PDF ファイルをクラウド上に保存します。次のコードサンプルを使用してダウンロードできます。

// このコード例は、クラウドから PDF ファイルをダウンロードする方法を示しています。
// API のインスタンスの初期化
$apiInstance = new GroupDocs\Annotation\FileApi($configuration);

// ダウンロードファイルリクエストの作成
$request = new GroupDocs\Annotation\Model\Requests\DownloadFileRequest("MultipleAnnotation.pdf", self::$MyStorage, null);

// ダウンロードファイル
$response = $apiInstance->downloadFile($request);

以下の手順に従って、PDF ドキュメントにハイパーリンクの注釈を追加することもできます。

  • まず、AnnotateApi のインスタンスを作成します。
  • 次に、位置、テキストなどの注釈プロパティを設定します。
  • 次に、注釈タイプをリンクとして設定します。
  • 次に、入力ファイルのパスを指定します。
  • 次に、AnnotateOptions オブジェクトを初期化し、出力ファイルのパスを設定します。
  • その後、AnnotateOptions を引数として AnnotateRequest を作成します。
  • 最後に、AnnotateApi.annotate() メソッドを使用して PDF に注釈を付けます。

次のコード サンプルは、REST API を使用して PDF ドキュメントにハイパーリンク注釈を追加する方法を示しています。前述の手順に従ってファイルをアップロードおよびダウンロードしてください。

// このコード例は、PDF にリンク注釈を追加する方法を示しています。
// AnnotationAPIインスタンスを初期化する
$apiInstance = new GroupDocs\Annotation\注釈を付けるApi($configuration);

// リンクの注釈を追加する
$a = new GroupDocs\Annotation\Model\AnnotationInfo();
$pt1 = new GroupDocs\Annotation\Model\Point();
$pt1->setX(80);
$pt1->setY(710);
$pt2 = new GroupDocs\Annotation\Model\Point();
$pt2->setX(240);
$pt2->setY(710);		
$pt3 = new GroupDocs\Annotation\Model\Point();
$pt3->setX(80);
$pt3->setY(650);		
$pt4 = new GroupDocs\Annotation\Model\Point();
$pt4->setX(240);
$pt4->setY(650);		
$a->setPoints([$pt1, $pt2, $pt3, $pt4]);
$a->setUrl("https://www.groupdocs.com/");
$a->setPageNumber(0);
$a->setFontColor(1201033);
$a->setType(GroupDocs\Annotation\Model\AnnotationInfo::TYPE_LINK);
$a->setText("This is link annotation");
$a->setCreatorName("Anonym A.");   

// 入力ファイルパス
$fileInfo = new GroupDocs\Annotation\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// 注釈オプションを定義する
$options = new GroupDocs\Annotation\Model\注釈を付けるOptions();
$options->setFileInfo($fileInfo);
$options->setAnnotations([$a]);
$options->setOutputPath("AddLinkAnnotation.pdf");

// 注釈リクエストの作成
$request = new GroupDocs\Annotation\Model\Requests\annotateRequest($options);

// 注釈を付ける
$result = $apiInstance->annotate($request);
echo "AddLinkAnnotation: Link Annotation added: " . $result->getHref();
PHP を使用してリンク アノテーションで注釈を付けます。

PHP を使用してリンク アノテーションで注釈を付けます。

PHPを使用して画像アノテーションを追加する

前述の手順に従って、PDF ドキュメントに画像の注釈を追加できます。ただし、以下に示すように、注釈のタイプを画像に設定する必要があるだけです。

$a->setType(GroupDocs\Annotation\Model\AnnotationInfo::TYPE_IMAGE);

次のコード サンプルは、PHP の REST API を使用して PDF ドキュメントに画像注釈を追加する方法を示しています。前述の手順に従ってファイルをアップロードおよびダウンロードしてください。

// このコード例は、PDF に画像注釈を追加する方法を示しています。
// AnnotationAPIインスタンスを初期化する
$apiInstance = new GroupDocs\Annotation\注釈を付けるApi($configuration);

// 画像の注釈を追加する
$a = new GroupDocs\Annotation\Model\AnnotationInfo();
$pt = new GroupDocs\Annotation\Model\Point();
$pt->setX(1);
$pt->setY(1);
$a->setAnnotationPosition($pt);
$box = new GroupDocs\Annotation\Model\Rectangle();
$box->setX(200);
$box->setY(0);
$box->setWidth(200);
$box->setHeight(100);
$a->setBox($box);
$a->setPageNumber(0);
$a->setImagePath("groupdocs.png");
$a->setPenStyle(GroupDocs\Annotation\Model\AnnotationInfo::PEN_STYLE_SOLID);
$a->setOpacity(0.7);
$a->setType(GroupDocs\Annotation\Model\AnnotationInfo::TYPE_IMAGE);
$a->setText("This is image annotation");
$a->setCreatorName("Anonym A.");   

// 入力ファイルパス
$fileInfo = new GroupDocs\Annotation\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// 注釈オプションを定義する
$options = new GroupDocs\Annotation\Model\注釈を付けるOptions();
$options->setFileInfo($fileInfo);
$options->setAnnotations([$a]);
$options->setOutputPath("AddImageAnnotation.pdf");

// 注釈リクエストの作成
$request = new GroupDocs\Annotation\Model\Requests\annotateRequest($options);

// 注釈を付ける
$result = $apiInstance->annotate($request);
echo "AddImageAnnotation: Image Annotation added: " . $result->getHref();
PHPを使用して画像アノテーションを追加します。

PHPを使用して画像アノテーションを追加します。

PHPを使用してテキストフィールドの注釈を追加する

前述の手順に従って、PDF ドキュメントにテキスト フィールドの注釈を追加することもできます。ただし、以下に示すように、注釈のタイプをテキスト フィールドに設定する必要があるだけです。

$a->setType(GroupDocs\Annotation\Model\AnnotationInfo::TYPE_TEXT_FIELD);

次のコード サンプルは、REST API を使用して PDF ドキュメントにテキスト フィールドの注釈を追加する方法を示しています。前述の手順に従ってファイルをアップロードおよびダウンロードしてください。

// このコード例は、PDF にテキスト フィールドの注釈を追加する方法を示しています。
// AnnotationAPIインスタンスを初期化する
$apiInstance = new GroupDocs\Annotation\注釈を付けるApi($configuration);

// TextField注釈を追加する
$a = new GroupDocs\Annotation\Model\AnnotationInfo();
$pt = new GroupDocs\Annotation\Model\Point();
$pt->setX(1);
$pt->setY(1);
$a->setAnnotationPosition($pt);
$box = new GroupDocs\Annotation\Model\Rectangle();
$box->setX(380);
$box->setY(300);
$box->setWidth(100);
$box->setHeight(50);
$a->setBox($box);
$a->setPageNumber(0);
$a->setFontColor(1201033);
$a->setFontSize(12);
$a->setOpacity(0.7);
$a->setType(GroupDocs\Annotation\Model\AnnotationInfo::TYPE_TEXT_FIELD);
$a->setText("Text field text");
$a->setCreatorName("Anonym A.");   

// 入力ファイルパス
$fileInfo = new GroupDocs\Annotation\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// 注釈オプションを定義する
$options = new GroupDocs\Annotation\Model\注釈を付けるOptions();
$options->setFileInfo($fileInfo);
$options->setAnnotations([$a]);
$options->setOutputPath("AddTextFieldAnnotation.pdf");

// 注釈リクエストの作成
$request = new GroupDocs\Annotation\Model\Requests\annotateRequest($options);

// 注釈を付ける
$result = $apiInstance->annotate($request);
echo "AddTextFieldAnnotation: Text Field Annotation added: " . $result->getHref();
PHPを使用してテキストフィールドの注釈を追加します。

PHPを使用してテキストフィールドの注釈を追加します。

オンラインで試す

上記の API を使用して開発された、次の無料のオンライン PDF 注釈ツールをお試しください。 https://products.groupdocs.app/annotation/pdf

結論

この記事では、次の方法を学びました。

  • PHP を使用して PDF に複数の注釈を追加します。
  • PHP で PDF にリンク、画像、テキスト フィールドの注釈を付けます。
  • プログラムで PDF ファイルをクラウドにアップロードします。
  • 注釈付きの PDF ファイルをクラウドからダウンロードします。

さらに、ドキュメント を使用して、GroupDocs.Annotation Cloud API について詳しく学ぶことができます。また、ブラウザーを通じて API を直接視覚化して操作できる API リファレンス セクションも提供しています。不明な点がある場合は、フォーラム でお気軽にお問い合わせください。

関連項目