PDF Templates

PDF Templates

Administrators upload a custom HTML template to control how Slayte generates PDF exports of individual submissions. Use a custom template when you need specific branding or want to include only certain submission fields in the export.

Upload a template

  1. Open the Call and click Template.
  2. Next to the submission phase, click Edit.
  3. Scroll to PDF Settings and click Upload Template.
  4. Select your HTML file.

Template placeholders

Use these placeholders inside your HTML file. Slayte replaces each one with the real value when the PDF is generated.

Placeholder Description
{{headerImageUrl}} The logo defined in Slayte Administrative Settings.
{{submissionName}} The submission name.
{{callName}} The Call name.
{{dateSubmitted}} The date the submission was submitted.
{{dateExported}} The date the PDF was generated.
{{linkToSubmission}} A link to the submission online.
{{submitterName}} The submitter's name.
{{submitterEmail}} The submitter's email address.

Author list

Use {{#each authors}}...{{/each}} to loop over every author and co-author on the submission. Inside the loop, access profile fields with {{getValue authorProfileFields "UUID"}}, replacing UUID with the profile field's unique identifier.

Submission sections and fields

Use {{#each sections}}...{{#each fields}} to iterate over every section and field. Inside the loop, {{sectionTitle}} returns the section name, {{fieldName}} returns the field label, and {{fieldValue}} returns what the submitter entered.

To reference a single field by position, use {{getFieldValue sections "sections.N.fields.M"}} where N is the section index and M is the field index, both starting at zero.

For example:

  • Section 1, Field 1 = {{getFieldValue sections "sections.0.fields.0"}}
  • Section 2, Field 3 = {{getFieldValue sections "sections.1.fields.2"}}

Preview and attachments

After selecting a template, click file-pdf View Preview to see how the export renders. From the same screen, select which file attachment fields are included in the PDF export.

Sample template

Copy the template below as a starting point and customize it to match your branding.

<!DOCTYPE html>
<head>
<style>
html { font-size: 10pt; font-family: Arial; }
.row { display: flex; flex-direction: row; flex-wrap: wrap; width: 100%; }
.column { display: flex; flex-direction: column; flex-basis: 100%; flex: 1; }
.field-value, .field-value-small { display: flex; margin-bottom: 0.25rem; align-items: center; justify-content: center; }
.field-value-small { font-size: 7pt; }
.field-value .name, .field-value-small .name { font-weight: bold; margin-right: 1rem; text-align: right; flex-shrink: 0; flex-grow: 0; }
.field-value .name { width: 12rem; }
.field-value-small .name { width: 5rem; }
.img-head { max-height: 10vh; }
.header { align-items: center; margin-bottom: 2vh; }
.header-info { margin-top: 15px; font-size: 7pt; }
.img-head img { width: 100%; height: 100%; object-fit: contain; overflow: hidden; }
hr { border: 0; height: 1px; background-image: linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0)); }
</style>
</head>
<body>
<div class="header">
  <div class="row">
    <div class="column img-head" style="flex-grow:1">
      <img src="{{headerImageUrl}}" />
    </div>
    <div class="column" style="flex-grow:2; text-align:center;">
      <h2>{{submissionName}}</h2>
      <h3>{{callName}}</h3>
    </div>
    <div class="column" style="flex-grow:1">
      <div class="header-info">
        <div class="field-value-small">
          <div class="name">Submitted:</div>
          <div class="value">{{dateSubmitted}}</div>
        </div>
        <div class="field-value-small">
          <div class="name">Exported:</div>
          <div class="value">{{dateExported}}</div>
        </div>
      </div>
    </div>
  </div>
</div>
<div class="row">
  <div class="field-value-small">
    <div class="name">Link to submission:</div>
    <div class="value" style="font-size:5pt">
      <a href="{{linkToSubmission}}" target="_blank">{{linkToSubmission}}</a>
    </div>
  </div>
</div>
<h3>AUTHOR INFORMATION</h3>
<div class="row">
  <div class="column">
    <div class="field-value">
      <div class="name">Submitter</div>
      <div class="value">{{submitterName}} ({{submitterEmail}})</div>
    </div>
  </div>
  <div class="column">
    <div class="field-value">
      <div class="name">Authors</div>
      <div class="value">{{#each authorList}}{{separator this ", "}}{{/each}}</div>
    </div>
  </div>
</div>
<h2>Sections &amp; Fields</h2>
<div class="row">
  {{#each sections}}
  Section {{sectionTitle}}<br />
  Fields:<br />
  {{#each fields}}
  {{fieldName}}: {{fieldValue}}<br />
  {{/each}}
  {{/each}}
</div>
</body>
</html>
    • Related Articles

    • Roles in Slayte

      Roles control what users see and do in Slayte. Assign one or more roles to a user to give them the appropriate level of access. A user with no roles has limited access to public-facing features only. Platform roles Super Admin: full access to all ...
    • User Profile Fields

      User profile fields define what information Slayte collects for every user on the platform. Admins add custom fields beyond the defaults, set them as required or optional, and control the order they appear on every user's profile. Default profile ...
    • Colors & Fonts

      Colors & Fonts lets admins set the platform's typeface and brand colors. These settings apply across all modules and pages in Slayte. Open Colors & Fonts Click Admin in the left navigation. Click Design, then click Colors & Fonts. Font Select the ...
    • User Groups

      User groups let admins organize users into named sets that reviewers and call admins reference when configuring assignments and restrictions. Create a group once and reuse it across multiple calls. Create a group Click Users in the left navigation. ...