From build the graphical customization of TIF files has been adapted to work also with PDF files.  So for e-mail applications, you can now apply customizations such as names, addresses, and scanned signatures directly to a PDF file.

       To set up PDF customization, you will need to have some familiarity with the similar operations used to create Graphical Cover Sheets.

There are three elements to this feature:

FFVIEWER can open a PDF file and display it as a set of monochrome TIF pages to allow annotations to be positioned.  FFVIEWER does not apply these annotations to the PDF file, but can save them in a .GPT file (graphical PDF template), analogous to a .GCT file.  The .GPT file references the underlying PDF 'watermark' file.

A new DLL named CF8GCVPF.DLL implements the application of annotations direct to a PDF file.

The COPIAFACTS engine calls this DLL if an e-mail attachment filename is a .GPT file and the content-type is application/pdf.

FFVIEWER Enhancements

FFVIEWER can now open PDF files and .GPT files (use the 'all files' filter on the open dialog).  The files are converted to monochrome TIF using the internal PDF converter, and you can specify QPDF_OPTIONS to be used in this conversion on the FFVIEWER settings page.

You can also drag .PDF and .GPT files onto the FFVIEWER window to open them.  PDF files can be saved as TIF, but FFVIEWER remains basically TIF-file oriented and cannot save PDF files.

Annotations can be created as usual except that:

Applying annotations to the viewed TIF image is disabled

Text color can be selected from the font menu and annotation background and border colors can be selected from the annotation right-click menu.

The character for introducing variables in annotations is the ` grave accent, not the at-sign.

Only monochrome bitmaps (for example, written signatures) can be lifted into an annotation or saved for application to a PDF.

When you save your annotations, there is obviously no option to create a .GTT file (which is actually a TIF file with embedded annotations), and you will save a .GPT file instead of a .GCT file.

Other than the above, all annotation operations can be performed in the same way as for preparing graphical customization for a TIF file.


This DLL is used only by the COPIAFACTS engine, to apply annotations directly to a DLL.  It is called to process .GPT files specified as attachment filenames in the same way that CF8GCOVER is called to process GCT/GTT files specified as fax cover sheets and fax filenames.

The error codes from this DLL are the same as those for FC8GCOVER (much of the code is the same).

There are some minor differences between the application of annotations to PDF files and to TIF files:

Rotated text is rotated about the baseline of the line, not the top of text in the line as for TIF annotations.

Because PDFs use a different rendering engine to that in Windows, there may be small differences in width and spacing of characters and lines from the appearance of the annotation in FFVIEWER.

The supported HTML subset is different: in particular the <in> tag is not supported for indentation. Details are shown below.

A similar method of processing and flowing text files into an annotation is supported as that in graphical cover sheets, but the template file is obtained from an ASCII_PDF_TEMPLATE variable instead of ASCII_TEMPLATE.

The 'standard' PDF fonts are Helvetica, TimesRoman, Courier, ZapfDingbats and Symbol.  CopiaFacts treats these names specially, and also converts any font name containing 'Times' or 'Courier' to the standard name, and Arial to Helvetica.  You should make sure that any annotations in these fonts contain only 'Western' characters.  To use other character sets, you must select a font other than the 'standard' fonts, which supports the character set and allows subsetting of the necessary set (not all 'full' Unicode fonts can be used in this way). CopiaFacts will then subset the font, so that the personalized PDF does not contain the entire Unicode font.

When annotations are applied to the PDF, they are drawn onto the base layer of the PDF and do not remain as movable PDF annotations or post-it notes.

PDF files processed through CF8GCVPDF will be encrypted and/or signed in the presence of $pdf_secure and/or $pdf_sign_keyfile commands supplying the necessary parameters.

PDF files to which annotations are to be added must not be password-protected.


The CF8GCVPDF DLL is loaded by the COPIAFACTS engine when present and its presence is mandatory if a gcvpdf keyword appears on the $system_dlls command.

The DLL is called to process the file when a file with extension .GPT or .TXT appears on an $email_attach command which also has content-type application/pdf.

HTML Subset

The current supported HTML subset is as shown in the following examples:

<b>bold</b> text

bold text

<i>italic</i> text

italic text

<u>underlined</u> text

<u style="double">double underlined</u> text

<u style="strikeout">line-drawn-through</u> text

<u style="over">line-drawn-above</u> text

underlined text



<p align="right">text<P>

text is right-justified

<p align="justified">text<P>

text is justified

<p align="center">text<P>

text is centered

plain <font size="14">text</font>    (see other attributes below)

plain text

<ol><li> one<li> two<li> three</ol>



<ul><li> one<li> 2<li> three</ul>




Pairs of single-quotes can also be used where the syntax above shows " inside < >, and double-quotes will be saved in GCT and GTT files as single quotes.  The quotes may also be omitted.

The HTML syntax is minimally validated and it is recommended that you carefully test annotations coded in HTML. Syntax other than that listed above may have unpredictable results. In addition to the above syntax, the following conversions are done:

&nbsp;(non-breaking space)

Font attributes are available as follows:

size="5"specifies a standard HTML size
size="10.5pt"specifies a point size
color="#3A498C"specifies color in RGB using hexadecimal notation (# + six digits)
color="5C238F02"specfies color in CMYK using hexadecimal notation (eight digits)
background="__"specifies background color using RGB or CMYK as above
roundback="yes"specifies that the background rectangle will have rounded corners.
mode="0"specifies text mode:
0Filled text (default)
1Outline text
2Fill then stroke text
outlinecolor="__"outline color using RGB or CMYK as above
outlinewidth="2pt"outline width

Note that the font face cannot be changed inside a single annotation.  This is because the font needs to be selected or subsetted into the document before the text is drawn.