this module should be compatible with roxen 1.3 and later. requirements: pike 7.4 or higher with the java module enabled, and java 1.4+ to verify, run bin/pike or bin/roxen --features and verify that the Java module is listed. to install: copy pml.pike to your local modules directory. copy itext-2.0.3.jar to your server's local directory. set your classpath: CLASSPATH=$CLASSPATH:/path/to/itext-2.0.3.jar export CLASSPATH then start roxen normally. you may wish to add the classpath settings to your roxen startup script. a test file is included along with some reference notes. i will provide a more complete document describing the syntax once we get finished. todo: - color cell backgrounds - add a tag for the current page #, for use in headers/footers - inline bold/italic/underline changes: 13/3/2010 - Fixed support for "color" attribute to paragraphs, takes a color specified in "#rrggbb" format. - Added tag with support for the following arguments: src: a url pointing to the image (must be a url, even if it's a local file, in which case use a file:/// url.) alt: alternate text for image dpi: dpi of image width: absolute width of image in points height: absolute height of image in points 5/6/2007 - Added a config interface option to specify a set of directories that fonts will be located in. - Added a tag: that will print a plain text list of available fonts. 5/23/2007 - added preparse to - changed front/inside/back to first/inside/last - added support for page="last" on - added margin="n" where n = number of points to , default margin="0" - added border="n" where n = number of points to - made overlays underlays - added pagesize="x,y" where x and y are points for the page size to . - added columnwidths="a,b,...n" where a, b,... n are points for the width of the column. if specified, all widths must be provided. - added padding="n" where n = number of points to boxes, to allow room around the border, if any. - added dash="x,y,z" where x,y,z are points to create a dashed effect. see http://itext.ugent.be/library/api/com/lowagie/text/pdf/PdfContentByte.html#setLineDash(float) for details. - added color attribute for paragraphs and other elements that contain text. must be specified in 6 digit hex format (#aabbcc or aabbcc). seems to lock up java on my macosx box. perhaps it's a mac java thing. 5/31/2007 - fixed size attribute on paragraphs, td and th. previously, size would only work if font was also specified. - added valign="top|middle|bottom" to td and th elements. 6/13/2007 - runningbox elements may not contain fixed boxes. if one does, an error will be thrown. - added "runout" attribute to that will cause the pdf file to be run out to include all fixed boxes specified. example: if you have a pdf document that only has 2 pages (or even none) of running text, but you specify runout and have fixed boxes placed on pages greater than 2, the pages will be expanded until all fixed boxes have been placed in the document. 6/19/2007 - added height attribute to , containers - valign should work better now in cell fields - tables should now flow onto new pages - fixed typography options for fixed boxes (alignment, etc) - added spacing attribute to paragraphs, td, th to allow overridden default leading 6/23 - fixed border handling on boxes, made tables not have a doubled border line around them. - added support for ¤tpage; to fixed box paragraphs. 6/25 - added headerrows="n", footerrows="n" to table container. - added spacebefore, spaceafter to paragraph - newlines within paragraph container nolonger trigger new paragraphs (disabled atm) - fixed urnning box positioning of paragraphs (no longer will there be an empty space equal to the length of your paragraph) - added , and to paragraph, td and th. - last page shouldn't be doubled up anymore. - simplified paragraph handling code, now all in one place. 7/3 - fixed the problem with tables only filling up a portion of the box width. The width attribute on ptable can be used to specify the width (in %) of the table in the box. When used in conjunction with the columnwidths attribute, the widths specified for each column is relative; in the example below, columns of with 20 are twice as wide as those of width 10.