Creating a PDF template

Advantages of using PDF templates:

  • Can produce PDF files.

Disadvantages compared with text templates:

  • Produce larger documents.
  • More difficulty maintaining the templates over time.
  • More time is needed to create the document (especially when the PDF optimization configuration parameter is enabled).

You can create PDF template forms using several applications:

Every PDF form field name needs to be unique; you cannot set the same property value for several form fields.

Preliminaries

Register the Metadata group definition at Administration > Metadata.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE property-groups PUBLIC "-//OpenKM//DTD Property Groups 3.10//EN"
                                 "http://www.openkm.com/dtd/property-groups-3.10.dtd">
<property-groups>
  <property-group label="Sample Template" name="okg:tpl">
    <input label="Name" name="okp:tpl.name"/>
    <input label="Birth Date" name="okp:tpl.birth_date" type="date"/>
    <select label="Language" name="okp:tpl.language" type="simple">
      <option label="Java" value="java"/>
      <option label="Python" value="python"/>
      <option label="PHP" value="php" />
    </select>
    <checkbox label="Important" name="okp:tpl.important"/>
  </property-group>
</property-groups>

To establish a relationship between the template form fields and the property group, name them using a naming convention: replace ":" and "." with "_". Here you can see the matching between both fields:

Metadata field nameTemplate field nameTemplate field value

okp:tpl.name

okp_tpl_name

${okp_tpl_name!}

okp:tpl.birth_date

okp_tpl_birth_date

${okp_tpl_birth_date!}

okp:tpl.language

okp_tpl_language

${okp_tpl_language!}

okp:tpl.important

okp_tpl_important

${okp_tpl_important!}

Creating the template

We recommend using Acrobat Pro or Master PDF Editor to avoid problems.

 This is a sample template created with Master PDF Editor:

Date format

OpenKM uses FreeMarker internally, so you can take advantage of FreeMarker's formatting features. For example, you can set the date format in this way:

${okp_tpl_birth_date?string("yyyy-MM-dd")}

Learn more about FreeMarker formatting at Built-in Reference.  

Sample configuration

  • Upload the tpl.pdf file to /okm:templates/documents
  • Register the metadata definition okg:tpl in Administration > Metadata 
  • Enable metadata in profiles at Administration > Profiles 
  • Add the metadata group okg:tpl to the tpl.pdf file.