Fill PDF module を使用して編集可能なpdfを作成しようとしています。データソースはDrupal Webform送信です。これらの値をFillに指定していますPDF Webform Tokensモジュールのトークンを使用しています。また、Fill PDF Webform Rulesモジュール、これはまったく機能しません(PDFは生成されません)。
Webform Tokensモジュールを使用すると、部分的に成功します。PDFを取得して、Webフォームからユーザーが送信していない値(送信IDやWebフォームコンポーネントのラベルなど)を入力できます)が、ユーザーが送信した値は常に空白になります。次に例を示します。
/ admin/structure/fillpdf/[フォームID]/edit/[pdfkeyname]のPDF-Fieldキーの値フィールドに次のように入力します。
The SID of this submission is [webform:meta-sid].
The value of the form component titled [webform:meta-label-textmetest]
is [webform:val-textmetest].`
問題の投稿の場合、textmetest
フィールドの値は「glasstest」です。
/ fillpdf?fid = 53&webform [nid] = 4&webform [sid] = 10に戻ると、次のように表示されます
The SID of this submission is 10.
The value of the form component titled textmetest
is .
したがって、[webform:meta-sid]
トークンと[webform:meta-label-textmetest]
トークンは置き換えられますが、トークン[webform:val-textmetest]
は置き換えられません。
WebフォームのIDが実際に4、SIDが10、SID 10のtextmetestの値がglasstest、pdfのフォームIDが53であることを確認しました。
URLに存在しないSIDを使用すると(たとえば、/ fillpdf?fid = 53&webform [nid] = 4&webform [sid] = 99)、フィールドに次のように表示されるため、特定の送信にアクセスしようとしていることがわかります:The SID of this submission is . The value of the form component titled is .
、つまり、存在しない送信の場合、SIDとタイトルは入力されません。ただし、特定の送信の値を取得することはできません。
代わりにWebformルールを有効にしてみると、代わりにトークン[webform:sid]
、[webform:textmetest-value]
、および[webform:textmetest-title]
を使用します。これらは、WebformルールがPDFを埋めるために公開する対応するトークンですが、 PDF; 500内部サーバーエラーが発生します。
これを機能させる方法や、Webフォームの値を取得する別の方法について、何か提案はありますか?
問題は、Fill PDF 7.x-1.9がwebform_get_submission()を介してWebformから$ submission変数の構造が変更されたため、Webform 4では機能しないことです。参照 この投稿 説明とアドホックな修正。