DocumentPDF Format Attributes

In addition to the generic FME feature attributes that FME Workbench adds to all features (see About Feature Type Attributes), this format also adds format-specific attributes (Format Attributes).

See below for information about Markdown Syntax and Font Usage.

Attribute Name

Contents

documentpdf_borders_layout

Sets the visible table borders.

Values:

All

NONE

INTERNAL

MINIMAL

HORIZONTAL_LINES

NO_HORIZONTAL_LINES

SINGLE_TOP_LINE

documentpdf_footer_center

Sets text for the center of the footer.

documentpdf_footer_left

Sets text for the left side of the footer.

documentpdf_footer_right

Sets text for the right side of the footer.

documentpdf_heading_level

Sets the heading level for the text.

Values:

1

2

3

4

documentpdf_header_center

Sets text for the center of the header.

documentpdf_header_left

Sets text for the left side of the header.

documentpdf_header_right

Sets text for the right side of the header.

documentpdf_image_caption_position

Sets the position of the image caption.

Values:

top

bottom

documentpdf_image_link

Makes the image a clickable link to the provided destination.

Heading Link

Link to a heading inside the document. Preceded by a # symbol (for example, #PDF Heading)

Note  The link is case-sensitive and must contain all the characters of the heading, including spaces.

Page Link

Link to a page inside the document (for example, 3)

External Link

