CFDOCUMENT  
Description

Creates PDF or FlashPaper output from a text block containing CFML and HTML.

 
Category

Data output tags

 
Syntax
<cfdocument 
   format = "PDF" or "FlashPaper"
   filename = "filename"
   overwrite = "yes" or "no"
   name = "output variable name"
   pagetype = "page type"
   pageheight = "page height in inches"
   pagewidth = "page width in inches"
   orientation = "portrait/landscape"
   margintop = "number"
   marginbottom = "number"
   marginleft = "number"
   marginright = "number"
   unit = "in" or "cm"
   encryption = "128-bit" or "40-bit" or "none"
   ownerpassword = "password"
   userpassword = "password"
   permissions = "permission list"
   fontembed = "yes" or "no"
   backgroundvisible = "yes" or "no"
   scale = "percentage less than 100">

   HTML and CFML code
</cfdocument>
 
See also

cfreport, cfdocumentitem, cfdocumentsection

 
History

ColdFusion MX 7: Added this tag.

 
Usage

Use the cfdocument tag to render HTML and CFML output into PDF or FlashPaper format. ColdFusion MX does not return HTML and CFML outside of the <cfdocument> </cfdocument> pair.

The cfdocument tag can render HTML that supports the following standards:

  • HTML 4.01
  • XML 1.0
  • DOM Level 1 and 2
  • CSS1 and CSS2

The cfdocument tag does not support the Internet Explorer-specific HTML generated by Microsoft Word.

The PDF or FlashPaper document returned by the cfdocument tag overwrites any previous HTML in the input stream and ignores any HTML after the </cfdocument> tag.

You cannot embed a cfreport tag in a cfdocument tag.

When you use the cfdocument tag, ColdFusion MX creates a new scope named cfdocument. This scope contains the following variables:

  • currentpagenumber
  • totalpagecount
Note: The cfdocument scope variables are reserved for page number rendering. Do not use them in ColdFusion expressions. For example, the following code does not work:
<cfif cfdocument.currentpagenumber gt 1>
   <cfoutput>#cfdocument.currentpagenumber-1#</cfoutput>
</cfif>
 
Example
<cfdocument format="flashpaper">
<p>This is a document rendered by the cfdocument tag.</p>

<table width="50%" border="2" cellspacing="2" cellpadding="2">
  <tr>
    <td><strong>Name</strong></td>
    <td><strong>Role</strong></td>
  </tr>
  <tr>
    <td>Bill</td>
    <td>Lead</td>
  </tr>
  <tr>
    <td>Susan</td>
    <td>Principal Writer</td>
  </tr>
  <tr>
    <td>Adelaide</td>
    <td>Part Time Senior Writer</td>
  </tr>
  <tr>
    <td>Thomas</td>
    <td>Full Time for 6 months</td>
  </tr>
  <tr>
    <td>Michael</td>
    <td>Full Time for 4 months</td>
  </tr>
</table>
</cfdocument> 
FORMAT  
  Required
 
Default value: "Specifies the report format:"
  • PDF
  • FlashPaper
FILENAME  
  Optional
 

Specifies the name of a file to contain the PDF or FlashPaper output.

If you omit the filename attribute, ColdFusion MX streams output to the browser.

OVERWRITE  
  Optional
 
Default value: "no"

Specifies whether ColdFusion MX overwrites an existing file. Used in conjunction with the filename attribute

NAME  
  Optional
 

Specifies the name of an existing variable into which the tag stores the PDF or FlashPaper output.

PAGETYPE  
  Optional
 
Default value: "A4"

Specifies the page size into which ColdFusion generates the report:

  • legal: 8.5 inches x 14 inches.
  • letter: 8.5 inches x 11 inches.
  • A4: 8.27 inches x 11.69 inches.
  • A5: 5.81 inches x 8.25 inches.
  • B5: 9.81 inches x 13.88 inches.
  • Custom: custom height and width. If you specify custom, you must also specify the pageheight and pagewidth attributes, can optionally specify margin attributes, and can optionally specify whether the units are inches or centimeters.
PAGEHEIGHT  
  Optional
 

Specifies the page height in inches (default) or centimeters. This attribute is only valid if pagetype=custom. To specify page height in centimeters, include the unit=cm attribute.

PAGEWIDTH  
  Optional
 

Specifies the page width in inches (default) or centimeters. This attribute is only valid if pagetype=custom. To specify page width in centimeters, include the unit=cm attribute.

ORIENTATION  
  Optional
 
Default value: "portrait"

Specifies the page orientation:

  • portrait
  • landscape
MARGINTOP  
  Optional
 

Specifies the top margin in inches (default) or centimeters. To specify the top margin in centimeters, include the unit=cm attribute.

MARGINBOTTOM  
  Optional
 

Specifies the bottom margin in inches (default) or centimeters. To specify the bottom margin in centimeters, include the unit=cm attribute.

MARGINLEFT  
  Optional
 

Specifies the left margin in inches (default) or centimeters. To specify the left margin in centimeters, include the unit=cm attribute.

MARGINRIGHT  
  Optional
 

Specifies the right margin in inches (default) or centimeters. To specify the right margin in centimeters, include the unit=cm attribute.

UNIT  
  Optional
 
Default value: "in"

Specifies the default unit for the pageheight, pagewidth, and margin attributes:

  • in: inches.
  • cm: centimeters.
ENCRYPTION  
  Optional
 
Default value: "None"

(format="PDF" only) Specifies whether the output is encrypted:

  • 128-bit
  • 40-bit
  • none
OWNERPASSWORD  
  Optional
 

(format="PDF" only) Specifies an owner password.

USERPASSWORD  
  Optional
 

(format="PDF" only) Specifies a user password.

PERMISSIONS  
  Optional
 

(format="PDF" only) Specifies one or more of the following permissions:

  • AllowPrinting
  • AllowModifyContents
  • AllowCopy
  • AllowModifyAnnotations
  • AllowFillIn
  • AllowScreenReaders
  • AllowAssembly
  • AllowDegradedPrinting

Separate multiple permissions with a comma.

FONTEMBED  
  Optional
 
Default value: "yes"

Specifies whether ColdFusion embeds fonts in the output:

  • yes: embed fonts.
  • no: do not embed fonts.

Selective: embed all fonts except Java fonts and core fonts. For more information, see Usage.

BACKGROUNDVISIBLE  
  Optional
 
Default value: "no"

Specifies whether the background prints when the user prints the document:

  • yes: include the background when printing.
  • no: do not include the background when printing.
SCALE  
  Optional
 
Default value: "Calculated by ColdFusion"

Specifies a scale factor as a percentage. Use this option to reduce the size of the HTML output so that it fits on that paper. Specify a number less than 100.