Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. the report is generate as XFF cursor
  2. savePicture method of the XFRX#DRAW class is called to generate the picture (Please see XFRX#DRAW class reference for details and a complete list of parameters)

...

Code Block
languagevb
linenumberstrue
LOCAL m.loSession, m.lnRetVal
m.loSession= xfrx("XFRX#INIT")
*
* nothing is sent as the file name, so only a memory cursor is created
*
m.lnRetVal =m.loSession.SetParams(,,,,,,"XFF")                           
IF m.lnRetVal = 0
   m.loSession.ProcessReport("invoices")                   
   local m.loXFF, m.lnI, m.lnJpegQuality
   *
   * the finalize method returns a XFRX#DRAW object reference,
   * which will be used to save the pictures
   *
   m.loXFF = loSession.finalize()
   m.lnJpegQuality = 80
   *
   * loXFF.pagecount contains the number of pages of the 
   * report that 
   * was just generated
   *
   * we are now going to save all pages one by one as 
   * separate jpeg pictures
   *
   FOR m.lnI = 1 TO m.loXFF.pagecount
       m.loXFF.savePicture("page"+ALLTRIM(STR(m.lnI))+".jpg", ;
                           "jpg",m.lnI,m.lnI,24,m.lnJpegQuality)
   ENDFOR
   =MESSAGEBOX("Pictures saved.")
ENDIF

 


You can generate the following picture formats: TIFF (TIF), BMP, GIF, JPEG (JPG), PNG, EMF. The TIFF supports multiple pages so the whole report gets converted to a single file. For other output formats one file per page is created - the file name is taken from the tcFilename parameter with _%PAGENO%.

The following table shows the mapping between extended parameters and the parameters of the SavePicture() method.

SetOtherParams()SavePicture()
FROMtnFrom
TOtnTo
BPPtnBpp
JPEGQUALITYtnJPEGQuality
THUMBNAILWIDTHtnThumbnailWidth
THUMBNAILHEIGHTtnThumbnailHeight
PAGESPERSHEETtnPagesPerSheet
ALLEVENODDtnAllEvenOdd
FINDSTRING laFindString  
TRANSPARENT (boolean)liBacgroundMode (number)

...