Usage
How it works
The FormIt2PDF hook creates a PDF file with the submitted form values. The PDF
content can be set with the chunk referenced in pdfTextTpl. The PDF style can be
set with the chunk referenced in pdfStyleTpl. Both chunks can use placeholders
for each form field and a formit2pdf.formfields
placeholder for a combination
of all submitted form fields. The PDF file is attached to the mail sent with the
default FormIt email hook.
The FormIt hook uses the following properties. Most of the properties default to
the value of the according system setting in the formit2pdf
namespace.
Hook Properties
Property | Description | Default |
---|---|---|
pdfAuthor | Author of the PDF file | - |
pdfCreator | Creator of the PDF file | - |
pdfCustomFonts | JSON encoded object of custom fonts, see Fonts in the mPDF documentation for the array format. Please copy the font files to the folder referenced in the formit2pdf.customFontsFolder system setting. |
- |
pdfCustomFontsFolder | Path to the custom fonts folder. If the path is not set or available, formit2pdf.customFonts is not used. The {core_path}, {base_path} and {assets_path} placeholders can be used in this property. |
- |
pdfDefaultFont | Default font of the generated PDF | - |
pdfDefaultFontSize | Default font size of the generated PDF | - |
pdfFilename | Filename of the generated PDF | attachment.pdf |
pdfFormat | PDF page size. If you want to change the orientation of a "named" PDF page size you have to append -L to the PDF page size string (i.e. A4-L). | - |
pdfMPDFMethods | JSON encoded array of callable mPDF method names | - |
pdfMgb | Bottom Margin of the generated PDF | - |
pdfMgf | Footer Margin of the generated PDF | - |
pdfMgh | Header Margin of the generated PDF | - |
pdfMgl | Left Margin of the generated PDF | - |
pdfMgr | Right Margin of the generated PDF | - |
pdfMgt | Top Margin of the generated PDF | - |
pdfMode | mPDF mode. See mode parameter and choosing a configuration in the mPDF documentation for possible values. | - |
pdfMultiSeparator | The default separator for array values sent through checkboxes/multi-selects. Defaults to ’,’. | - |
pdfOrientation | PDF Orientation. If you want to change the orientation of a "named" PDF page size you have to append -L to the PDF page size string (i.e. A4-L). | - |
pdfOwnerPassword | Password for full access and permissions to the generated PDF | - |
pdfPermissions | JSON encoded array of permissions granted to the end-user of the PDF file. see permissions in the mPDF documentation for possible values. | - |
pdfStationery | Specify an external PDF file to use as a stationery in the generated PDF. The last page of the exernal PDF file will be repeated, when the generated PDF contains more pages than the external PDF file. The {core_path}, {base_path} and {assets_path} placeholders can be used in this property. | - |
pdfStyleTpl | Template chunk for the PDF style | tplFormIt2PDFStyle |
pdfTextTpl | Template chunk for the PDF text | tplFormIt2PDFText |
pdfTitle | Title of the PDF file | - |
pdfUserPassword | Password required to open the generated PDF | - |
System Settings
If you use the FormIt hook multiple on the website, it is easier to set the default snippet properties with the following system settings.
Key | Name | Description | Default |
---|---|---|---|
formit2pdf.author | PDF Author | Author of the PDF file. | - |
formit2pdf.creator | PDF Creator | Creator of the PDF file. | - |
formit2pdf.customFonts | Custom Fonts | JSON encoded object of custom fonts, see Fonts in the mPDF documentation for the array format. Please copy the font files to the folder referenced in the formit2pdf.customFontsFolder system setting. |
- |
formit2pdf.customFontsFolder | Custom Fonts Folder | Path to the custom fonts folder. If the path is not set or available, formit2pdf.customFonts is not used. The {core_path}, {base_path} and {assets_path} placeholders can be used in this setting. |
{core_path}components/customfonts/ |
formit2pdf.debug | Debug | Log debug information in the MODX error log. | No |
formit2pdf.defaultFont | PDF default font | Default font of the generated PDF. | - |
formit2pdf.defaultFontSize | PDF default font size | Default font size of the generated PDF. | - |
formit2pdf.format | PDF page size | If you want to change the orientation of a "named" PDF page size you have to append -L to the PDF page size string (i.e. A4-L). | A4 |
formit2pdf.mPDFMethods | mPDF Methods | JSON encoded array of callable mPDF method names. | [] |
formit2pdf.mgb | PDF margin bottom | Bottom Margin of the generated PDF. | 16 |
formit2pdf.mgf | PDF margin footer | Footer Margin of the generated PDF. | 9 |
formit2pdf.mgh | PDF margin header | Header Margin of the generated PDF. | 9 |
formit2pdf.mgl | PDF margin left | Left Margin of the generated PDF. | 15 |
formit2pdf.mgr | PDF margin right | Right Margin of the generated PDF. | 15 |
formit2pdf.mgt | PDF margin top | Top Margin of the generated PDF. | 16 |
formit2pdf.mode | mPDF mode | See mode parameter and choosing a configuration in the mPDF documentation for possible values. | - |
formit2pdf.orientation | PDF Orientation | If you want to change the orientation of a "named" PDF page size you have to append -L to the PDF page size string (i.e. A4-L). | P |
formit2pdf.ownerPassword | PDF Owner Password | Password for full access and permissions to the generated PDF. | - |
formit2pdf.permissions | PDF Permissions | JSON encoded array of permissions granted to the end-user of the PDF file. see permissions in the mPDF documentation for possible values. | [] |
formit2pdf.stationery | mPDF Stationery | Specify an external PDF file to use as a stationery in the generated PDF. The last page of the exernal PDF file will be repeated, when the generated PDF contains more pages than the external PDF file. The {core_path}, {base_path} and {assets_path} placeholders can be used in this setting. | - |
formit2pdf.styleTpl | PDF style chunk | Template chunk for the PDF style. You could use @FILE binding to retreive the chunk from a file. | tplFormIt2PDFStyle |
formit2pdf.textTpl | PDF Content Chunk | Template chunk for the PDF content. You could use @FILE binding to retreive the chunk from a file. | tplFormIt2PDFText |
formit2pdf.userPassword | PDF User Password | Password required to open the generated PDF. | - |