Difference between revisions of "PDF Writer Custom Tags"
From SmartWiki
Mark Bridger (talk | contribs) |
(→Page Format) |
||
Line 99: | Line 99: | ||
==Page Format== | ==Page Format== | ||
To generate PDFs in a specific format within the body of the [[Web Page View]], add the appropriate tag below: | To generate PDFs in a specific format within the body of the [[Web Page View]], add the appropriate tag below: | ||
− | * <font size="3"><!--Use Letter--></font> | + | * <font size="3"><!--Use Letter--></font> - will set the page width to 971. |
− | * <font size="3"><!--Use Legal--></font> | + | * <font size="3"><!--Use Legal--></font> - will set the page width to 1235. |
− | * <font size="3"><!--Use Landscape--></font> | + | * <font size="3"><!--Use Landscape--></font> - will set the HTML width based on the paper type. |
==Table Size== | ==Table Size== |
Revision as of 11:07, 16 September 2013
The following custom tags can be included in Web Page Views to manipulate the output when converting to PDF:
Contents
List of Custom Tags (pd4ml)
- style="pd4ml-display:none" or style="pd4ml-display:block": Controls whether a HTML element will be included or not included in the PDF. (See example below)
- style="PAGE-BREAK-inside: avoid": Prevents an HTML element from being broken by a page break. Note: If the element is more than a page in length this setting cannot be applied. (See example below)
- <pd4ml:page.break>: inserts a page break at this location
- Options:
- ifSpaceBelowLessThan= pixels: allows to suppress the page break if the available space on the current page is more than the specified value.
- htmlWidth=pixels: forces PD4ML to change current htmlWidth (screenWidth) value and to affect HTML-to-PDF scaling factor. “reset” returns htmlWidth to the initial state.
- htmlWidth="reset"
- pageFormat="rotate"
- pageFormat="WxH"
- pageFormat="reset"
- next="even - odd"
- pageCounter=pagenum
- Options:
- <pd4ml:page.header> </pd4ml:page.header>: Content between tags will be used as the page header. (See example below). Affects all subsequent pages (unless Scope option is defined)
- Options:
- scope="scope": explicitly defines pages where the header should appear. Example: scope="odd,5,15-25,45+,skiplast"
- height="height"
- width="width"
- style="associated style info"
- $[page], $[total] and $[title]: inserts current page number, total number of pages, and document title (respectively)
- Options:
- <pd4ml:page.footer> first page footer. page $[page] of $[total]</pd4ml:page.footer>: Content between tags will be used as the page footer (see Example below). Affects all subsequent pages (unless Scope option is defined)
- Options: same as pd4ml:page.header tag.
- <pd4ml:toc>: table of contents.
- Options:
- pncorr="number": a correction value to add to page numbers
- Options:
- <pd4ml:page.break/>: insert this for a PDF page break.
Examples
- The following will define HTML can be added to a Web Page View document to be used as the page header and footer. A different header is defined for the first page using the scope option.
- Only the header for the first page will be displayed in the Web Page View HTML view. The header for subsequent pages and the page footer are hidden using <div style="display:none;pd4ml-display:block">
<pd4ml:page.header scope="1"> <div style="margin-top: 30px;margin-left:30px;margin-right:30px;margin-bottom:30px"> <img src="/files/12345/f51222/HeaderImage.jpg" width="250px"> </div> </pd4ml:page.header> <div style="display:none;pd4ml-display:block"> <pd4ml:page.header scope="2+"> <div style="margin-top: 30px;margin-left:30px;margin-right:30px;margin-bottom:30px"> <table width="100%"> <tr> <td><img src="/files/12345/f51222/HeaderImage.jpg" width="250px"></td> <td style="text-align:right">page $[page] of $[total]</td> </tr> </table> </div> </pd4ml:page.header> <pd4ml:page.footer> <div style="margin-top:30px;margin-left:30px;margin-right:30px;margin-bottom:30px"> <table width="100%"> <tr> <td><img src="/files/12345/f51221/FooterImage.jpg" width="75px"></td> <td style="text-align:right"><span style='font-size:9.0pt;line-height:115%;color:gray'>SmartSimple Software >></span> <span style='font-family:"Arial Black","sans-serif";color:#008386'> <link>www.smartsimple.com</link></span> </td> </tr> </table></div> </pd4ml:page.footer> </div>
- The following will show the table in the HTML view, but it will not be included in the PDF:
<table border="1" style="display:block;pd4ml-display:none"> <tr><th>Header 1</th><th>Header 2</th></tr> <tr><td>row 1, cell 1</td><td>row 1, cell 2</td></tr> <tr><td>row 2, cell 1</td><td>row 2, cell 2</td></tr> </table>
- The following will prevent a table from spanning 2 pages (unless the table is more than 1 page in length):
<table border="1" style="PAGE-BREAK-inside: avoid"> <tr><th>Activity</th><th>Owner</th></tr> [#(?object=activity) <tr><td>@subject@</td><td>@owner@</td></tr> #] </table>
Page Format
To generate PDFs in a specific format within the body of the Web Page View, add the appropriate tag below:
- <!--Use Letter--> - will set the page width to 971.
- <!--Use Legal--> - will set the page width to 1235.
- <!--Use Landscape--> - will set the HTML width based on the paper type.
Table Size
Recommended table sizes are as follows:
- Letter 700 pixels wide
- Letter (landscape) 950 pixels wide
Special Characters
Most western Latin Unicode characters will be displayed normally. If your PDF will contain non-Latin characters such as Japanese, Korean or Greek, then the PDF writer must be told to use TTF (True Type Font) and the font should be specified.
- <!--Use TTF-->
See here for more information
Sample HTML Template
<html> <head> <style type="text/css"> <!-- body {font-family: Arial, Times New Roman;} .overflow {width: 700px; word-wrap: break-word;} .white {color: #ffffff;} .spacer {font-family: Arial, Helvetica, sans-serif; font-size: 10px; color: #FFF;} --> </style> </head> <body bgcolor="#FFFFFF" topmargin="25" bottommargin="25" leftmargin="30" rightmargin="30"> <!--Use Letter--><!--Use TTF--><!--START: Header and Footer when converted to PDF--> <pd4ml:page.header> <table width="700px" border="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td><div class="overflow"><strong>@type@ - @year(fullstartdate)@</strong></div></td> </tr> </table> </pd4ml:page.header> <pd4ml:page.footer> <div style="pd4ml-display:block;display:none;margin-top: 30px;margin-left:30px;margin-right:30px;margin-bottom:30px"> <table width="700px" align="center"> <tr> <td style="text-align:right">page $[page] of $[total]</td> </tr> </table> </div> </pd4ml:page.footer> <!--END Header and Footer for PDF--> <pd4ml> <table width="700" border="0" cellspacing="0" cellpadding="0" align="center" style="PAGE-BREAK-inside: avoid;"> <tr> <td valign="top"><div class="overflow">Page 1 text goes here</div></td> </tr> </table> <div class="spacer">.</div> <div style="PAGE-BREAK-AFTER: always"><br style="height:0; line-height:0"> </div> <table width="700" border="0" cellspacing="0" cellpadding="0" align="center" style="PAGE-BREAK-inside: avoid;"> <tr> <td valign="top"><div class="overflow">Page 2 text goes here</div></td> </tr> </table> </pd4ml> </body> </html>
See Also
- http://pd4ml.com/html.htm (external website)
- http://pd4ml.com/taglib/pd4ml/tld-summary.html (external website)
- Web Page View
- Convert Special Characters to PDF