ドキュメントAEMAEM チュートリアルAEM Forms のチュートリアル

AEM Forms の Forms Services を使用したインタラクティブ PDF のレンダリング

最終更新日: 2025年4月2日
  • 適用対象:
  • Experience Manager 6.4
  • Experience Manager 6.5
  • トピック:

作成対象:

  • 中級
  • 開発者

AEM Forms で Forms Service API を使用してインタラクティブ PDF をレンダリングする

この記事では、次のサービスに注目します。

  • FormsService - PDF ファイルとの間でデータの書き出し/読み込みを行えると共に、xml データを xdp テンプレートに結合してインタラクティブ PDF を生成できるようにする、非常に汎用性の高いサービスです。

AEM Forms API の公式の javadoc については、こちらを参照してください。

次のコードスニペットでは、FormsService の renderPDFForm 操作を使用してインタラクティブ PDF をレンダリングしています。schengen.xdp は、xml データの結合に使用されているテンプレートです。

String uri = "crx:///content/dam/formsanddocuments";
PDFFormRenderOptions renderOptions = new PDFFormRenderOptions();
renderOptions.setAcrobatVersion(AcrobatVersion.Acrobat_11);
renderOptions.setContentRoot(uri);
Document interactivePDF = null;
try {
interactivePDF = formsService.renderPDFForm("schengen.xdp", xmlData, renderOptions);
} catch (FormsServiceException e) {
 e.printStackTrace();
}
return interactivePDF;

1 行目:xdp テンプレートを含んだフォルダーの場所

2~4 行目:PDFFormRenderOptions を作成し、そのプロパティを設定します。

7 行目:FormsService の renderPDFForm サービス操作を使用して、インタラクティブ PDF を生成します。

11 行目:生成されたインタラクティブ PDF を呼び出し元のアプリケーションに返します

システム上のサンプルパッケージをテストするには:

  1. DevelopingWithServiceUserBundle をダウンロードしてインストールします。

  2. Felix web コンソールを使用して、DocumentServices サンプルバンドルをダウンロードしてインストールします。

  3. AEM パッケージマネージャーを使用して、パッケージをダウンロードしてインストールします。

  4. configMgr にログインします。

  5. Adobe Granite CSRF フィルターを検索します。

  6. 除外されたセクションに次のパスを追加して、保存します。

  7. /bin/generateinteractivepdf

  8. Apache Sling Service User Mapper Service を探し、クリックしてプロパティを開きます。

    1. + アイコン(プラス)をクリックして、次のサービスマッピングを追加します。
      • DevelopingWithServiceUser.core:getformsresourceresolver=fd-service
    2. 「保存」をクリック
  9. モバイルフォームを開く

  10. いくつかのフィールドに入力したあと、「ダウンロードして入力」ボタンをクリックします

  11. インタラクティブ PDF がローカルシステムにダウンロードされます。

サンプルパッケージには、モバイルフォームに関連付けられたカスタムプロファイルが含まれています。customtoolbar.jsp ファイルを調べてください。この jsp では、モバイルフォームからデータを抽出し、/bin/generateinteractivepdf パスにマウントされているサーブレットに POST リクエストを行います。このサーブレットは、呼び出し元のアプリケーションにインタラクティブ PDF を返します。次に、customtoolbar.jsp のコードにより、ファイルがローカルシステムにダウンロードされます。

recommendation-more-help
8de24117-1378-413c-a581-01e660b7163e