XFRX version 22.4.0, Release notes
Release date: 15 June 2023
Important installation note for the latest version
Important installation notes for 12.x versions and newer
-
VFP 6.0: The XFRX previewer component requires FOXTOOLS.FLL library if used in VFP 5.0, VFP 6.0,
VFP 7.0.
-
XFRXLIB.FLL now also requires MSVCP71.DLL library to be installed (the previous version
required GDIPLUS.DLL and
MSVCR71.DLL
libraries), all three libraries are required now
Important notes for 22.0 version
XFRX#INIT ignores "Constant band height" in previvous versions. If a band has "Constant band height" on, then "Stretch with overflow" for text field is ignored.
Enhancements and fixes
- XFRX#CORE
- XFRX#INIT
- XFRX#LISTENER
- ENH: Enhanced processing speed.
- XFRX#DRAW
- XFRX#PREVIEW
- XFRX_COPYTOXLSX
- PDF
- PDF#READER
XFRX version 22.3.0, Release notes
Release date: 22 February 2023
Enhancements and fixes
- XFRX#CORE
- XFRX#LISTENER
- XFRX#PREVIEW
- PDF
- PDF#READER
XFRX version 22.2.0, Release notes
Release date: 9 January 2023
Enhancements and fixes
- XFRX#INIT
- XFRX#LISTENER
- XFRX#CORE
- CELL#LAYOUT
- PDF
XFRX version 22.1.0, Release notes
Release date: 19 December 2022
- XFRX#CORE
- XFRX#INIT
- XFRX#LISTENER
- XFRX#PREVIEW
- PDF
XFRX version 22.0.0, Release notes
Release date: 8 November 2022
- XFRX#CORE
- XFRX#LISTENER
- XFRX#INIT
- XFRX#DRAW
- HTML
- TEXT#FORMAT
- PDF
- XFRX#PREVIEW
- XFRX#PREVIEW, XFRX#PRINT
- XFRX#ZIP
- ENH: Large files support.
XFRX version 21.1.0, Release notes
Release date: 17. November 2021
Enhancements and fixes
- XFRX#INIT
- XFRX#LISTENER
- PDF
- PDF#READER
- FIX: Fixed more bugs.
- ENH: AES 128 ecryption
- XFRX#TEXTFORMAT
- XFRX#PREVIEW
- XFRX#PREVIEW, PRINT
XFRX version 21.0.0, Release notes
Release date: 10 May 2021
Enhancements and fixes
- XFRX#CORE
- XFRX#LISTENER
- XFRX#INIT
- XFRX#PREVIEW
- PRINT
- XFRX#TEXTFORMAT
- PDF#READER
- PDF
- RTF, FRTF
- FDOC, NATIVE_FDOCX
- XFRX_CopyToXLSX
- ENH: Alternate column source for exporting to XLSX.
- Images
- FIX: Overlaped pages for PAGESPERSHEET>1.
- TIFF
- XFRX#DIAGNOSIS
XFRX version 19.2.0, Release notes
Release date: 15 September 2020
Enhancements and fixes
- XFRX#CORE
- XFRX#INIT
- XFRX#LISTENER
- XFRX#PREVIEW
- XFRX#TEXTFORMAT
- XLS/XLSPLAIN
- PDF#READER
- PDF
- XFRX#TEXTFORMAT
- XFRX_CopyToXLSX
- XFRX#DRAW
XFRX version 19.1.0, Release notes
Release date: 15 February 2020
Enhancements and fixes
- XFRX#CORE
- GENERAL
- ENH: LEAVE_FULL_FIELD_CONTENT support for DOC, RTF, ODT, ODS, NATIVE_DOCX, FDOC, FRTF, FODT, FODS, FNATIVE_DOCX.
- XFRX#TEXTFORMAT
- FIX: A few bugs.
- ENH: New attributes 'for', 'stylefor' and 'templatefor' and new element <DATA:TEMPLATE>.
- XFRX#INIT
- XFRX#LISTENER
- FIX: Texformat engine didn't work if Cathy Pountney Workaround for dangling "Datasession is applied Left After Running Report" was applied.
- XFRX#PREVIEWER
- FDOC
- FIX: FDOC output didn't use shared images.
- PDF#READER
- PDF
XFRX version 19.0.0, Release notes
Release date: 1 September 2019
Enhancements and fixes
- General
- ENH: Support for VFP Advanced 64bit.
- XFRX#TEXTFORMAT
- ENH: TF - Added support for elements H1..H6.
- ENH: BB - Added support for elements H1..H6.
- XFRX_COPY2XLSX / XFRX_COPY2ODS
- XFRX#INIT, XFRX#LISTENER
- XFRX#PREVIEW
- ENH: Better support for bookmarks.
- ENH: Better support for multiple highlighted strings in text.
- ENH: Added support for #UR MASK directive.
- ENH: Added support for #UR COLOR "NEG" directive.
- XFRX#DRAW
- PDF
- PDF#READER
- Interactive features
- ENH: New directive #UR OUTLINECOLOR (PDF, HTML/MHT and XFRX#PREVIEW).
- ENH: New directive #UR OUTLINEPARENT (PDF, HTML/MHT and XFRX#PREVIEW).
XFRX version 18.3.0, Release notes
Release date: 1 September 2019
Enhancements and fixes
- XFRX#CORE
- FIX: Bug in STREXTRACT() for VFP 5,6,7.
- FIX: Some characters disappear at dividing long text to lines.
- FIX: Ellipsis at the beginning of the text if Trim Mode set to "Filespec: Show inner path as ellipsis".
- FIX: The last character from text is render on next line.
- XFRX#LISTENER
- FIX: XFRX listener ignores textbox with <TF> in page footer band.
- FIX: XFRX Listener process <TF> data (for each textbox) for first value only if CallEvaluateContents=1.
- TEXT#FORMAT
- FIX: Ignore leading space on begin of row for left alignment and multi line text.
- FIX: XFRX ignore #UR TEXTTOIMAGE at using <FJ>.
- FODT
- FIX: Missing space between paragraphs.
- HTML
- FIX: HTML output ignore <FJ> keyword.
- Flow layouts + <FJ>
- FIX: Better support for full justify alignment.
- ODS
- FIX: Text is split into two lines if the source is a label instead a textbox.
- FODS, PFODS, XLS, XLSPLAIN
- FIX: Long text are not shortened for textbox without "Stretch with overflow" and #UR POSITIONABSOLUTE.
- XFRX#PREVIEW, Print, Images
- FIX: XFRX can ignore <FJ> at transformation from XFF/XML.
- FIX: XFRX Preview doesn't show hyperlink cursor if the text spans across multiple lines and the first line has a length of zero chars.
- FIX: Missing last word or line.
- Cell layout
- FIX: Output file is unreadable or doesn't contain data for second page.
- Print
- FIX: Better support for papersize (index) greather then 256.
- ODT, ODS
- FIX: Some text from Text format engine is split into two lines.
XFRX version 18.2.1, Release notes
Release date: 13 June 2019
Enhancements and fixes
- XFRX#PREVIEW
- HTML
- FIX: HTML output convert space in link and anchor to "_".
- XFRX#LISTENER
- PDF
- XFRX_COPY2XLSX
- XFRX#INIT
- Images
- XLSX, XLSPLAIN
XFRX version 18.2.0, Release notes
Release date: 20 Jan 2019
Enhancements and fixes
- XFRX#TEXTFORMAT
- XFRX_COPY2XLSX
- XFRX_COPY2XLSX, NATIVE_FXLSX, NATIVE_PFXLSX
- ENH: Append mode for NATIVE_FXLSX and NATIVE_PFXLSX.
- Cell layout (XLS, XLSPLAIN, FODS, PFODS, NATIVE_FXLSX, NATIVE_FXLSX)
- XFRX#CORE
- XFRX#INIT
- XFRX#LISTENER
- ENH: utilityreportlistener.zip contains header files from VFP 9.0 SP1.
- ENH: New package reportlistenerclasslibs.zip with latest _reportlistener.vcx and _frxcursor.vcx.
- XFRX#PREVIEW
- XFRX#DRAW
- FDOC
- PDF
XFRX version 18.1.0, Release notes
Release date: 27 July 2018
Enhancements and fixes
- XFRX#LISTENER
- XFRX#PREVIEW
- XFRX#INIT
- XFRX#CORE
- PDF
- PDFL
- XFRX#TEXTFORMAT
- NATIVE_FXLSX, NATIVE_PFXLSX
- XFRX#DIAGNOSIS
- FIX: If VFP can't load XFRXLIB.FLL then diagnostic mode don't analyze xfrxlib.fll.
XFRX version 18.0.0, Release notes
Release date: 18 March 2018
Enhancements and fixes
- XFRX#CORE
- XFRX#INIT
- CopyToXLSX
- NATIVE_FXLSX, NATIVE_PFXLSX
- ENH: significant speed improvements
XFRX version 17.3.1, Release notes
Release date: 31 December 2017
Enhancements and fixes
- XFRX#INIT
- XFRX#LISTENER
- XLS, FODS, NATIVE_FXLSX
- FDOC, FODT, FRTF, NATIVE_FDOCX
- ODT, FODT, ODS, FODS, PFODS
- RTF
- XFRX#DRAW
- XFRX#TEXTFORMAT
- ENH: Add support for <strong /> and <em /> for html.
- FIX: Lost justify with XFRX#LISTENER.
- FIX: Lost justify for short text between images/rectangles.
- XFRX#PREVIEW
XFRX version 17.3.0, Release notes
Release date: 20 November 2017
Enhancements and fixes
- GENERAL
- ENH: Support rotation settings for rectangle..
- ENH: Automatic convert textbox/label to image (#UR TEXTTOIMAGE=<expression>)
- FIX: If report has set "Left margin" great then zero, then all texts and objects shifted to left by value of "Left margin".
- FIX: XFRX don't move objects to down in page footer band if XFRX remove objects which set "Print when expression" to .F. and "Remove line if blank" is checked too.
- FIX: Outputs ignore trim mode 3 and 4.
- FIX: Output contains double empty lines between paragraphs in long text for outputs - DOC, NATIVE_DOCX, ODT, ODS, XLS, XLSPLAIN, FODS, PFODS, NATIVE_FXLSX, NATIVE_PFXLSX.
- PDF
- ENH: Add support for attachments in PDF output.
- ENH: Better support for indexed bitmaps for PDF output.
- FIX: Long text has wrong line height, if textbox's height is greather then tesxt's height.
- FIX: PDF output ignore all trim modes.
- XFRX#INIT
- FIX: XFRX don't ignore reports's record for DOS platform.
- FIX: XFRX don't move objects under stretched object if overlapped by 1px.
- FIX: If report contain rectangle from across a few report bands, then some rectangle not show (if band with bottom rectangle cause new page).
- FIX: Sheet contains repeated group header (with using parameter SHEET_PER_NP_GROUP) for outputs XLS, XLSPLAIN, NATIVE_FXLSX, NATIVE_PFXLSX, FODS, PFODS.
- FIX: Output file is not read able. (with using parameter SHEET_PER_NP_GROUP) for outputs NATIVE_FXLSX, NATIVE_PFXLSX, FODS, PFODS.
- FIX: XFRX#INIT doesn't support private dataenvironment with VFP 5.
- FIX: XFRX don't work correctly if report contains dataenvironment.
- XFRX#LISTENER
- FIX: If report contain rectangle from across a few report bands, then output are mismatch.
- FIX: Shape has bad left position if set dynamic property for Width and set runtime extension's script for RENDER method.
- XFRX#LISTENER + TF
- FIX: If textbox has back opaque and check "Use default background color", then formated text not is in output.
- PDF, XPS
- FIX: Textbox with opaque background has height's colors higher by 2px.
- XPS
- FIX: Strikeout and uderline has black color always.
- RTF, FRTF
- FIX: Not possibly delete last character in textbox.
- FIX: Rectangle which has border's default color has border's white color in output file.
- FIX: RTF output ignore all trim modes.
- FODS, PFODS
- FIX: Unreadable output file if some number formated such as "scientific" and LibreOffice's version is 5.4.x.
- FDOC, NATIVE_FDOCX, FODT
- FIX: Randomly swapped text.
- XFRX#DRAW
- FIX: Method SavePicture() ignore parameter tnBpp.
- XFRX#XML
- ENH: XFRX#XML has same API such as XFRX#DRAW for custom drawing.
- FDOC, FRTF, FODT, NATIVE_FDOCX
- FIX: Output file contains only first column if report has check "Column order" to "Left to Right"
- XLS, XLSPLAIN
- FIX: A parameter LEAVE_FULL_FIELD_CONTENT don't works.
XFRX version 17.2.0, Release notes
Release date: 17 August 2017
Enhancements and fixes
- GENERAL
- ENH: RTF is now supported in Textformat . For more information please see the Textformat - RTF wiki page.
- ENH: New output type CPLAIN.
- Print, Preview, Images
- ENH: <FJ> (full justify) is now supported.
- ODT,FODT,ODS,FODS,PFODS, NATIVE_DOCX,NATIVE_FDOCX,NATIVE_FXLSX,NATIVE_PFXLSX
- FIX: XFRX temporary folder is not deleted and contains a ghost folder. An error message "The directory is not empty." is logged in the XFRX log file.
- XFRX#INIT
- ENH: Page and column expression.
- FIX: Horizontal line has wrong top position in all output formats if the top position is near the Summary band header in the report designer.
- FIX: Long text in Page Header band can cause the "Too many variables" error.
- FIX: (XLSPLAIN, PFODS, NATIVE_PFXLSX) If the output file has two pages, page footer is displayed twice.
- FIX: (XLS, XLSPLAIN, FODS, PFODS, NATIVE_FXLSX, NATIVE_PFXLSX) Non-functional parameter SHEET_PER_NP_GROUP.
- PDF
- FIX: <FJ> doesn't work correctly if the text contains a space before the end of the line.
- FIX: Empty string causes an infinity loop if a textbox has two or more lines and "Stretch with overflow" is unchecked.
- FIX: The background color box for a label is narrower than the label text.
- XPS
- ENH: Add support for <FJ>.
- FIX: Transparent WMF/EMF image shows as a black rectangle.
- FIX: The background color box for a label is narrower than the label text.
- XFRX#LISTENER
- FIX: A long text in the summary band doesn't wrap to a new page.
- FIX: XFRX ignores the PictureDPI property if set before the SetParams() method call.
- FIX: All output formats ignore the set Print area "Whole page" option.
- XFRX#TEXTFORMAT
- FIX: If a paragraph contains a wrapped image then the alignment is wrong for right, center and block alignment options.
- RTF, FRTF
- FIX: Better RTF output when using the TE Edit Text control, Libre Office, etc.
XFRX version 17.1.0, Release notes
Release date: 22 May 2017
Enhancements and fixes
- GENERAL
- PDF
- ENH: Empty signature field - #UR EMPTYSIGNATURE=expr. This allows for placing an empty signature field into the document. The expression evaluates to a unique name given to signature.
- ENH: Reports can now be appended to password protected PDF files.
- XPS
- FIX: Hairline borders are invisible.
- XLS
- FIX: XFRX supports only hairline and solid border styles.
- FIX: Hyperlinks ignore format settings (font, name, etc.)
- FODS, PFODS
- FIX: A border is rendered for all rectangles regardless the border definition.
- PRINT
- FIX: Printer "EPSON TM-T70II Receipt" crops the paper after printing long receipts.
- RTF, FRTF
- FIX: Images can cause unreadable output files.
- FDOC, FRTF, FODT, ODS, NATIVE_FDOCX
- FIX: A cursor is left open in the current datasession.
- ODT,FODT,ODS,FODS,PFODS
- FIX: The output file is unreadable if the report contains a text with raster font and the font embedding is set on.
- XLSPLAIN, PFODS, NATIVE_FXLSX + XFRX#INIT with transformation from XFF/XFRX#LISTENER
- FIX: The output file doesn't contain group footer objects from the second page onwards.
- XLS, XLSPLAIN, NATIVE_FXLSX, NATIVE_PFXLSX
- FIX: Character "/" in #UR XLSF gets converted to a DATE MARK.
- XFRX#LISTENER
- FIX: The "Whole page" printer setting is ignored
XFRX version 17.0.0, Release notes
Release date: 21 February 2017
Enhancements and fixes
- PDF
- ENH: Added support for topdown bitmap, bitmap 2bpp, 4bpp RLE, 8bpp RLE, 16bpp, BMP OS/2, etc.
- FIX: Wrong shape curvature calculations for curvature values between 1 and 98.
- FIX: PDF output ignores "Clip contents" for bigger images.
- FIX: PDF output doesn't support 16 bpp bmp file. The workarround is to use a third parameter (1 or 2) of QRBarcodeImage()
method for foxbarcodeqr.
- FIX: Right-aligned texts/labels have wrong left position.
- FIX: Garbage text in the second line for texboxes with height greather than one line if the text has only one line.
- FIX: An ellipsis is always appended to fields that have trim mode set to "Trim to nearest character, append ellipsis".
- HTML
- ENH: Output compatible with Gmail for HTML attachment - see to parameter GMAILCompatibility.
- FIX: Wrong shape curvature calculations for curvature values between 10 and 45.
- XFRX#INIT
- ENH: Watermark trick support.
- ENH: Support for multidetail bands/new detail band properties.
- ENH: Support for Column print order - Left to right.
- FIX: If a column overflows to a new column and the group has "Reprint group header on each page" ON, then xfrx does not
render the group header.
- FIX: The summary band top position is calculated incorrectly if the report has more than 1 column and the bottom position
of the last column is less then the bottom position of the first column.
- FIX: WITH-RETURN-ENDWITH bug, can cause cx00000005.
- XFRX#PREVIEW
- ENH: Added support for custom background color of searched text. See to property FindColor of Default settings.
- ENH: Added support for calling the print option without calling "Printer options" dialog. See to Default settings and Printer default options.
- ENH: Added "Current page" to printer options dialog.
- XFRX#DIAGNOSIS
- ENH: Add file name for dll/fll imported.
- ENH: Add printer info.
- XFRX_CopyToXLSX
- FIX: OO/LO Calc can't open the output file, but MS Excel can.
- NATIVE_FXLSX, NATIVE_PFXLSX, FODS, PFODS
- FIX: Pagebreaks don't work if the page ends on an empty line.
- XLS, XLSPLAIN, NATIVE_FXLSX, NATIVE_PFXLSX, ODS, FODS, PFODS
- FIX: Pagebreaks don't work if the report contains a vertical line or a rectangle spanning from the page header to the
page footer.
- XFRX#LISTENER/XFRX#INIT with XFF/XML transform + XLSPLAIN, NATIVE_PFXLSX, PFODS
- FIX: The output file has only the first page.
- NATIVE_FDOCX
- FIX: The page header is bigger than how it is defined in the report.
- XFRX#INIT+FDOC,FRTF,FODT,NATIVE_FDOCX
- FIX: If the report has more than one columns and the column print order is "Top to Bottom", than the output file contains
only one column.
- NATIVE_PFXLSX
- FIX: Image higher than how it's defined in the report - on first page.
- If the report contains external hyperlinks and no images, then the output file is unreadable.
- NATIVE_FXLSX
- FIX: Image smaller than how it's defined in the report if the report has more than one page.
- If the report contains external hyperlinks and no images, then the output file is unreadable.
- XFRX_COPYTOODS
- FIX: Messagebox with "ZAP %file%" message when SET SAFATEY ON.
- FODS,PFODS + VFP 5,6
- FIX: Error message "Property is not found."
- XLS, XLSPLAIN, NATIVE_FXLSX, NATIVE_PFXLSX, FODS, PFODS + VFP 5,6
- FIX: Error message "Function argument value, type, or count is invalid."
- ODS,FODS, PFODS + VFP 5,6,7,8
- FIX: Format expression ignores spaces.
- XFRX#LISTENER
- FIX: Error message "Operator/operand type mismatch." when calling SetParams() method without parameters.
- FIX: Vertical lines that start and finish in the same group are rendered separately for each band.
- GDI+ Wordwrap
- FIX: Potential Cx00000005 bug.
- FIX: Random missing words at the end of right aligned fields.
- GDI Wordwrap
- FIX: Random missing words at the end of right aligned fields.
- NATIVE_FXLSX, NATIVE_PFXLSX
- FIX: Cells can intermittently have wrong background color.
- XPS
- FIX: Wrong shape curvature calculations for curvature values between 1 and 98.
- FIX: Memory leak.
- FIX: Unreadable file if source contains Chinese/Arabic/etc. characters.
- PRINT,XFRX PREVIEW,Images
- FIX: Wrong shape curvature calculations for curvature values between 1 and 98.
- FRTF
- FIX: Shape has bad curves for curvature values between 51 and 98 (
<=xfrx 16.0.x) or for values between 1 and 98 (<=xfrx
16.1.x).
- RTF
- FIX: Wrong shape curvature calculations for curvature values between 51 and 98.
- DOC
- FIX: If a textbox has a black foreground color, then the text can be white in the output file.
- FIX: The output document contains the "?" character for Chinese code page.
- XFRX#INIT+XLS/XLSPLAIN/FODS/PFODS/NATIVE_FXLSX/NATIVE_PFXLSX
- FIX: If report has more the one column, than the output file contains only one column.
XFRX version 16.1.4, Release notes
Release date: 21 November 2016
Enhancements and fixes
- XFRX#INIT
- FIX: If the textbox source contains a semicolon syntax (such as field1;field2) and field1 is empty, then the output contains
an empty first row.
- FIX: XFRX doesn't restore the current work area?after processing reports?with data environment.
- FIX: XFRX#INIT doesn't support DIB and BITMAP in OLE presentation record in general field.
- PDF
- FIX: Output?file is unreadable?if SetPassword() is called under VFP 5/6/7.
- FIX: Text?not split to multiple lines for textboxes with height greater than one line and "Stretch with overflow" unchecked.
- FIX: Error message "###ERROR: 9 in makestring2 16441,000000 Data type mismatch" if label or textbox has set "Repeat Value"
set to "No".
- FIX: TABs position calculation problems. The default TAB size in VFP is?four?spaces.
- FIX: Incorrect top left position calculation for horizontal lines.
- ODT,NATIVE_DOCX + DEMO
- FIX: Error message 'Missing expression'.
- ODT
- XFRX_CopyToXLSX
- FIX: Some characters (ASCII
<=31)?cause the XLSX file generated with XFRX_CopyToXLSX to be unreadable.
- DEMO forms
- FIX: SET PATH TO problems in the Load() method.
- FIX: Bugs?in PDF Library example.
- FIX: Bugs?in Drill Down report example.
- XFRX#LISTENER and?NATIVE_FXLSX,NATIVE_PFXLSX,FODS,PFODS
- FIX: The preview looks good but all fields get exported as false.
- XFRX Core + XLS, XLSPLAIN, NATIVE_FXLSX, NATIVE_PFXLSX
- FIX: Currency code position calculation problem for numbers with currency.
- ?(XFRX#INIT + transform from XFF/XML or XFRX#LISTENER) + XLS/XLSPLAIN,FODS,PFODS,NATIVE_FXLSX, NATIVE_FXLSX, NATIVE_FDOCX
- FIX: Layout issues when a report contains a textbox, a label or a vertical line in the page header/report title with bottom
position outside the band height
XFRX version 16.1.2 & 16.1.3, Release notes
Release date: 3 September 2016
Enhancements and fixes
- XFRX#INIT
- FIX: Documents puts in Win8.x into general field has worse preview's image in output file.
- FIX: Missing method getDocName().
- Many errors in log file at reusing XFRX#INIT object.
- XFRX#CORE
- FIX: Only XFRX preview shows images. A error log contain message "12,00 in xfrx_getwmfsize @ 3957,00 Variable 'LCFILE'
is not found".
- ODT,NATIVE_DOCX + DEMO
- FIX: Error message 'Missing expression'.
- ODT
- FIX: Text of label has greather witdh, in output file, than in report.
- XFRX#LISTENER
- FIX: xfrxlistener::Render() ignore return value from DODEFAULT().
- FIX: If report master record don't contains keyword PAPERSIZE, then XFRX cause error "9 ? Data type mismatch.".
- FIX: Error message "Alias 'THISS' is not found." in log file..
- FIX: _reportlistener.vcx from SP 1, If xfrx is Successor or successor property sets on XFRX object than REPORT command
failed.
- DOCX,DOC2PDF
- FIX: Output file contains fused first and second page, other pages are moved forward.
- XFF#WRITER
- FIX: Error 2032,00 fillbuffer 28944,00 Ambiguous date/datetime constant. Use the format: {^yyyy-mm-dd[,][hh[:mm[:ss]]
[a|p]]}.
- FIX: Calls method drawPicture() cause error message 'Variable "lcFile" is not found.'
- XLS, XLSPLAIN
- FIX: If I can change its data, but when I use the closer button, Excel does not ask if it should save the changes. Excel
just closes the file and all changes are lost.
- FDOC
- FIX: XFRX change value of property ConfirmConversions, but don't set original value.
- DOC
- FIX: XFRX change value of property ConfirmConversions, but don't set original value.
- FIX: + MS Word 2003; Images, restangles and lines can has bad left position.
- FIX: Text of label has greather witdh, in output file, than in report.
- NATIVE_DOCX
- FIX: Text of label has greather witdh, in output file, than in report.
- RTF
- FIX: XFRX displays a dialog box before overwriting an existing file SET("SAFETY")="ON".
- FIX: Text of label has greather witdh, in output file, than in report.
- PRINT
- FIX: Print do not respect paper orientation for custom paper size.
- XFRX#PREVIEW
- FIX: Export dialog - It's no possibly select output type in czech or slovak localization.
- FIX: Export dialog - XFRX preview change current area.
- FIX: Find dialog - XFRX preview change current area.
- XFRX_CopyToODS
- FIX: Return value is -201 data source conatins number. "Debug output" contains message: #OOWRITER: Error 1734.000000 addtextincell
38313.000000 Property CNUMBERCLASS is not found.
XFRX version 16.1.1, Release notes
Release date: 11 August 2016
Enhancements and fixes
- XLS,XLSPLAIN,FODS,PFODS, NATIVE_FXLSX, NATIVE_PFXLSX
- FIX: Bad pagebreak if object was through more lines.
- PDF
- FIX: If textboxt has not check "Stretch overflow" and text is very long then text in PDF not is cutted.
- XFRX#INIT
- FIX: If some object has "Print repeat values" set to "Yes" and "Remove line if blank" is checked, then output contains
chaos or much empty lines..
- XFRX#LISTENER
- FIX: Some characters from symbol font (CyberMetricsGDT) shows as square in all outputs.
- FDOC,FRTF,FODT,NATIVE_FDOCX + XFRX#INIT with (XFF,XML) transformation/XFRX#LISTENER
- FIX: A graphical objecst can has bad zOrder .
- NATIVE_FDOCX
- ENH: Supports more than 16 base colors for text back color.
- OO Calc/Writer
- FIX: Output file is unreadable if report contains some image with name which contains CHAR(150).
- FODS, PFODS
- FIX: Percent value is show bad for MS Excel percent format cell.
- XFRX Preview
- FIX: The implementation of 16.1 is going well except for a compile error on _STRTOFILE: Visual Class Library c:\vfp\projects\xfrxlib\xfrxlib.vcx
has the following errors: Unknown _STRTOFILE - Undefined.
- ENH: Add Append mode on export dialog in XFRX Preview.
- ENH: Add output to ZIP archive on export dialog in XFRX Preview.
XFRX version 16.1, Release notes
Release date: 26 July 2016
Enhancements and fixes
- PDF
- ENH: Support for 128 bit RC4 was added.
- ENH: Added option to define PDF version of the output file.
- FIX: Images?with transparent background (WMF/EMF/PNG/TIFF) are now supported.
- FIX: Text fields (label) are intermittently wrapped to two lines.?
- FIX: Error message "Operator/operand type mismatch" if orginal PDF file has no trailer record.
- FIX: Creation date is unreadable?if the file is encrypted.?
- FIX: Error message in log file??"File 'mainhwnd.prg' does not exist." in method createid.
- FIX: Error message in log file??"Operator/operand type mismatch." in?procedure _xf_screenhwnd.
- FIX: The output file can?t be printed in duplex mode.?
- FIX: If the document?property contain "?" character and the output file is encrypted, then the PDF viewer shows Chinese
characters in the document properties dialog window.
- XFRX#INIT
- ENH: Added support for dynamic?styles from VFP 9.0.
- ENH: Support for?images such as jpeg, gif, tiff, png ,emf, etc in general field ?- OLE host's "Package".
- XFRX#LISTENER
- ENH: Added Support for Microsoft.VFP.Reporting.Builder.AdvancedProperty???(HTML.Link, HTML.Anchor, HTML.Alt-Title)
- Excel
- ENH: #UR XLSF for date values is now supported
- ENH: Add?support for native date/datetime
- OO Calc
- ENH: #UR XLSF?is now supported
- ENH: Added?support of native date/datetime
- FDOC
- FIX: Intermittent wrong text styling.?
- DOC
- FIX: If method SplitDocument() is called and the tcArchive is filled via SetParams()method, then the output archive is
always empty. When merging more reports the?split document feature is not functional.
- XFRX#INIT?+ VFP 9.0 / XPS
- FIX: XFRX?ignores "Trim mode for characters expression" for textboxes.??
- ODT,FODT, ODS,FODS,PFODS
- FIX: Doesn't support bold and italic for asian fonts.
- FIX: Doesn't support asian fonts with localized?name.
- FIX: When creating file for OO Writer or OO?Calc, the collate?gets changed to "MACHINE"
- XFRX Previewer
-
FIX: Error message "Error in line 3402 of xfcont.isoverhyperlink (record 332): Command contains unrecognized phrase/keyword."
when compiling xfrxlib.vcx under VFP 5/6/7.
- Diagnosis
- FIX: Error message 'Invalid path or filename'? if file utilityReportListener.prg? doesn't exists and SET("PROCEDURE")
is not empty.
- XFRX#LISTENER
- FIX: XFRX#LISTENER doesn't support ListenerRef.NoRenderWhen.
- FIX: Very slow processing for some output formats
- FIX: All outputs are slightly moved to the right.?
- XFRX_CopyToXLSX
- FIX: If SET("MARK") is a string of zero length, then MS Excel does not show date/datetime values correctly.?
- Print,Export to images?
- FIX: Some text missing?for codepages 932, 936, 949, 950.
- XFRX#LISTENER+ FDOC, FRTF, FODT, NATIVE_FDOCX, FODS
- FIX: Text with dynamic style in report definition has bad style - by the first text ??in the output file.
- FDOC,FRTF,FODT,NATIVE_FDOCX
- FIX: Bad?zOrder of all graphical objects.?
- NATIVE_FXLSX,NATIVE_PFXLSX
- FIX: Strings are not shared (the strings are now stored more effectively resulting in smaller file size)
- FODT,ODT
- FIX: The output file doesn't contain objects from "Page header"/"Title" band if the report?contain "Page header"/"Title"
band with zero height.
- NATIVE_DOCX, NATIVE_FDOCX
- FIX: The output files use the "Gulim" font for all asian languages.?
- NATIVE_DOCX,NATIVE_FDOCX,NATIVE_FXLSX,NATIVE_PFXLSX
- FIX: When creating file for OO Writer or OO?Calc, the collate?gets changed to "MACHINE"
- NATIVE_FDOCX
- FIX: Unreadable output file if the report contains a "Title" band with zero height.
- XFRX#DRAW
- FIX: Error message "Data type mismatch" in XFFWriter::CalculateSectionTopPosition() when converting XFF to the output
taget.
- XLS/XLSPLAIN
- FIX: Bad formula in #UR XLSF?causes application freeze.
- XFRX Core
- FIX: Error when compiling xfrx.prg?with codepages 932, 936, 949, 950.?
- RTF / FRTF
- ENH: Appending generated output to existing RTF document.
- FIX: Image has wrong wrapping style.?
- FIX: WMF pictures are not correctly displayed from OpenOffice/LibreOffice.
- FIX: Slow processing if report contains many pictures
- FIX: Output file show mismatch characters?if report contains font with more font charset.
- FIX: If a textbox/label overlaps an?image then the background colow of the textbox/label is set to black.
- FIX: Tabs less than 0.13cm are allowed.
- FIX: If the "Print area" is set to "Whole page" in Page setup then texts and objects?may not be visible.
XFRX version 16.0, Release notes
Release date: 23 February 2016
Enhancements and fixes
- XFRX Core
- Lost first string in the output file. The log file says: ###ERROR: 1229,00 in xfrx_x_trim_gdiplus Too few arguments.
- _xfConvertImage() evaluates wrong transparent color for GIF images.
- Layout fix - right-aligned labels are shifted to right.
- XFRX ignores long #UR directive in the Comment field.
- SetOtherParams() method ignores parameter PRINT_BOOKMARKS.
- All output types: transparent rectangles fill patern not supported
- XFRXWriter: Parameter tnAdjType is ignored.
- Lost decimal values of report and page margins for SET POINT TO ",".
- Layout differences between direct output and transformation via XFF/XML file.
- Layout differences between XFRX#Init and XFRX#Listener output generation types
- "MT Extra" font support
- Detail section height calculation fixes
- Error message "Unknown member OREPORT." in method addRectangle().
- Enhanced diagnosis module
- EMF: Error message "API call caused an exception" if picture parameter "BPP" =1 or tnBpp =1 in SavePicture() method.
- VFP 5.0 + VFP 6.0: Error message "Function argument value, type, or count is invalid." in method convertxlsformatstring()
- Only 0 and 1 MODE values are supported
- Document properties generation for all output types
- XFRX Listener mode: Error message Operator/operand type mismatch. in method XFRXListener::getpagewidth()
- PDF
- PDF/A levels 1a, 1b, 2a, 2b, 2u, 3a, 3b, 3u are now supported, signed PDF documents are supported for PDF/A level 1a and
1b
- Fixed issues with current area selection
- The underline/striked line is longer than the text for label.
- All texts are converted to images if the user account is 'Standard user' (not admin).
- All texts are converted to images under Citrix.
- PDF/A issues with special characters
- If both normal and bold style is used for the same font, the bold style is displayed as normal
- #UR INCLUDEFONT may be intermittently dropped
- GIF (87a) support
- ID attribute in the trailer section is not a valid MD5 hash.
- It is not possible to find or copy text if font is "Dausch" or other symbol font.
- Excel and ODS
- SHEETPAGEBREAK is ignored for SET("DECI")
< 3
- When merging multiple reports, the second and next reports don't generate headers/footers
- If screen DPI is set to 125% and higher, then column width and height are smaller then objects in the report.
- Large report generation speedup.
- VFP 5.0-7.0: Error message "LOOBJX is not an object." in method RenderPage
- Enhanced codepage/fonts support
- external hyperlink support
- Unreadable output file if document title contain "&".
- If the source of s textbox is empty then the output file contains an empty line.
- HTML/MHT
- Opera, FireFox and Safari shows characters instead of symbols for symbol font.
- Missing closing "a" elements on every page.
- Doesn't supports curved rectangles.
- Missing closing "div" element on the last page.
- FireFox shows texts with "Arial Black" or "Arial Narrow" fonts as blank.
- "fj" (full justify flag) works in IE but not in Opera, Firefox or Chrome.
- The HTML viewer does not show images if the file name contains the "#" character.
- DOC, DOCX, Native Word
- Lost multispaces in text with right or center alignment.
- Shifted text if first TAB is on zero position.
- Layout issues if screen DPI is set to 125% or higher
- When merging multiple reports, if the first report has page header/footer and the second report doesn't, then the headers
from the 1st report are also displayed for the 2nd report.
- VFP 5.0+6.0: not enough memory issues
- external hyperlink support
- Unreadable output file if document title contain "&".
- RTF
- Lost right and center label alignment.
- Rotated text with transparent background has white background.
- Layout issues when the text contains TABs.
- Each single row text has CR
- OpenOffice
- Label size is short then text size.
- Full justify flag is ignored in new OpenOffice versions
- if LEAVE_FULL_FIELD_CONTENT is on, the cells show longer text than size of cell.
- Error message "Code page number is invalid." in method addtextincell.
- Enhanced Courier font support
- output generation speedup
- Error message "invalid range" after click to textbox with hyperlink to another sheet.
- XFRX Previewer
- The mouse pointer for hyperlink is highlighted on bad position if text rotated.
- Fixed layout issues with when the screen DPI is set to 150% and higher
XFRX version 15.7.5, Release notes
Release date: 12 November 2015
Enhancements and fixes
- PDF
- FIX: underline/strike line too long
- FIX: text converts to images for non-admin users and on citrix servers
- FIX: if both normal and bold font styles are used for the same font, the bold style is converted to normal
- Excel and ODS
- FIX: empty text fields intermittently generate blank lines in the output sheet
- XFRX Core
- FIX: RTL (right-to-left) flag was ignored
XFRX version 15.7, Release notes
Release date: 6 October 2015
Enhancements and fixes
- PDF
- FIX: #UR COLOR and #UR MASK are ignored when using XFRX#LISTENER or transform report from XFF.
- FIX: If a text field has a transparent background and the text is converted to an image, the background is white in the
PDF output
- FIX: Mouse pointer for hyperlink is highlight in a wrong place for rotated text fields.
- FIX: Acrobat Reader shows no text or wouldn't print if certain characters are used
- FIX: Text based on the "Courier New" font, or another monospaced font, does not contains spaces between words or the spaces
have wrong width.
- FIX: Text displayed with symbol fonts may not visible in pdf/xps
- FIX: When using XFRX#LISTENER or XFRX#INIT the output file is always in UNICODE. The pdf file is bigger then output file
from XFRX 15.5, because all fonts are included. It's equal to: loSession.SetOtherParams("UNICODE",.T.)
- XFF, XML
- FIX: XFRX loses information about #UR INCLUDEFONT or #UR INCLUDEFONT SUBSET during the XFF/XML transformation
- PDFL
- FIX: createDocument() method calls cause "Function argument value, type, or count is invalid." error
- Word
- FIX: Reversed red and green colors in text-to-image conversion
- FIX: NATIVE_FDOC: Lines, shapes and images are positioned in front of the text.
- Excel and ODS
- FIX: Mismatch rows in output file for report with groups
- FIX: Output sheets do not contain pagebreaks. (To enable set parameter SHEETPAGEBREAK to .T. )
- FIX: NATIVE_FXLSX: The output file is always set to papersizeindex=9.
- FIX: The output file does not contain the page setup definition for print area and fit to width options.
- HTML
- FIX: IE shows character "?" instead " " for the FoxPrint font.
- FIX: Lost font information when StrikeThru style is applied
- XFRX Core
- ENH: hyperlink for images. #UR A NAME, #UR A HREF directives in images definitions are now supported in the following
output types: PDF, HTML/MHT, DOC, FDOC, RTF, FRTF, XLS/XLSPLAIN, XPS
- ENH: pagebreaks support in FDOS/PFODS, XLS/XLSPLAIN and NATIVE_FXLSX/NATIVE_PFXLSX. See more at https://eqeuscom.atlassian.net/wiki/display/DOC/Excel+specific+features#Excelspecificfeatures-Addpagebreakinsheet
- ENH: automatic print area preset for FDOS/PFODS, XLS/XLSPLAIN and NATIVE_FXLSX/NATIVE_PFXLSX output types
- FIX: #UR A HREF doesn't support external hyperlinks in RTF,FRTF,XPS,XLS,XLSPLAIN
XFRX version 15.6, Release notes
Release date: 19 Aug 2015
Enhancements and fixes
- PDF
- ENH: Enhanced unicode support. Search, print and copy is now supported in unicode PDF documents.
- ENH: Enhanced barcode font support
- ENH: Automatic symbol font detection
- ENH: Automatic truetype/postscript/opentype font detection
-
- FIX: Corrupted PDF if SET NULL is ON
- FIX: Lost italic for some fonts under XP/WV/W7/W8
- FIX: PDF/A compatibility FIX
- XFRX Core
- FIX: convertXLSFormatString() method doesn't correctly handle number formats when exporting to Excel.
- XFRX previewer
- FIX: "Go to page" dialog shows decimal value in the spinner
- Native Word export
- FIX: Unreadable output file in MS Word 2003/2007.
- FIX: Page footer too high in the flow layout output
- Excel, XLSPlain, NATIVE_FXLSX, NATIVE_PFXLSX
- FIX: currency type values produce empty cells
- FIX: lost 1st row on each page if page header and title have zero height
- FIX: NEXT_SHEET_NAME_EXPR parameter ignored
- FIX: intermittent detail vs. header mismatch
- FIX: intermittent wrong vertical alignment
XFRX version 15.5, Release notes
Release date: 22 Jun 2015
Enhancements and fixes
- XFRX Core
- User scripts: new keywords - TRANSPARENT (transparent flag), BPP (bit per pixel) and JPEGQ (jpeg quality)
- Export to pictures: new parameter - TRANSPARENT
- Enhanced layout control for #UR POSITIONABSOLUTE fields
- New property lHidePictureOutsideBand to included pictures outside bands. (By default, pictures outside bands are excluded)
- Enhanced VFP5 support
- FIX: Errors when compiling XFRX in VFP 6.0
- FIX: Alias 'XD0G6XO8' is not found in the Finalize() method.
- FIX: m-dot error fix in the native docx/xlsx exports
- FIX: the PARAMETERS keyword is ignored if the custom script is not converted to image.
- FIX: XFRX does not declare API functions with unique aliases.
- FIX: "Function argument value, type, or count is invalid." error in _XF_HANDLEMESSAGE()
- FIX: Image processing - "scale content" flag is ignored.
- HTML
- new parameter CONVERTEMF_TIFFTOPNG to EMF/TIFF to PNG
- XFRX previewer
- Slovak localization
- FIX: error when sizing the previewer too small
- FIX: cannot prevent focus to previewer form if the form is disabled
- FIX: MouseWheel event outside the previewer window still scroll the content
- FIX: Preview or export to picture shows text with background only with postscript font.
- FIX: intermittent error "Function argument value, type or count is invalid"
- XPS, RTF, FRTF, XLS, XLSPlain
- Added hyperlink support (#UR A HREF and #UR A NAME.)
- NATIVE_FXLSX, NATIVE_PFXLSX
- FIX: #UR POSITIONABSOLUTE is now supported
- FIX: intermittent error when opening the generated file in Excel
- FIX: LEAVE_FULL_FIELD_CONTENT parameter is ignored.
- FIX: no output when SET NULL is OFF
- FODS, PFODS
- FIX: LEAVE_FULL_FIELD_CONTENT parameter is ignored.
- PDF
- FIX: GIF image with white transparent color has black background in PDF output.
- FIX: temporary files intermittently not deleted after export
- Native printing
- XFFWriter::printDocument() - you can now define the file name for virtual printers
XFRX version 15.4, Release notes
Release date: 15 Apr 2015
Enhancements and fixes
- XFRX Core
- Enhanced report listener chaining
- Enhanced support for GIFs with transparent colors
- Proper code page handling when large text objects wrap to a new page
- Proper line height calculation in flow layout output types
- Automatic file name extensions added in lowercase
- Enhanced codepage detection for resoid in (0,1,2) in VFP 9.0
- nProgressType support added
- Font initialization optimized
- "Clip content" support added
- SET SAFETY ON fix
- Enhanced output layout calculation
- XFRX_CopyToXLSX
- Named areas generation fixed
- XFRX previewer
- Cleaner rendering
- Cross-object links
- VFP 5.0 compatibility fixes
- Zoom by holding Ctrl and scrolling
- Multi-tab previewer - last tab activation fix
- TopLevel forms support
- XPS
- Enhanced support for images with DPI greater than 255
- NATIVE_DOCX, NATIVE_FDOCX
- Excel output type
- Export numeric values as numbers
- Corrupted output with empty date/datetime values fixed
- Image rotation
- Text rotation
- Rectangle background recognition fix
- Proper display of objects with top=0
- PDF
- Enhanced support for 32-bit images
- FoxPrint.ttf font support fixed
- Signed PDF intermittent problems fixed
- Postscript font support
- BC3of9 barcode font support
- Symbol font support
- Native printing
- Respect user defined page size
XFRX version 15.3, Release notes
Release date: 21 Jan 2015
Enhancements and fixes
- XFRX Core
- XFRX_COPYTOODS enhancements
- 25% faster
- smaller output size
- fewer cell styles
- XFRX_CopyToXLSX
- Faster
- New parameter lcSheetExpressionGroup for automatic sheet split by expression
- XFRX previewer
- Hyperlink highlighting didn't work for textboxes with background color or non-default zoom
- Blank hyperlink problems
- Enhanced zooming
- XPS
- Postscript-only font support
- NATIVE_DOCX, NATIVE_FDOCX
- removing \0 from text fields
- TransformReport does not support headers/footers
- Intermittent <TJ> directive problems
- NATIVE_FXLSX, NATIVE_PFXLSX, FDOC, FRTF, FDOS, NATIVE_FDOCX
- removing \0 from text fields
- -1 error code handling
- TransformReport does not support headers/footers
- Reactangle with BackColor and FillStyle=None show background color (which is wrong)
- PDF
- Text justify rendering problems
- Enhanced unicode support
- Better codepage handling
- Memory leak in font handling
- Problems with multiple hyperlinks linking to a single location
- Enhanced VFP 5.0 compatibility
- Non-transparent text field rotation fix
- Preliminary UTF-8 support
- RTF, FRTF
- added support for other picture format such as PNG, GIF, TIFF
- Transparent text placed over a shape has white background.
- Faster image handling
- Fixes in the cleanup procedure
XFRX versions 15.2, Release notes
New features
- New output type: Data export to XLSX and ODS
This new feature allows for exporting table/cursor data into Excel or OpenOffice spreadsheets, similarly to the
COPY TO ? TYPE XL5 command, with the following enhancements:
-
The number of records is not limited to 65K. The current Excel limit is 1,048,576 rows per sheet. If the number of exported
rows is larger, the output goes into multiple sheets.
-
The generated file can be up to 2GB in size
-
Formatting options, including dynamic (conditional) formatting, column width, header names and styles and text trimming
Please see details and code samples in our documentation wiki at https://eqeuscom.atlassian.net/wiki/display/DOC/Data+export+to+XLSX+and+ODS
FIXs fixed
- XFRX Core
- Incorrect codepage converted from blank resoid.
- All outputs (except DOC, HTML, PDF) ignore #UR ROTATE for images
- BIG report (cca 4000) pages - output do not contains images or other objects. Log file contain error message: 1190 -
File "name" is too large. To workaround this, you have the following options:
- Reduce image size
- Run "SET BLOCKSIZE TO 0" before instantiating the XFRX object
- Use other params "BIGREPORT" (call loXFRX.SetOtherParams("BIGREPORT",.T.) )
- ProcessReport method to always use SET EXACT OFF.
- Images display as "scale contents, fill frame" instead "scale contents, retain shape" for source type "Image file name".
- XFRX previewer
- Error messages "Unknown _XFVFPVERSION - Undefined", "Unknown _XFPRINTERPROPERTIES - Undefined" when compiling project
that include xfrxlib.vcx
- Print dialog freezing on 64-bit OS
- XPS
- XPS documents do not show symbols.
- XPS incorrect rendering of images with DPI
<> 96.
- NATIVE_DOCX, NATIVE_FDOCX
- Wrong textbox frame width for multiline report label.
- Missing or redundant page header/footer
- NATIVE_FXLSX, NATIVE_PFXLSX
- Centered alignment rendered as a right one.
- Wrong rectangle colors.
- NEXT_SHEET_NAME/NEXT_SHEET_NAME_EXPR parameters not respected
- PDF
- Unreadable PDF from XFRX under VFP 5.0-7.0
- italics style lost for some fonts under XP/WV/W7/W8
- PDFs with chinese/japanese texts (uses UNICODE) are not searchable.
- FDOC, FRTF, FDOS, NATIVE_FDOCX
- Wrong multiline text generation.
- XLS, XLSPLAIN
- Intermittent missing images.
- Open office
- Text in cells and textboxs doesn't show StrikeThru.
XFRX versions 15.1, Release notes
Release date: 5 Sep 2014
New features
- New output type: Native Excel (xlsx) output
The Excel application is not required and does not need to be installed to generate the documents. There are
currently two output options: NATIVE_FXLSX and NATIVE_PFXLSX (plain layout). NATIVE_PFXLSX, the plain layout, usually
provides the best layout results, minimizing the number of rows and columns in the output document, but the layout
may not be up to the pixel exactly the same as the source report. NATIVE_FXLSX generates more accurate layout but the
resulting number of columns and rows may be higher.
- New output types: DOC2PDF and FDOC2PDF - saves the output to DOC and then exports to PDF via Word. Word 2007 or newer
is required
- Experimental support of multi detail bands in VFP 8.0. Can be switched on with loSession.lMultiDetailBehavior=.T.
- Enhanced support for Asian languages throughout the system
- Font embedding support for all Word output types
- FROM, TO, BPP, JPEGQUALITY, THUMBNAILWIDTH, THUMBNAILHEIGHT, PAGESPERSHEET, ALLEVENODD parameters are now accessible
via SetOtherParams()
FIXs fixed
- PDF output type
- Enhanced font support on Windows 7/8 - platform specific encoding
- Crashing on fonts with missing locations table
- Better support for font embedding, especially symbol/barcode fonts
- Enhanced support of fonts with no unicode encoding
- Lines rendering precision enhanced
- PDF file trailer inconsistency fixed
- Enhanced support for Japanese characters
- Better support of RESOID/FontCharset/Codepage
- Pictures/OLE bound now fully supported (Clip Contents, Scale- retain, Scale-fill)
- Correct size evaluation for png/gif/tiff/emf image formats
- Freezing in 64-bit OS's fixed
- WITH RETURN ENDWITH FIX fixed
- m dot FIXs fixed
- Fatal error when sending an empty or non-existent printer name
- Printer properties freezing problem fixed
- Temporary images were incorrectly saved in the current folder
- Rectangle backcolor fix for open office and native word output
- Fixes to support SET EXACT ON setting
- Fixed problems with overlapping multiline textboxes generation
- Excel output: SHEET_PER_PAGE flag was not working in VFP 9.0
- Native Word output: added setAuthor(), setTitle(), setSubject(), setKeywords(), setComments(), setCategory(), setManager(),
setCompany() and Custom Properties
- Native Word output: images in headers/footers support
- Office 2007: enhanced Arabic and Hebrew font support
- DOC and FDOC output types - layout enhancements, Word 2007 compatibility, metadata generation
- Enhanced internal diagnositics
XFRX versions 15.0, Release notes
Release date: 18 Mar 2014
New features
-
New output type: Plain HTML output
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:
loSession = xfrx("XFRX#INIT")
lnRetVal = loSession.SetParams("output.html",,,,,,"HTMLPLAIN")
If lnRetVal = 0
loSession.ProcessReport("report1")
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:
loSession = xfrx("XFRX#INIT")
lnRetVal = loSession.SetParams("output.html",,,,,,"HTMLPLAIN")
If lnRetVal = 0
loSession.SetOtherParams("HTML_NOSTYLES", .T.)
loSession.ProcessReport("report1")
loSession.finalize()
Endif
Notes:
- 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 currenty does not support images
FIXs fixed
- Better (more precise) output for multiline labels/textboxes
- Output directory write permission check
- DOCX - codepage problems, backcolor problems
- DOCX - text rotation
- DOCX - speed enhancement
- DOCX, OpenOffice - intermittent page number fix
- DOC - crossover tags
- Enhanced codepage conversion
- Enhanced support if asian codepages in OpenOffice and DOCX
- PDF - fixed problems with displaying Arial Narrow and Arial Black fonts
- Listener mode - db area number preservation fix
- XFRX Previewer - "mdot" FIX fixed
- HTML output - font family name FIX
- OpenOffice - image rotation
- OpenOffice - hyperlink FIX
XFRX versions 14.7, Release notes
Release date: 30 Nov 2013
New features
-
New output type: Native Word (docx) output - the Word application is not required and does not need to be installed to generate the documents
The new output type can generate Word documents in docx (OpenXML) format both in the standard and flow
layout. The generated documents are equivalent to the standard word documents generated by XFRX and can be opened in
Word versions 2003 (with a plugin), 2007 and newer. The output type codes are "NATIVE_DOCX" (standard) and "NATIVE_FDOCX"
(flow layout).
Overview:
Output type code |
Standard layout |
Flow layout |
Output format |
Word version needed to generate |
Word version needed to view |
DOC |
yes |
no |
DOC |
2000+ |
2000+ |
FDOC |
no |
yes |
DOC |
2000+ |
2000+ |
NATIVE_DOCX |
yes |
no |
DOCX |
none |
2003+ |
NATIVE_FDOCX |
no |
yes |
DOCX |
none |
2003+ |
Usage:
All you need to do is to specify NATIVE_DOCX or NATIVE_FDOCX. This is a pure VFP implementation so no
other setup is needed, except MD5.FLL library MD5.FLL, which is a free library implementing the MD5 algorithm. MD5.FLL
was written by Duke Lotherington, Visual Records Consulting, 3944 Murphy Canyon Rd, San Diego CA 92123, duke@visualrecords.com
(http://www.leafe.com/dls/vfp)
Pre VFP-9 mode:
loSession= xfrx("XFRX#INIT")
lnRetVal = loSession.SetParams("output.docx",,,,,,"NATIVE_FDOCX")
If lnRetVal = 0
loSession.ProcessReport("report1")
loSession.finalize()
Endif
VFP-9 mode:
loxfrx = XFRX("XFRX#LISTENER")
lnRetval = loxfrx.SetParams("output.docx",,,,,,"NATIVE_FDOCX")
IF lnRetval = 0
REPORT FORM report1 OBJECT loxfrx
endif
FIXs fixed
- XFRX diagnosis module does not require FOXTOOLS.FLL in compile time any more
- XML output type now includes the code page defined in SetParams
- Pictures rotation is now supported DOCX output. We will be adding this to other output types (where doable)
- FIXED: Open office output type does not include the correct code page in listener mode
- FIXED: Report previewer: unpaired Lockscreen = .T. / .F.
XFRX versions 14.6, Release notes
Release date: 4 Nov 2013
New features
-
XFRX Diagnosis
Running XFRX with the following parameters:
DO xfrx WITH "XFRX#DIAGNOSIS", "DIAGNOSIS.TXT"
Will create a new file specified by the 2nd parameter (DIAGNOSIS.TXT), which is useful when dealing with setup problems.
It lists the version number, registration string, vcx, dll and fll file version and locations and other information.
Please review this file when dealing with setup problems and also please send it to us attached to support questions.
-
New output types - "DOCX" and "FDOCX"
The new output types run the standard (DOCX) or flow layout (FDOCX) conversion and generate word documents
with the DOCX extension (the OpenXML format). This output type requires Word 2007 or newer to be installed on the computer.
(until the next XFRX release ... at least ;)
FIXs fixed
-
Word standard and flow layout output
- Intermittent freezing of Word 2007 when previewing a document generated by XFRX
- Textbox height calculation fix - this was a Word 2010-only specific fix
- Exporting to DOC format using Word 2010 or 2013 will save the document as a DOCX document. Unfortunately this was
the only way to solve the intermittent Word 2010 freezing, caused by changes in the HTML output support in these
versions.
- PDF output
- Additional enhancements to 32bit images rendering
- Enhanced support for Bold, Italic and Bold/Italic font styles when used with non-Latin1 character sets
- HTML output
- Output to HTML in VFP 9.0 going via XFF file or XFRX previewer displayed the page footer over the bottom of the detail
output. This problem has been fixed.
- XFRX Print and Previewer Modules
- Fixing duplicate constant compile error
- Fixed intermittent freezing of the printer properties dialog box
- Open office output
- proper attributes encoding and code page setting
- better environment cleanup method
- layout enhancements - textbox background and transparency settings, rotation
XFRX versions 14.5, Release notes
Release date: 12 May 2013
New features
-
Better barcode support: new PDF output directive - #UR SYMBOLFONT
Put "#UR SYMBOLFONT" into the comment of the report field that contains the barcode. This will instruct the
engine not to do any codepage conversions and flag the font as a symbol font in the PDF document.
FIXs fixed
- PDF output
- 32bit images are now rendering properly
- document properties longer than 255 characters are now supported
- Fixed errors in digitally signed documents on certain computers
- XFRX Draw engine
- Creating new XFF document is not complaining about exclusive access any more
- XFRX Previewer
- Intermittent error on mouse-wheel click is fixed
- Reporting engine - affects all output types
- FIXs fixed in 'Stretch relative to tallest object in group'
- Memory leak in hndlib.dll fixed (Many thanks to Borislav Borissov and Martina Jindrova for tracking this down).
This error was causing various intermittent layout or structure errors in the generated documents, especially
in long documents or when a large amount of documents were created at a time
XFRX versions 14.4, Release notes
Release date: 11 September 2012
New features
FIXs fixed
- Excel output type (XLS)
- Enhanced footer rendering. The system now eliminates vertical gaps between bottom of the page and the page footer
- 'pos' already exists warning message removed
XFRX versions 14.3, Release notes
Release date: 3 June 2012
New features and FIX fixes
- PDF output
- Font glyphs extraction algorithm has been improved, the size of PDF files with embedded font subset is now significantly
smaller
- Date/time metadata now includes the current time zone
- Word-wrapping algorithm issue fixed in VFP 5
- PDF/A is now supported
PDF/A is an ISO standard for the digital preservation of electronic documents. PDF/A document is a PDF document with specific
restrictions that ensure that the document will always display and print exactly the same way, no matter which platform
or document viewer is used:
- Platform independent
- No hidden or transparent content
- All information needed to display the document is embedded (including fonts)
- Document metadata stored as XML
- No encryption, no password protection
- No JavaScript or other executable parts
- No LZW compression
- Displayed and printed content must match (all annotations must be printed)
There are currently two PDF/A specifications:
- PDF/A-1 from 2005
- PDF/A-2 from 2011
XFRX currently supports specification PDF/A-1 Level ?B? (PDF/A-1b).
Note: Please note the PDF/A-enabled document files can be significantly larger than regular PDF documents
because the used fonts must always be included.
To generate a PDF/A document, call SetPDFA(.T.) method on the session object before processing. This method is available
in VFP8 and VFP9 session objects, as well as the XFRX#DRAW object.
Example (VFP 9.0):
LOCAL loObj
loObj = EVALUATE([XFRX("XFRX#LISTENER")])
lnRetVal = loObj.SetParams("pdfa9.pdf",,,,,,"PDF")
IF lnRetVal = 0
loObj.setpdfa(.T.)
REPORT FORM demoreps\invoices object loObj
ENDIF
XFRX versions 14.2, Release notes
Release date: 26 September 2011
New features and FIX fixes
- PDF output
- Bookmarks and document properties are now encoded in unicode, allowing non-Latin 1 characters to be correctly displayed.
The text is converted using the default code page or the code page specified in the 4th parameter of the SetParams
method (tcCodePage)
- PDF file size issue fixed - images in the PDF file were saved in BMP format in some scenarios, which was increasing
the file size significantly
- Improved compatibility in appending to existing PDF files
- Vertical lines rendering problem fixed - in some scenarios vertical lines showed slanted in the PDF output.
- Occasional layout issues fixed - word-wrapping algorithm improved
- Excel output - the compatibility check window is now always suppressed
- OpenOffice output types - significant layout improvements in all output types
- Multiline export layout fix
- Transparent background is now correctly rendered
- field content overflowing boundary box problem fixed
- Flowmode now respects text horizontal shift within one line
- XFRX previewer - intermittent crashing on mouse middle-click fixed
- XFRX previewer - local variable declaration fixes
- XFRX previewer - current area reset fix
XFRX versions 14.1, Release notes
Release date: 6 December 2010
Office 2010 compatibility notes fixes
- Word 2010 - fixed the problem with missing pictures
- Intermittent Excel 2010 freezing fixed
- Issues with picture frames in flow layout word output fixed
- "Cannot load Word or Excel application" error message - please be aware XFRX does not support Office 2010 running
in "Click to run" setup mode.
More info at:
http://xfrx.blogspot.com/2010/12/office-2010-and-click-to-run.html
XFRX versions 14.0, Release notes
Release date: 19 July 2010
New features
Digital signatures in PDF
The digital signature can be used to validate the document content and the identity of the signer. (You can find more at
http://en.wikipedia.org/wiki/Digital_signature). XFRX implements the "MDP (modification detection and prevention) signature"
based on the PDF specification version 1.7, published in November 2006.
The signing algorithm in XFRX computes the encrypted document digest and places it, together with the user certificate, into
the PDF document. When the PDF document is opened, the Adobe Acrobat (Reader) validates the digest to make sure the
document has not been changed since it was signed. It also checks to see if the certificate is a trusted one and complains
if it is not. The signature dictionary inside PDF can also contain additional information and user rights - see below.
At this moment XFRX supports invisible signatures only (Acrobat will show the signature information, but there is no visual
element on the document itself linking to the digital signature). We will support visible signatures in future versions.
In the current version, XFRX is using the CMS/PKCS #7 detached messages signature algorithm in the .net framework to calculate
the digest - which means the .NET framework 2.0 or newer is required. The actual process is run via an
external exe - "xfrx.sign.net.exe", that is executed during the report conversion process. In future, we can alternatively
use the OpenSSL library instead.
How to invoke the digital signing
(Note: the syntax is the same for VFP 9.0 and pre-VFP 9.0 calling methods)
To generate a signed PDF document, call the DigitalSignature method before calling SetParams. The DigitalSignature method
has 7 parameter:
cSignatureFile
The .pfx file. pfx, the "Personal Information Exchange File". This file contains the public certificate and (password
protected) private key. You get this file from a certificate authority or you can generate your own for testing,
which for example, OpenSSL (http://www.slproweb.com/products/Win32OpenSSL.html). XFRX comes with a sample pfx that
you can use for testing.
cPassword
The password protecting the private key stored in the .pfx file
nAccessPermissions
per PDF specification:
1 - No changes to the document are permitted; any change to the document invalidates the signature.
2 - Permitted changes are filling in forms, instantiating page templates, and signing; other changes invalidate
the signature. (this is the default value)
3 - Permitted changes are the same as for 2, as well as annotation creation, deletion and modification; other
changes invalidate the signature.
cSignatureName
per PDF specification: The name of the person or authority signing the document. This value should be used only when
it is not possible to extract the name from the signature; for example, from the certificate of the signer.
cSignatureContactInfo
per PDF specification: Information provided by the signer to enable a recipient to contact the signer to verify the
signature; for example, a phone number.
cSignatureLocation
per PDF specification: The CPU host name or physical location of the signing.
cSignatureReason
per PDF specification: The reason for the signing, such as ( I agree ... ).
Demo
The demo application that is bundled with the package (demo.scx/demo9.scx) contains a testing self-signed certificate file
(TestEqeus.pfx) and a sample that creates a signed PDF using the pfx. Please note Acrobat will confirm the file has
not changed since it was signed, but it will complaing the certificate is not trusted - you would either need to add
the certificate as a trusted one or you would need to use a real certificate from a certification authority (such
as VeriSign).
Feedback
Your feedback is very important for us. Please let us if you find this feature useful and what features you're missing.
XFRX versions 12.9, Release notes
Release date: 15 June 2010
FIXs fixed
- PDF output - multiline text rendering - center and right-aligned text is now rendered properly
- PDF output - specific BMP picture subformats (32 bpp and others) were rendering as a black box. This problem has
been fixed.
- VFP 9 listener mode - Render method now properly calls the chained report listeners' methods
- The proper field codepage is now stored in the XFRX intermediate file
- High resolution pictures now render and print properly
- "@L" picture format is now working correctly in all VFP versions
- Warning about "page" index overwrite is removed
- Warning about "pos" index overwrite is removed
- The correct background color wasn't displaying for fields marked as opaque using a dynamic condition
- "#UR OUTLINE" and "#UR TOOLTIP" now support numeric values
- XFRX previewer - an error was showing when no data were loaded
- XFRX previewer - email icon tooltip fixed
- XFRX previewer - intermittent crashing was fixed [negative window handlers]
- XFF Printing - enhanced custom paper-size handling
- XFF Printing - paper orientation problems fixed
XFRX versions 12.8, Release notes
Release date: 22 November 2009
New features / Updates
FIXs fixed
- Dynamic properties in VFP 9.0 - dynamic textbox background is now displayed correctly
- Rectangle-bound scripts in VFP 9.0 are now correctly evaluated
- Word output - the page margins are updated so that wide reports fit into the paper size
- PDF output - word wrapping algorithm didn't intermittently work properly with dashes and some other characters
that allow for wrapping to a new line
- PDF output - fonts with no code page are now properly handled if a code page is specified
- PDF output - left and center alignment calculation shift in GDI+ mode has been fixed
- Word output - the temporary XML copy of the word document could have been left undeleted with certain Word versions
- Previewer - XFRX previewer now works properly in top-level forms
- "@Z$" format string is now handled properly
- Printing - the printer paper size is now automatically pre-selected with the report paper size
- 'X_TRIM missing' error is fixed
- Excel output in VFP 9.0/SP2 now properly exports numeric values and numeric formats - if you need the numeric
values, set the CallEvaluateContents property of the xfrxlistener to 2.
More details: the actual FIX
was caused by the new Listener properties introduced in SP2: CallAdjustObjectSize, CallEvaluateContents.
When the default parent report listener is used (fxlistener at FFC), it checks for the report dynamics and
if there are not any, it sets these two properties to 1 and thus disables the EvaluateContents calls. However,
when EvaluateContents is not called, XFRX won't know about the actual numeric value and the output will be
exported as a text.
XFRX versions 12.7, Release notes
Release date: 23 December 2008
New features / Updates
FIXs fixed
- Intermittent crashing on Windows Vista with specific printers has been fixed
- The printed output was occasionally shifted for specific printers
- Open office output layout issues have been fixed
- Page-range filtering didn't work for merged reports
- XFRX previewer issues
- Double-click on a custom hyperlink executed the linked event twice
- Bookmark panel size wasn't setup correctly during drilldown
- The previewer form didn't work correctly inside top-level forms
- Occasional screen flickering during drilldown
- Print options do not show if no printers are installed
Known issue: The full justify feature (<FJ>) does not work in the previewer. We are working on fixing
this as soon as possible.
XFRX versions 12.6, Release notes
Release date: 01 August 2008
New features / Updates
-
Full justification is now supported in PDF, Word output, picture export and the XFRX previewer
Add <FJ> into the comments of the fields you want to full justify.
-
Absolute layout boxes in Word output are now automatically expandable
-
Picture rotation is now supported in VFP 9.0, using the new SP2 designer user
interface
-
XFRX Previewer
-
Hyperlink decoration can now be suppressed on the printer output
A new property has been added to
the XFCont, cntXFRXMultipage and frmMPPreviewer classes: UnderlineHyperlinksOnPrint. You can use the following
values:
0 - no decoration for hyperlinks
1 - display "normal" hyperlinks in
blue, but do not decorate custom event hyperlinks (green)
2 - (default value) decorate both blue
and green hyperlinks
To support this, the PrintDocument method of the XFRX#DRAW class has a new parameter, tnUnderlineHyperlinksOnPrint,
with the same values and logic.
-
Custom buttons can now be added to the XFRX previewer toolbar at runtime
This feature is implemented
using the extension handler mechanism: A new method is now supported - ToolbarOnInit, which is invoked at the
time the toolbar is initialized. In this method the extension handler can add new buttons to the previewer and
their click events can be bound with other methods in the extension handler. A new property is now supported,
too - oPreviewContainer. If it is available, the previewer will automatically fill it with the XFCont object reference
for easier access to the previewer properties in the custom buttons click event methods.
Example:
use demoreps\sales
local loSession, lnRetval, loXFF, loPreview, loScripts
loSession=EVALUATE([xfrx("XFRX#LISTENER")])
lnRetVal = loSession.SetParams(,,,,,,"XFF") && no name = just in memory
If lnRetVal = 0
REPORT FORM demoreps\sales object loSession
*
* the XFRX#DRAW object reference is stored in oxfDocument property
*
loXFF = loSession.oxfDocument
*
* initialize the previewer
*
SET PATH TO xfrxlib
SET CLASSLIB TO xfrxlib ADDITIVE
loPreview = CREATEOBJECT("frmMPPreviewer")
*
* setup the extension handler
*
loPreview.oExtensionHandler = CREATEOBJECT("SampleExtensionHandler")
loPreview.windowtype = 1
loPreview.iTool = 2 && embedded toolbar
* loPreview.iTool = 1 && standard toolbar
loPreview.PreviewXFF(loXFF)
loPreview.show(1)
ENDIF
DEFINE CLASS SampleExtensionHandler as Custom
oPreviewContainer = null
PROCEDURE ToolbarOnInit
LPARAMETERS toToolbar
LOCAL button
IF toToolbar.AddObject("mybutton", "commandbutton")
BINDEVENT(toToolbar.mybutton, "click" , this, "ButtonClicked")
toToolbar.mybutton.tabindex = 1
toToolbar.mybutton.Visible = .t.
IF UPPER(totoolbar.BaseClass)!="TOOLBAR"
toToolbar.mybutton.left = toToolbar.cmdQuit.left
toToolbar.cmdQuit.left = toToolbar.mybutton.left + toToolbar.mybutton.width
ENDIF
endif
PROCEDURE ButtonClicked
LOCAL lcString
lcString = "this.oPreviewContainer.Name: "+this.oPreviewContainer.Name+CHR(13)
lcString = lcString + "current page: "+TRANSFORM(this.oPreviewContainer.nPageNo)+CHR(13)
lcString = lcString + "XFRX#DRAW Object: "+this.oPreviewContainer.oXFRXWriter.Name+CHR(13)
lcString = lcString + "Page count: "+TRANSFORM(this.oPreviewContainer.oXFRXWriter.PageCount)+CHR(13)
WAIT WINDOW lcString
*
* this.oPreviewContainer.oXFRXWriter.PrintDocument(...)
* this.oPreviewContainer.oXFRXWriter.SavePicture(...)
ENDDEFINE
FIXs fixed
- "SET NULL ON" problem has been fixed
- A problem with previewer crashing on Windows Vista has been fixed
- Dynamic background is now supported in VFP 9
XFRX versions 12.5 + 12.4, Release notes
Version 12.5 released on: 31 January 2008
Version 12.4 released on: 14 November 2007
New features / Updates
-
VFP 9.0 SP2 features are now supported
This version supports both VFP 9.0 SP2 and VFP 9.0 pre-SP2 environments. In SP2 it supports the new dynamics and rotation
features.
-
GDI+ compatible word wrapping algorithm
The new version comes with an alternate GDI+ wordwrapping algorithm. Since the introduction of VFP
9.0 we are experiencing layout compatibility issues between the old reporting engine (pre-VFP 9.0) and the new
reporting engine (VFP 9.0). [Please see Guide to Reporting Improvements VFP 9.0 help topic for more information.]
With XFRX we are experiencing a similar problem - while the pre-VFP 9.0 report engine inside XFRX is using GDI for wordwrapping
and layout calculation, the VFP 9.0 report that is used in XFRX for VFP 9.0 is using GDI+. Moreover, XFRX is
using GDI+ for printing, output to pictures and previewing. The main difference between using GDI and GDI+ is
text width. Each text element is slightly wider with GDI+, which can result in element content being cut, earlier
wrapping longer stretched fields. Here is a summary:
XFRX ver. 12.3 and earlier |
|
VFP 9.0 |
VFP 8.0 and earlier |
Output to PDF and other output formats |
GDI |
GDI |
Report engine |
GDI+ |
GDI |
Report previewer |
GDI+ |
GDI+ |
Printing out of XFRX |
GDI+ |
GDI+ |
Although converting everything to GDI+ would ease the complexity, it would bring another problem - "old" reports might need
to be modified. So, instead, the latest XFRX version now contains both GDI and GDI+ wordwrapping algorithms
and you can choose which one is going to be used. By default GDI+ is used in VFP 9.0 in the listener mode
and GDI is used in VFP 8.0 earlier. There is probably no reason to switch to GDI in VFP 9.0 but it might sometimes
be useful to switch to GDI+ as printing and previewing is still in GDI+:
XFRX ver. 12.4 with wordwrapping set to GDI+ |
|
VFP 9.0 |
VFP 8.0 and earlier |
Output to PDF and other output formats |
GDI+ |
GDI+ |
Report engine |
GDI+ |
GDI+ |
Report previewer |
GDI+ |
GDI+ |
Printing out of XFRX |
GDI+ |
GDI+ |
XFRX ver. 12.4 with wordwrapping set to GDI |
|
VFP 9.0 |
VFP 8.0 and earlier |
Output to PDF and other output formats |
GDI |
GDI |
Report engine |
GDI+ |
GDI |
Report previewer |
GDI+ |
GDI+ |
Printing out of XFRX |
GDI+ |
GDI+ |
To set the wordwrapping algorithm manually then, before running your reports, create a public or private variable _xfrx_WordWrapAlgorithm
and set it to 1 for GDI mode and 2 for GDI+ mode.
-
E-mail support in the XFRX previewer
An email icon has been added to the XFRX previewer toolbar. It is disabled by default for backward compatibility and can
be enabled by setting the iEmail property of the previewer class [xfCont, cntXFRXMultiPage or frmMPPreviewer]
to 1. If you click the email icon, it runs the Email method of the xfCont class. By default it displays
a simple dialog box asking for email address, subject, body, etc. and uses VFPWinsock library to send
the email.
Note: VFPWinsock is a free SMTP sendmail library written by a VFP MVP Francis Faure. It is not
distributed together with XFRX and it can be downloaded from
http://www.xfrx.net/vfpWinsock/index_e.asp.
It is a nice little package written in VFP distributed as a single .prg.
The default behavior can be intercepted or overridden by an extension handler [Please find more information about extension handlers in the Developer's Guide here:]
- and, as the default dialog does not ask for all information VFPWinsock needs (eg. it does not ask
for SMTP host) you actually need to create an extension handler to make it work in your environment.
There are two events that extension handler can implement:
Following are sample of the two most common scenarios:
- Suppress the default behavior and handle the email event on your own
loPreview = CREATEOBJECT("frmMPPreviewer")
loPreview.iEmail = 1 && show the email icon
loPreview.oExtensionHandler = CREATEOBJECT("SampleExtensionHandler")
loPreview.PreviewXFF(loXFF) && preview the document
loPreview.show(1)
DEFINE CLASS SampleExtensionHandler as Custom
PROCEDURE Email
LPARAMETERS loXFF
LOCAL loSession, lcFileName
loSession=EVALUATE([xfrx("XFRX#INIT")])
lcFileName = Addbs(Sys(2023))+"test.pdf" && temporary file name
If loSession.SetParams(lcFileName,,.T.,,,,"PDF") = 0 && the 3rd parameter says we do not want to preview the PDF
loSession.TransformReport(loXFF)
LOCAL sm
Set Procedure To vfpwinsock ADDITIVE
sm = Createobject("vfp_winsock_send_mail")
sm.smtp_host = "your.smtp.server.here" &&&<<<<<<<<<<<<<<<<<<<< put your smtp server here
sm.From = "eqeus@eqeus.com"
sm.To = "eqeus@eqeus.com"
sm.subject = "Email test"
sm.silence = .T.
sm.attaCHMENT = lcFileName
if !sm.Send()
MESSAGEBOX(sm.erreur,16,"xfrx test")
ELSE
MESSAGEBOX("Message was sent",0,"xfrx test")
ERASE (lcFileName)
endif
Endif
RETURN .F.
ENDPROC
ENDDEFINE
- Use the default dialog box, use an extension handler to supply mail server parameters and let XFRX send the email
DEFINE CLASS SampleExtensionHandler as Custom
PROCEDURE EmailOptions
LPARAMETERS loXFF, loOptions
loOptions.cSMTP_HOST = "mail.your_domain.com"
loOptions.cFrom = "eqeus@eqeus.com"
ENDPROC
ENDDEFINE
FIXs fixed
- Landscape printing has been improved, both clockwise and anti-clickwise rotation is now supported
- Landscape reports printing as portrait in Word has been fixed
- The 10000 lines limit in XLS output has been removed
- Picture shift problem in XLS has been fixed
XFRX version 12.3, Release notes
Release date: 27 August 2007
Important installation notes for 12.x versions
-
The XFRX previewer component requires
FOXTOOLS.FLL library if used in VFP 6.0.
-
XFRXLIB.FLL now also requires
MSVCP71.DLL library to be installed (the previous version required
GDIPLUS.DLL and
MSVCR71.DLL libraries), all three libraries are required now
New features / Updates
FIXs fixed
- Speedup - the XFF file processing and PDF generation should be around 10-20% faster
- "Money" type was not properly handled in some scenarios
- Printing multiple pages per sheet was not working correctly for the "letter" size papers
- Horizontal and vertical lines were not properly rendered in page footer for flow layout output types (FDOC, FRTF)
- A FIX causing slowdown when exporting to PDF was fixed
- PAGETOTAL variable was not correctly evaluated when merging multiple reports
- A combination of a specific font, "stretch" flag and a textbox height could cause an occasional blank line
inclusion
- Appending to PDF - PDF files with a specific format were not correctly supported
- Printing - layout problems with landscape reports have been fixed
- VFP 8 engine - objects on bands wrapped to a new page occasionally got a wrong z-index
- VFP 9 engine
- Cancelling a report was producing an empty document. No whatever was processed till the user cancelled
the report is generated in the document.
- Exporting landscape reports to Word produced a document that appeared as portrait when printed
- AdjustObjectSize event is now properly propagated to listener's successors
- XFRX previewer
- Navigation using searched keywords was not working correctly when SET EXACT was set to ON
- Various tweaks were done to improve the user interface
XFRX version 12.2, Release notes
Release date: 5 December 2006
Important installation notes for 12.x versions
-
The XFRX previewer component requires
FOXTOOLS.FLL library if used in VFP 6.0.
-
XFRXLIB.FLL now also requires
MSVCP71.DLL library to be installed (the previous version required
GDIPLUS.DLL and
MSVCR71.DLL libraries), all three libraries are required now
New features / Updates
-
XFRX Advanced Previewer
-
Printer selection dialog enhanced
The dialog contains new controls allowing for the following options:
-
The number of copies to print
-
Include odd / even or all pages
-
Zoom - printing multiple pages per sheet
-
Export dialog enhanced
The dialog allows for the following new features:
-
Specify the export output targets that would be available for selection
-
When exporting to "Image" output formats, the following new options are available:
-
The number of copies to print
-
Include odd / even or all pages
-
Zoom - printing multiple pages per sheet
-
The DPI of the image created
-
Previewer extension handler
The extension handler now supports two new events (PrintOptions and ExportOptions) - print and export events
after the options dialog is selected and the user clicks [Ok]. The events receive two parameters - the XFF object
reference and an object containing the parameters user selected.
Example: Defining the export output options list, intercepting the XLS export
USE invoices ORDER customer
LOCAL loSession, lnRetval, loXFF, loPreview, loScripts
loSession=EVALUATE([xfrx("XFRX#LISTENER")])
lnRetVal = loSession.SetParams("",,,,,,"XFF") && no name = just in memory
If lnRetVal = 0
REPORT FORM invoices OBJECT loSession
loXFF = loSession.oxfDocument
*
* initialize the previewer
*
SET CLASSLIB TO xfrxlib ADDITIVE
loPreview = CREATEOBJECT("frmMPPreviewer")
loPreview.setExtensionHandler(CREATEOBJECT("MyExtensionHandler"))
loPreview.windowType = 0
loPreview.iBook = 0
loPreview.PreviewXFF(loXFF)
loPreview.show(1)
ENDIF
DEFINE CLASS MyExtensionHandler AS Custom
PROCEDURE Export
LPARAMETERS toXFF
IF USED("_xfExportTypes")
USE IN _xfExportTypes
ENDIF
*
* define my export options list
*
CREATE CURSOR _xfExportTypes (name C(50), extension C(4), targetCode C(10))
INSERT INTO _xfExportTypes VALUES ("HTML", "html", "HTML")
INSERT INTO _xfExportTypes VALUES ("PDF", "pdf", "PDF")
INSERT INTO _xfExportTypes VALUES ("Excel", "xls", "XLS")
ENDPROC
PROCEDURE ExportOptions
LPARAMETERS toXFF, toOptions
IF toOptions.cTarget = "XLS"
*
* my own code to handle output to Excel
*
=MESSAGEBOX("exporting to "+toOptions.cOutputFile)
RETURN .F. && suppress the default behavior
eLSE
RETURN .T. && continue with the default behavior
ENDIF
ENDPROC
ENDDEFINE
-
Printing and exporting to pictures
The SavePicture and PrintDocument methods now have new parameters for controlling whether to include all pages,
odd or even only, the number of copies and the number of pages per sheet.
FIXs fixed
-
frmMPPreviewer class was missing the iBook property
-
Private data session reports were causing crashes in previewer (VFP 9)
-
Opaque colored backgrounds were not printing properly
-
The report previewer wasn't sending the XFF file reference parameter to the extension hander events
-
Displaying multiple pages at once in the previewer was not working correctly (old pages being left on the screen) if
there were not enough pages remaining in the document
-
XFRX was producing corrupted PDFs when fonts were included in the document (error 135)
-
Appending to PDF was improved (more PDF document "subformats" are now supported)
-
Wrapped lines were dropped in the previewer (in some scenarios)
-
OpenOffice - the absolute layout output was not working correctly (blank textboxes) with the latest OpenOffice version
-
The word wrapping algorithm was not respecting the current code page - Cyrillic texts having lines too wide
-
VFP 8 engine - vertical lines are now properly wrapped to a new page when stretched bands wrap
-
If the page range is not specified for SavePicture and PrintDocument method, the whole document is exported/printed
XFRX version 12.1, Release notes
Release date: 5 September 2006
Important installation notes
-
The XFRX previewer component requires
FOXTOOLS.FLL library if used in VFP 6.0.
-
XFRXLIB.FLL now also requires
MSVCP71.DLL library to be installed (the previous version required
GDIPLUS.DLL and
MSVCR71.DLL libraries), all three libraries are required now
New features / Updates
-
XFRX Advanced Previewer
-
The previewer is now able to preview multiple pages at once
A new selection control on the toolbar
can now switch the previewer to display up to 8 pages at the same time
-
Displaying progress bar
A progress bar object reference can be sent to the previewer to show
progress when exporting to PDF and other output formats
Example:
loXFF = XFRX("XFRX#DRAW")
loXFF.openDocument("output.xff")
loProgress = createobject("progress")
&& this is
a progress object that will be passed to the previewer
loPreview = CREATEOBJECT("frmMPPreviewer")
loPreview.oProgress = loProgress && set the reference
loPreview.previewXFF(loXFF, "XFRX sample",1,"XFRX Sample Job name")
&& you can now also specify the printer job name
loPreview.show(1)
define class progress as custom
procedure updateProgress
lpara tnReport,tnPage,tnPercentage
wait window nowait "Exporting page: "+allt(str(tnPage))+" (Press Ctrl+Q to Cancel)"
endproc
enddef
-
Exporting from the previewer can be cancelled by user action
The TransformReport method now reacts to the gnStopXFRX public variable change so that the export in progress
can be cancelled
Example:
PUBLIC gnStopXFRX
ON KEY LABEL CTRL+Q gnStopXFRX = 1
&& the subsequent
report exporting can be cancelled by
&& pressing CTRL+Q
-
Print job name can be specified for each previewing document
A new (4th, optional) parameter of
the PreviewXFF method specifies the printer job name. If the 4th parameter is empty, the 2nd parameter (report
caption) is used as the printer job name. If both 2nd and 4th parameters are empty, the default printer job
name "XFRX" is used.
FIXs fixed
-
Bookmarks were not exporting to PDF
-
OpenOffice output didn't work correctly with SET EXACT flag set to ON
-
Memory leak problem in XFRXLIB.FLL was fixed
-
RightClick and MouseWheel events are now properly handled in the XFRX previewer
- Flow layout options - bands wrapping on a new page were incorrectly rendered as page headers
XFRX version 12.0, Release notes
Release date: 17 August 2006
Installation notes:
-
The XFRX previewer component requires
FOXTOOLS.FLL library if used in VFP 6.0.
-
XFRXLIB.FLL now also requires
MSVCP71.DLL library to be installed (the previous version required
GDIPLUS.DLL and
MSVCR71.DLL libraries)
New features / Updates
-
New output types
-
Flow layout Open Office Writer document (FODT)
-
Absolute layout Open Office Calc Spreadsheet (ODS)
-
Flow layout Open Office Calc Spreadsheet (FODS)
Since 12.0, the Writer and Calc outputs
are supported, both of which can be generated either using the absolute or
flow layout format (please see chapter "Flow layout document option" in the
Developer's guide
for more information about the flow
layout options).
To generate the OpenOffice document, use
the following codes as the 7th parameter (targetType) of the
SetParams method:
Document type
|
targetType
|
OpenOffice Writer document with absolute layout
|
ODT
|
OpenOffice Writer document with flow layout
|
FODT
|
OpenOffice Calc spreadsheet with absolute layout
|
ODS
|
OpenOffice Calc spreadsheet with
flow layout
|
FODS
|
-
XFRX Advanced Previewer
The displaying component was completely reworked, result of which is:
-
Significant speed increase
The previewer is now about 50 times faster in displaying the page content
and moving from one page to another
-
Unicode support
The previewer now supports Chinese and Japanese code pages, correctly displays Hebrew
and Arabic and supports multiple code pages within single report (new feature in VFP 9)
-
Better rendering
As the XFRX previewer in previous version was using GDI, text with small font sizes
was displayed slightly wider, which was causing various layout discrepancies. These problems are now gone as
the new previewer is using GDI+.
-
Rotated text
Rotated labels and fields are now supported in the previewer
-
Searching
Searching in the previewer is now significantly faster. The whole document is searched,
all found occurences are listed in a side panel (as hyperlinks/bookmarks).
-
PDF Output
Unicode is now supported in the PDF output type. This allows for converting of multi-byte code pages (Chinese,
Japanese) as well as supporting multiple code pages withing one report / document.
The unicode samples can be downloaded from:
http://www.eqeus.com/files/xfrx12_demos.zip
-
Printing and export to pictures
-
These output types now also support unicode and multiple character sets.
-
When exporting to pictures, the 7th and 8th parameters can specify a DPI or a zoom factor of the picture
Example:
loXFF.SavePicture("output.bmp","BMP",1,1,24,,"DPI",300) && saves the picture as 300 DPI
loXFF.SavePicture("output.bmp","BMP",1,1,24,,"ZOOM",150) && zoom to 150%
FIXs fixed
-
Occasionally, pictures stored in relative paths to the FRX file locations were not correctly displayed.
-
Font subset embedding didn't work correctly with true type fonts with short "loca" table adressing.
-
Occasional crashing when converting reports to pictures.
-
If the datasession Init method returned .F., the report was not properly cancelled.
-
Pictures with zero height or width were causing a corrupted PDF
-
When PictureDPI property was set, "stretch picture, retain shape" wasn't working correctly in PDF
-
The layout of printing / previewing / generating pictures was improved - "cleaner" lines, proper handling of transparent
/ invisible rectangles
XFRX version 11.3, Release notes
Release
date: 14 March 2006
New features / Updates
-
XFRX Advanced Previewer
-
Tabbed interface
The advanced previewer can now preview multiple documents using the popular tabbed interface approach.
-
Custom event hyperlinks (drill-down)
XFRX now
recognizes two types of hyperlinks:
-
?normal?
hyperlinks (printed in
blue
), which navigate to other places in the report or to an external web address
and
-
?custom event?
hyperlinks (printed in
green
), where XFRX allows for assigning a custom VFP code that will be called when users click the hyperlink.
This ?custom
event? hyperlink feature can be used to invoke application specific actions
(information forms, custom processes, etc.) or for implementing drill-down functionality ? invoking detailed
report where the field user clicked on is taken as a parameter for the
report (for example, clicking a customer name in the report listing all
customers can run a report with detail information about this specific
customer). The new report can be directed to a new page of a multipage
previewer, which could provide a comfortable environment for ?drilling down?
specific information ? with the ability to go back to the original report
without closing the current one, side by side report comparison, exporting /
printing selected reports, etc.
Please find more information about this feature as well
as a step-by-step example in the Developer's guide, "Implementing custom event hyperlinks (drilldown) in
XFRX previewer" chapter.
-
Fake toolbar option
The previewer can now optionally replace the default toolbar with a toolbar-like control placed above the previewer
control. This option can be very useful if the previewer form is not inside the main VFP screen.
-
New toolbar icon - "Export"
If the user clicks at the new Export icon, a dialog with the output type and the file name selection
is displayed and the output document is generated based on options selected.
-
Previewer extension handler
The extension handler allows for extending the functionality of the basic classes without need of creating
subclasses. All you need is to create a custom class, which implements certain methods. The custom class is
registered with the XFRX previewer class (using SetExtensionHandler method) and the previewer calls the extension
methods on appropriate events.
-
The previewer instantiation is now significantly simplified
A complete standalone-window previewer is now shipped with XFRX - all you need to do to make it work is
to instantiate a class and call one of its methods with an XFF file to preview as a parameter. Alternatively,
you can use the prepared single document or multiple documents (tabbed interface) controls to your forms.
Please find more information about the advanced previewer in the Developer's guide, "XFRX previewer" chapter.
-
German localization is now available
-
PDF output format
-
Hebrew code page (cp 1254) is now supported
-
Pictures are binary comparised to reduce the size of PDF documents with repeated pictures
-
VFP 9: DynamicLineHeight property is used to control if the text field background color should fill the whole textbox (VFP
9 default behavior) or only the actual text printed (VFP 8 backward compatibility behavior)
-
General
-
Target image DPI can be specified (large pictures can be downsampled to reduce the result document size) [see PictureDPI
property for XFRXListener and XFRXSession classes at Developer's guide, "Properties and methods common in XFRXListener
and XFRXSession classes" chapter].
-
Image quality can be specified for ActiveX objects [see DefaultPictureFormat property for XFRXListener and XFRXSession classes
at Developer's guide, "Properties and methods common in XFRXListener and XFRXSession classes" chapter].
FIXs fixed
-
Strikethrough font attribute is now correctly recognized
-
Exporting to image formats was crashing in VFP7.
-
XFRX Previewer
-
SetLanguage method was modifying the actual SELECT area
Evaluation package note: The Prevdemo directory with the XFRX previewer implementation sample has been removed as the same functionality
is now supported by the "native" class frmMPPreviewer of XFRXLib.vcx.
XFRX version 11.2, Release notes
Release
date: 6 December 2005
New features
-
OpenOffice Writer document format is now
supported.
OpenOffice is using the OASIS Open Document Format for Office Applications,
which is also supported by a variety of other office applications including
StarOffice, KOffice, and IBM Workplace. XFRX generates the file format
natively, so OpenOffice doesn?t have to be installed on the computer where the
document is generated.
You can find more information about the OASIS Open Document Format at
http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=office.
More information about OpenOffice can be found at
http://www.openoffice.org.
-
TIFF, GIF, PNG, BMP and JPEG picture format is now supported in PDF and RTF output types. (BMB and JPEG formats
are supported natively, for other picture formats the GDI+ version of XFRXLIB.FLL is required)
XFRX version
11.1, Release notes
Release
date: 7 September 2005
New features
-
Turkish (1254) and Greek (1253) code pages are now
supported in the PDF output
-
A printer properties dialog
for a given printer can now be invoked from XFRX, returning the printer
properties structure as a string. This string can be saved as a user
preference and sent to XFRX when printing. This functionality is similar to
SYS(1037) introduced in VFP 9.0, with two
differences/improvements:
-
The page setup and printer
selection dialogs are skipped, which saves two clicks for the users and
preempts confusions in case the printer has already been selected. (Very
often, there is a printer selection box in the "main" form and a button to
invoke printer properties).
-
This implementation works in earlier versions of Visual FoxPro, too (from VFP 5.0)
-
A custom printer properties
structure can be used when XFRX transforms the output to a
printer
-
HNDLIB.DLL and XFRXLIB.FLL versions check. When the required library version is not available, the warning message
displays:
FIX fixes
-
General issues
-
XFRX now supports using THISFORM in before/after
band expressions
-
VFP 9.0 related issues
-
RANGE clause is now supported
-
RTF issues
-
The problem with long text being wrapped too early has
been fixed
-
DOC issues
-
A FIX in rectangle transparency/back color calculation
has been fixed
-
XFRX previewer
-
Right aligned labels position shift has been
fixed
-
Print engine
-
A FIX in rectangle transparency/back color calculation
has been fixed
-
TABs are now supported in the printed output
-
Problems with early wrapping and stretched text being
too high have been fixed.
XFRX version
11.0, Release notes
Release
date: 2 June 2005
New features
-
This version introduces custom scripts. Custom scripts are methods or code snippets written in Visual FoxPro, which
can be linked to objects on the report or triggered during the processing of the report, and can be used to "draw"
to the report being processed: to generate pictures, add any custom graphics (graphs, watermarks, etc.), text
objects, hyperlinks, bookmarks and many more.
The new version also allows to bypass the reporting engine altogether and create any of the output formats supported
by XFRX from scratch ? directly from your Visual FoxPro code.
Please see the Developer's guide at
http://www.eqeus.com/xfrxmanual.php for more information.
-
Text
message of the error codes returned by SetParam method can now be retrieved
with ErrorMessage method.
FIX fixes
-
General issues
-
Striked font style is now supported in all output
formats (except plain text :) )
-
If a report didn't exist, the warning message
was not suppressed in the silent mode
-
SavePicture method was crashing when the page range was
specified with string value (e.g. "4-5")
-
VFP 9.0 related issues
-
The problems with XFRXListener initializations when the
support libraries were not in the default directory have been
fixed
-
FRTF issues
-
The document was displayed in CP 1251 (in cyrilic) when
opened in Open Office.
-
Page size calculation problem (long pages were wrapping
to a new page) has been fixed
-
XLS issues
-
Transparent textboxes are now correctly converted as
trasparent
-
XFRX previewer
-
Problems with line colors have been fixed
-
The printer selection dialog box is now
localizable
XFRX version
10.2, Release notes
Release
date: 20 April 2005
New
features
-
XFRX is now able to print the generated reports. You can print the stored XFF files as well as print directly from
the advanced previewer.The advanced previewer implements a simple printer selection dialog, with an option
to select page ranges to print, which can be easily overwritten by a custom form. Please see the Developer's
guide at
http://www.eqeus.com/xfrxmanual.php for more information.
FIX fixes
-
VFP 9 related issues
-
SetOtherParams method is now correctly
implemented
-
PDF issues
-
8-bit grayscale JPEG pictures are now supported in PDF
-
XFRX now saves repeated pictures more effectively (reduces the size of the final document)
-
If the PDF file could not be created, wrong return code was returned (-1 instead of -3). This problem has been
fixed.
-
XLS issues
-
rectangle background color is now supported
-
XFRX is now able to generate multiple sheets for a single report run, in two modes: sheet-per-page or sheet-per-group
-
The sheet names can now be defined as an expression evaluated for each sheet
-
The grid can now be hidden in the generated XLS documents
-
By default, the content of non-stretchable fields is
cut according to the size of the field. XFRX can now optionally leave the
full content of the field in the Excel cell.
-
XFRX Previewer
-
The problem with searching with "Use
Wildcards" and "Search Backward" flags has been fixed
-
"Search Next" was not working correctly if searching
conditions where modified
-
The found expression was not correctly highlighted if
"Use Wildcards" flag was on
-
Reporting engine
-
Pictures stretching across multiple bands should
print once per page
-
XFRXLIB.FLL version checking has been added
-
Various layout problems in FDOC and FRTF output
targets have been fixed