Exporting Your Report to a RTF, PDF, or HTML File
The following program shows how to export a report into PDF, RTF or HTML output. The OIPI does not export into Text files- too much formatting would be lost.
By varying the INIT message of Set_Printer(), the export file type can be changed.
Subroutine OIPI_Export_Example(Parent) /* -------------------------------------------------------------------------- This program is proprietary and is not to be used by or disclosed to others, nor is it to be copied without written permission from Revelation Technologies, Inc. VERSION : OI 3.7.5 PURPOSE : An example program to show how to use OIPI to export reports into common file formats AUTHOR : Mike Ruane CREATED : October, 2001 PROCEDURES : This module may be called either as a stored procedure or as an internal subroutine. WARNINGS : THEORY OF OPERATION : This program lets a developer run reports written in Basic+ using the OIPI to generate reports into HTML or RTF file formats. REVISION HISTORY (Most CURRENT first) : DATE IMPLEMENTOR FUNCTION -------- ----------- -------- MM-DD-YY initials Modification ---------------------------------------------------------------------------*/ DECLARE FUNCTION Set_Printer, Msg $INSERT OIPRINT_EQUATES $Insert Colors *--- * print to a PDF File *--- Filename = 'Text Test Print':@FM:'' :@FM: 6 :@FM: 'C:\temp\pdf_file.pdf' x = Set_Printer("INIT",FILENAME,'','','',5:@VM:@VM:1) text = 'Export to PDF Example' x = Set_Printer("TEXT",TEXT) For I = 1 To 10 TEXT = 'Line ':I x = Set_Printer("TEXT", TEXT) Next I *--- * print a table *--- table = "1,2,3,4":@fm table := "5,6,7,8/" table := "9,10,11,12/" table := "Row Number 4 - Column Number 1,Row Number 4 - Column Number 2," table := "Row Number 4 - Column Number 3,Row Number 4 - Column Number 4" convert "," to @vm in table convert "/" to @fm in table head = "Column 1":@VM: "Column 2":@VM: "Column 3":@VM: "Column 4" Column_Defs = "+<2160":@VM: "_^2160":@VM: "~>2160":@VM: "=2160" x = Set_Printer("TEXT", @FM: "Here's a Table":@FM) x = Set_Printer("ADDTABLE", Column_Defs, head, table, Red$, Cyan$, 0, TB_ALL) x = Set_Printer("TERM") * --- * print to an RTF File *--- Filename = 'RTF Test Print':@FM:'' :@FM: 1 :@FM: 'C:\temp\rtf_file.rtf' x = Set_Printer("INIT",FILENAME,'','','',5:@VM:@VM:1) text = "Export to RTF Example" x = Set_Printer("TEXT",TEXT) For I =1 TO 10 TEXT = 'Line ':I x = Set_Printer("TEXT", TEXT) Next I * --- * print a table *--- table = "1,2,3,4":@fm table := "5,6,7,8/" table := "9,10,11,12/" table := "Row Number 4 - Column Number 1,Row Number 4 - Column Number 2," table := "Row Number 4 - Column Number 3,Row Number 4 - Column Number 4" convert "," to @vm in table convert "/" to @fm in table head = "Column 1":@VM: "Column 2":@VM: "Column 3":@VM: "Column 4" Column_Defs = "+<2160":@VM: "_^2160":@VM: "~>2160":@VM: "=2160" x = Set_Printer("TEXT", @FM: "Here's a Table":@FM) x = Set_Printer("ADDTABLE", Column_Defs, head, table, Red$, Cyan$, 0, TB_ALL) STAT = Set_Printer("TERM") * --- * Print to an HTML File *--- Filename ='HTML Test Print':@FM:'' :@FM: 4 :@FM: 'C:\temp\HTMLfile.HTML' x = Set_Printer("INIT",FILENAME,'','','',5:@VM:@VM:1) text = "Export to HTML Example" x = Set_Printer("TEXT", TEXT) * --- * Print 10 Lines *--- For I = 1 TO 10 TEXT = 'Line ':I STAT = Set_Printer("TEXT", TEXT) Next I * --- * print a table *--- table = "1,2,3,4":@fm table := "5,6,7,8/" table := "9,10,11,12/" table := "Row Number 4 - Column Number 1,Row Number 4 - Column Number 2," table := "Row Number 4 - Column Number 3,Row Number 4 - Column Number 4" convert "," to @vm in table convert "/" to @fm in table head = "Column 1":@VM: "Column 2":@VM: "Column 3":@VM: "Column 4" Column_Defs = "+<2160":@VM: "_^2160":@VM: "~>2160":@VM: "=2160" x = Set_Printer("TEXT", @FM: "Here's a Table":@FM) x = Set_Printer("ADDTABLE", Column_Defs, head, table, Red$, Yellow$, 0, TB_ALL) x = Set_Printer("TERM") x = msg('','Process has completed') return 0