HTML specific features
XFRX 16.1
Member oDocument of XFRX Session object is deprecated. You can use member oDocumentWriter.
XFRX 17.3
Member oDocument of XFRX Session object is removed.
HTML page size adjustment
This paragraph applies both to VFP 9 and VFP 8. The ShrinkHeight method is implemented both in XFRXListener and XFRXSession class.
When generating HTML documents, XFRX makes the page a bit shorter by default (by 1.65 inches). This is to suppress the bottom of a page to wrap to a new page when printing from the Internet Explorer. Two lines are added to the printed page - at the top and bottom of the page - as header and footer. By calling ShrinkHeight() method, you can either suppress this behaviour by calling:
ShrinkHeight(0)
or set your own value by which the page will be shrinked. The unit is Inch * 10000, so to make the page shorter by 2 inches, call
ShrinkHeight(20000)
The value sent by ShrinkHeight() method is applied to all output types, not just HTML.
See also: User-defined page size
Plain output
This output type currently does not support images
This feature requires .NET framework 3.5. The HTML is produced by a .NET console application which reads XML files generated by XFRX and coverts them. This console application (xfrxt.exe) needs to be distributed along with the application.
This output type works in a similar fashion to the plain excel output type: The objects on the page are aligned into a grid, each object going into a separate cell, and then the output is layed out as a table. Lines and rectangles are displayed as table cell borders. Fonts, colors and sizes are defined via CSS.
This solution produces a clean, fast rendering, cross-browser compatible HTML output, suitable for web pages or emails. (Click here for a sample document: Sample1)
The output is invoked by "HTMLPLAIN" output type parameter:
LOCAL m.loSession, m.lnRetVal m.loSession = xfrx("XFRX#INIT") m.lnRetVal = m.loSession.SetParams("output.html",,,,,,"HTMLPLAIN") IF m.lnRetVal = 0 m.loSession.ProcessReport("report1") m.loSession.finalize() ENDIF
By default, the output is a complete self-contained HTML file. You can also use the HTML_NOSTYLES option to process just the inner HTML, without CSS styles, head or body tags:
LOCAL m.loSession, m.lnRetVal m.loSession = xfrx("XFRX#INIT") m.lnRetVal = m.loSession.SetParams("output.html",,,,,,"HTMLPLAIN") IF m.lnRetVal = 0 m.loSession.SetOtherParams("HTML_NOSTYLES", .T.) m.loSession.ProcessReport("report1") m.loSession.finalize() ENDIF
Autoconvert EMF/TIFF to PNG
Because some html previewer doesn't support EMF or TIFF image, you can enable feature for converting EMF/TIFF to PNG. (XFRX 15.5)m.loSession.SetOtherParams("CONVERTEMF_TIFFTOPNG",.T.)
Inline images
Images data are in html output file since XFRX 16.0. If you want attain prior behavior, you can call method SetOtherParams().
m.loSession.SetOtherParams("INLINEIMAGES",.F.)
Gmail compatibility
Because HTML viewer in Gmail is very simply than can not show complex which generate XFRX.
You can turn on Gmail compatibility. (XFRF 17.0.0)
m.loSession.SetOtherParams("GMAILCompatibility",.T.)