Q: Can I incorporate a logo into my SQR output (versions prior to v3.0.x)?
A: Yes, see 2 following examples, the first for PCL, the second for POSTSCRIPT. This example is for PCL (it assumes the knowledge of PCL):
---------------------------- Example code begins here -------------------------
begin-setup
#define record-length 800
declare printer
type=HPLASERJET
left-margin=.60 top-margin=.75
font=5
line-size=12
point-size=12 char-size=7.2
orientation=portrait
end-setup
begin-report
date-time (1,60) DD-MM-YYYY
graphic (20,10,50) horz-line 20
graphic (20,40,5) vert-line 50
graphic (30,10,10) box 20 20 90
graphic (30,22,20) box 20 20 0
print 'MITI' (5,1)
print 'Support' (6,1)
print 'SQR Supports PCL LOGO !! ' (12,1)
do logo
do pr-data
end-report
begin-procedure c4($new) ! Concatenating the final PCL image.
let $_image = $_image || $_ESC || '*b4W' || $new
end-procedure
begin-procedure c3($new) ! Concatenating the final PCL image.
let $_image = $_image || $_ESC || '*b3W' || $new
end-procedure
begin-procedure pr-data
print 'MY TABLES ' (29,22)
position (+1)
begin-select
table_name (+1,23)
from user_tables
where rownum < 18
end-select
end-procedure
begin-procedure logo ! Encoding PCL escape sequences that will form the image.
encode '<27>' into $esc
encode '<27>*p160x40Y' into $image
move '*c440H' to $str ! placements
let $image = $image || $esc || $str
move '*c400V' to $str
let $image = $image || $esc || $str
move '*c3G' to $str
let $image = $image || $esc || $str
move '*c2T' to $str
let $image = $image || $esc || $str
move '*c3P' to $str
let $image = $image || $esc || $str
print-direct $image
move '' to $image
encode '<27>*p175x60Y<27>*t75R<27>*r0F<27>*r1A' into $image
encode '<7><1><128>' into $str
do c3($str)
encode '<7><1><192>' into $str
do c3($str)
encode '<7><1><224>' into $str
do c3($str)
encode '<7><1><240>' into $str
do c3($str)
encode '<7><1><252>' into $str
do c3($str)
encode '<7><1><254>' into $str
do c3($str)
encode '<7><1><255>' into $str
do c3($str)
encode '<7><1><255><128>' into $str
do c4($str)
encode '<255><255><255><192>' into $str
do c4($str)
encode '<255><255><255><224>' into $str
do c4($str)
encode '<255><255><255><240>' into $str
do c4($str)
encode '<255><255><255><248>' into $str
do c4($str)
encode '<255><255><255><252>' into $str
do c4($str)
encode '<255><255><255><254>' into $str
do c4($str)
encode '<255><255><255><255>' into $str
do c4($str)
encode '<255><255><255><255>' into $str
do c4($str)
encode '<255><255><255><254>' into $str
do c4($str)
encode '<255><255><255><252>' into $str
do c4($str)
encode '<255><255><255><248>' into $str
do c4($str)
encode '<255><255><255><240>' into $str
do c4($str)
encode '<255><255><255><224>' into $str
do c4($str)
encode '<255><255><255><192>' into $str
do c4($str)
encode '<7><1><255><128>' into $str
do c4($str)
encode '<7><1><255>' into $str
do c3($str)
encode '<7><1><254>' into $str
do c3($str)
encode '<7><1><252>' into $str
do c3($str)
encode '<7><1><248>' into $str
do c3($str)
encode '<7><1><240>' into $str
do c3($str)
encode '<7><1><224>' into $str
do c3($str)
encode '<7><1><192>' into $str
do c3($str)
encode '<7><1><128>' into $str
do c3($str)
encode '<27>*rC' into $str
let $image = $image || $str
print-direct $image ! Printing the concatenated image.
end-procedure
---------------------------- Example code ends here ---------------------------
This program demonstrates how to include a logo into your SQR POSTSCRIPT document. It assumes POSTSCRIPT syntax knowledge. Steps:
1. Prepare a POSTSCRIPT file drawing the logo.
2. Read that file into your SQR program.
3. Invoke the logo using PRINT-DIRECT command.
---------------------------- Example code begins here -------------------------
begin-setup
#define record-length 400
declare printer
type=POSTSCRIPT
left-margin=.60
top-margin=.75
font=3
line-size=12
point-size=12
char-size=7.2
orientation=portrait
page-size 66 80
end-setup
begin-report
do read-logo
date-time (1,60) DD-MM-YYYY
print 'POSTSCRIPT OUTPUT' (2,60)
graphic (20,10,50) horz-line 20
graphic (20,40,5) vert-line 50
graphic (30,10,10) box 20 20 90
graphic (30,22,20) box 20 20 0
print-direct '30 50 10 9 2.00 0.03 box'
print 'MITI Support' (5,1)
print-direct '50 700 0.3 OurLogo'
do pr-data
end-report
begin-procedure read-logo ! Opening, reading and closing the file
input $psfile type=char ! containing the PS logo code.
open $psfile as 1 for-reading record={record-length} status=#stat
if #stat != 0
stop
end-if
while not #end-file
read 1 into $record:{record-length}
print-direct $record ! Printing LOGO.
end-while
close 1
end-procedure
begin-procedure pr-data ! Procedure getting data from database.
print 'MY TABLES ' (29,22)
position (+1)
begin-select
table_name (+1,23)
from user_tables
where rownum < 18
end-select
end-procedure
---------------------------- Example code ends here ---------------------------