FOR PageCounter = 1 TO SavePageCount * Last parameter of 101 creates a tif file (used for first page only); 201 appends to an existing tif file (subsequent pages). ReportListenerObj.OutputPage(PageCounter, fax_path + ALLTRIM(STR(PageCounter)) + '.bmp', 105) WITH _SCREEN.System.Drawing LOCAL loMyBitmap AS xfcBitmap LOCAL myEncoder AS xfcEncoder LOCAL myEncoderParameters AS xfcEncoderParameters loMyBitmap = .Bitmap.New(fax_path + ALLTRIM(STR(PageCounter)) + '.bmp') myEncoder = .Imaging.Encoder.Compression myEncoderParameters = .Imaging.EncoderParameters.New(1) LOCAL loMonoChrBmp as xfcBitmap loMonoChrBmp = loMyBitmap.GetMonochrome() loMyBitmap = NULL myEncoderParameters.Param(1) = .Imaging.EncoderParameter.New(myEncoder, .Imaging.EncoderValue.CompressionCCITT4) loMonoChrBmp.Save(fax_path + ALLTRIM(STR(PageCounter)) + '.tif', .Imaging.ImageFormat.Tiff, myEncoderParameters) DELETE FILE (fax_path + ALLTRIM(STR(PageCounter)) + '.bmp') ENDWITH ENDFORThanks,
>>WITH _SCREEN.System.Drawing >> LOCAL multif AS xfcBitmap >> LOCAL page2 AS xfcBitmap >> LOCAL page3 AS xfcBitmap >> LOCAL myImageCodecInfo AS xfcImageCodecInfo >> LOCAL myEncoder AS xfcEncoder >> LOCAL myEncoderParameter AS xfcEncoderParameter >> LOCAL myEncoderParameters AS xfcEncoderParameters >> >> && Create three Bitmap objects. >> multif = .Bitmap.New(fax_path + '1.tif') >> page2 = .Bitmap.New(fax_path + '2.tif') >> >> && Get an ImageCodecInfo object that represents the TIFF codec. >> myImageCodecInfo = .Imaging.ImageFormat.Tiff >> >> && Create an Encoder object based on the GUID for the SaveFlag parameter category. >> myEncoder = .Imaging.Encoder.SaveFlag >> >> && Create an EncoderParameters object An EncoderParameters object has an array of EncoderParameter >> && objects. In this case, there is only one EncoderParameter object in the array. >> myEncoderParameters = .Imaging.EncoderParameters.New(1); >> >> myEncoderParameter = .Imaging.EncoderParameter.New(myEncoder, .Imaging.EncoderValue.MultiFrame) >> myEncoderParameters.Param[1] = myEncoderParameter >> multif.Save(fax_path + file_copy + '.tif', myImageCodecInfo, myEncoderParameters) >> >> *!* Save the second page (frame). >> myEncoderParameter = .Imaging.EncoderParameter.New(myEncoder, .Imaging.EncoderValue.FrameDimensionPage) >> myEncoderParameters.Param[1] = myEncoderParameter >> multif.SaveAdd(page2, myEncoderParameters) >> >> *!* Close the multiple-frame file. >> myEncoderParameter = .Imaging.EncoderParameter.New(myEncoder, .Imaging.EncoderValue.Flush) >> myEncoderParameters.Param[1] = myEncoderParameter >> multif.SaveAdd(myEncoderParameters) >>ENDWITH