🌞 連日の猛暑、皆さまいかがお過ごしでしょうか。
照りつける日差しにエネルギーを奪われがちなこの季節、少しでも効率よく、そしてスマートに仕事をこなしたい——そんな想いを抱いている方も多いのではないでしょうか。
そんなときこそ活用したいのが、Adobeの Acrobat Services API。
Adobe Acrobat Servicesの Document Generation API を使うと、WordテンプレートからPDFを自動生成できます。本記事では画像の出力について、単一画像の出力から複数画像の繰り返し出力する方法についてご紹介します。
Document Generation APIの使い方については以前記事を書いておりますので、こちらも参考になりましたら幸いです。
前提
- Acrobat ServicesのAPIキーが取得済であること
- Microsoft WordにDocument Generation Tagger (Add-in)が追加されていること
Document Generation APIの概要は公式ドキュメントをご参照ください。
1. 単一画像を出力する方法
JSONデータ
ここでは以下のようなデータをサンプルとして使用します。
{
"name": "犬",
"thumbnail": "https://example.com/thumbnail/dog.jpg"
}
画像はURLでも、Base64でもOKです。
Wordテンプレートの設定
Wordでテンプレートを作成します。Document Generation Taggerを使って、JSONデータを張り付けた後、Generate Tagでタグを生成します。
AdvancedタブのImagesからJSONデータの画像に相当するデータ(この場合"thumbnail")を選択して、"Insert Image"をクリックすると、画像のプレイスホルダ―が配置されます。
プレイスホルダ―の大きさを変えることで、実際の画像の大きさも変わります。
補足ですが、Document Generation Taggerを使わずに自前で用意したプレイスホルダ―となる画像を用意して、その代替テキストに以下のように設定することもできます。
サンプルコード
サンプルコードはこちらをご参照ください。
出力
2. 配列の複数画像を出力する方法
JSONデータ
繰り返しとなるデータにキーが設定されている(下の例の場合"animals")必要があります。
{
"animals":[
{
"name": "犬",
"thumbnail": "https://example.com/thumbnail/dog.png"
},
{
"name": "猫",
"thumbnail": "https://example.com/thumbnail/cat.png"
},
{
"name": "鳥",
"thumbnail": "https://example.com/thumbnail/bird.png"
},
{
"name": "猿",
"thumbnail": "https://example.com/thumbnail/monkey.png"
}
]
}
Wordテンプレートの設定
ここでは表形式でthumbnailとnameをそれぞれ出力します。テンプレートの作成に利用できるタグについてはこちらをご覧ください。
このとき、画像の代替テキストに画像データのKeyが次のように設定されるようにします。