Link to an external URL (for example, https://google.com)

documentpdf_image_filename

Specifies the path and filename of the image.

documentpdf_image_width

Specifies the width of the image.

The height will scale to retain the same aspect ratio. If blank, use the image’s native width.

documentpdf_image_width_unit

Specifies the unit of documentpdf_image_width.

Values:

  • Points – pt
  • Centimeters – cm
  • Inches – in
  • Percent of page width – %

documentpdf_list_item_indent_level

Specifies the indent level of the list item.

documentpdf_list_item_order

Indicates whether the list item is ordered with numbers or unordered with bullets.

Values:

  • unordered
  • ordered

documentpdf_outer_border_width

Sets table outer border width if outer border is visible.

documentpdf_page_orientation

Sets the orientation of all following pages.

Values:

  • landscape
  • portrait

documentpdf_page_size

Sets the page size of all following pages.

Values:

  • A3
  • A4
  • A5
  • letter
  • legal
  • Custom size – {width},{height}

documentpdf_page_size_unit

Set the unit of the specified width and height.

If documentpdf_page_size is a custom size, this is required.

Values:

  • Centimeters – cm
  • Inches – in
  • Millimeters – mm
  • Points – pt

documentpdf_table_row_headings

Attribute list containing the text to appear in the first row of the table as column headings.

To be part of the same table, every table_row must have the same documentpdf_table_row_headings attribute.

documentpdf_table_row_values

Attribute list containing the text to appear in a row of the table.

documentpdf_table_row_widths

Attribute list containing the widths of each column in percent of page width.

If set to stretch, the column will split the remaining page width among all stretch columns. Only the first table_row’s widths will be used.

documentpdf_text

Sets the text for the element.

documentpdf_type

Sets the type of the element.

Values:

heading

Required

documentpdf_text

documentpdf_heading_level

Styles

text

image

Required

documentpdf_image_path

Optional

documentpdf_text

documentpdf_image_width

documentpdf_image_width_unit

documentpdf_image_caption_position

Styles

text, image

list_item

Required

documentpdf_text

documentpdf_list_item_indent_level

documentpdf_list_item_order

Styles

text, list

page_break

page_properties

Optional

documentpdf_footer_center

documentpdf_footer_left

documentpdf_footer_right

documentpdf_header_center

documentpdf_header_left

documentpdf_header_right

documentpdf_page_orientation

documentpdf_page_size

documentpdf_page_size_unit

documentpdf_watermark_text

Styles

text, watermark

paragraph

Required

documentpdf_text

Styles

text

table_row

Required

documentpdf_table_row_headings

documentpdf_table_row_values

documentpdf_table_row_widths

Optional

documentpdf_borders_layout

documentpdf_outer_border_width

Styles

text, heading, table

table_of_contents

Styles

text, heading

title

Required

documentpdf_text

Styles

text

Formatting Attributes

Formatting Attributes allow styling aspects of each element. Some elements support more than one group of formatting attributes. These are distinguished by the suffix text, heading, table, or image.

Note  A suffix is required.

Attribute Name

Contents

 

documentpdf_align_{text, heading, table, image}

Specifies the text alignment.

Values:

LEFT

CENTER

RIGHT

JUSTIFY

Note for Tables: The first table row’s “text” alignment sets alignment for the entire table.

Note for List Items: CENTER and RIGHT default to LEFT.

documentpdf_font_color_{text, heading}

The color of the text.

Overrides fme_color.

Three comma-separated numbers from 0 to 1 for red, green, and blue.

Example: 1,0.5,0.125

documentpdf_font_emphasis_{text, heading}

Sets the emphasis of the font ( bold, italic, underline, and strikethrough).

String containing any combination of “BIUS”.

Example: BUS

documentpdf_font_family_{text, heading}

The name of the font to use for the text.

Will search the system for fonts to embed in the PDF.

documentpdf_font_fill_color_{text, heading}

The background color of the text.

Overrides fme_fill_color.

Three comma-separated numbers from 0 to 1 for red, green, and blue.

Example: 1,0.5,0.125

documentpdf_font_line_spacing_{text, heading}

Defines the spacing between lines of text.

Multiplier. 1 has no effect.

Note for Headings: Line spacing has no effect.

Note for Tables: The first table row’s “text” line spacing sets line spacing for the entire table.

documentpdf_font_size_{text, heading}

The size of the font, in points.

Note for Tables: The first table row’s “text” font size sets the font size for the entire table.

documentpdf_opacity_{watermark}

A number from 0.0 to 1.0 specifying opacity.

A value of 0 is completely transparent.

documentpdf_padding_bottom_{text, heading, table, image, list}

The amount of padding at the bottom of the element, in points.

documentpdf_padding_left_{text, heading}

The amount of padding at the left of the element, in points.

Only supported for tables.

documentpdf_padding_right_{text, heading}

The amount of padding at the right of the element, in points.

Only supported for tables.

documentpdf_padding_top_{text, heading, table, image, list}

The amount of padding at the top of the element, in points.

fme_color

The color of the text.

Overridden by documentpdf_font_color_{text, heading}.

Three comma separated numbers from 0 to 1 for red, green, and blue.

Example: “1,0.5,0.125”

fme_fill_color

The background color of the text.

Overridden by documentpdf_font_fill_color_{text, heading}.

Three comma-separated numbers from 0 to 1 for red, green, and blue.

Example: 1,0.5,0.125

Markdown

Text input supports the following markdown syntax for inline formatting and linking.

Syntax and Example

Description

**bold**

Use double asterisks to bold text.

__italic__

Use double underscores to italicize text.

--underline--

Use double hyphens to underline text.

~~strikethrough~~

Use double tildes to strikethrough text.

\**bold\**

Use backslashes (\) to escape a character sequence (for example, if it would be incorrectly interpreted as a formatting marker).

Markdown Links

Note  documentpdf_type title does not support markdown.

Link to external URL

[link](https://google.com)

Adding a plain URL without markdown syntax still creates a clickable link; however, since the link text will not be colored blue or underlined, using markdown syntax is always recommended.

Link to page

[link](3) links to page 3

Link to heading

[link](#Heading Text) links to the heading with text “Heading Text”

The link is case-sensitive and must contain all the characters of the heading, including spaces.

Ensure Consistent Font Usage Across Systems

When generating PDFs, different systems may have different sets of installed fonts. As a result, a workspace that produces a document with one set of fonts on a local machine may produce a different-looking document when run on another system, such as when the workspace is published to FME Flow.

To avoid inconsistencies and ensure that documents render exactly the same across all environments, you can configure DocumentPDF to load fonts from a specific folder instead of relying on system-installed fonts.

This is achieved by setting the documentpdf_custom_font_dir attribute.

documentpdf_custom_font_dir

Value: A path to a folder containing the required font files.

Specifies the folder path from which DocumentPDF will load fonts.

When set, DocumentPDF will search only the specified folder for font files – it will no longer search the system font folders. This guarantees that the same fonts are used consistently across all systems where the workspace is run.

Important  All fonts must be present in the specified folder. If a font is missing, font loading will fail and the document may not render correctly.