*VIEWER* |
Print Preview |
1. |
Open for Preview: |
OPEN (chan)"*VIEWER* [ ;options ]" |
2. |
Via WindX: |
CALL "*WindX.utl;SPAWN","*VIEWER* -XT=1 -ARG filename[DELETE]" |
3. |
Via Command Line: |
path\PVX\PXPLUS.EXE"*VIEWER* -XT=1 -ARG filename[DELETE]" |
chan |
Channel or logical file number (e.g. open (1)"*viewer*"). |
Optional keyword. Use the DELETE to tell PxPlus to erase the file when the viewer closes. | |
filename$ |
Name of the file that the print job is stored in or being spooled to. The file must be a serial file and not locked. See SERIAL directive. To override the normal requirement that a serial file be locked, use 'LU' system parameter. |
PVX | PXPLUS.EXE |
Command to launch PxPlus. See Launching PxPlus. |
Keyword, not case-sensitive. Special interface, enclosed in quotation marks within OPEN directive. (Include * asterisks in syntax) | |
options |
A series of semi-colon separated options that can be used to set the Margins, Orientation, Paper size, etc. of the printer that the viewer is to emulate. Specific properties are listed under WINPRT_SETUP Properties. |
PxPlus utility;function. See Format 10: [WDX] and *WindX.utl. |
The *VIEWER* is a special device file for previewing reports. The *VIEWER* is able to:
An OPEN may specify a number of semi-colon separated options for invoking the VIEWER interface. These may be included as part of the path or within the OPT= clause:
OPEN(chan,OPT="option;option;…")"*VIEWER*"
Two special options (INLINE and ONCLOSE) can be used to control how the preview is created at run time. These and other options are described below.
*VIEWER* Output Parameters
The options that can be used to define PDF output are:
Option |
Description |
COLLATE=YES | NO |
(Printer Output Only) Collate paper. |
COLOR=YES | NO or COLOUR=YES | NO |
(Printer Output Only) Colored print. |
COLUMNS=num |
(Text-based Reports Only) Minimum number of columns. |
COPIES=num |
(Printer Output Only) Set number of copies. |
CREATED |
Used to document the output file when it is saved. |
DPI |
Resolution in dots per inch. |
FONT=fontspec |
Default font for reports. Defaults to "Courier New, -10". |
FONTSIZE=num |
Default font size for reports. |
INLINE |
|
MARGINS=top :left:right:bottom or MARGIN=top:left:right:bottom |
Defines margin settings in 1/1000ths of an inch. |
ONCLOSE |
Invokes a new instance of the viewer interface when the printer channel is closed. |
ORIENTATION=LANDSCAPE | PORTRAIT |
Swap output width for length, and vice versa. |
PAGINATIONAT=num |
Auto form feed at row. |
PAPERSIZE=num |
Define paper size. |
PRINTER=string |
Associated printer name. |
QUALITY=num |
(Printer Output Only) Specifies DPI, 0 (or unspecified) = printer default. |
RANGE=num | from:to |
Select only specific page number or range to print. |
ROWS=num |
(Text-based Reports Only) Minimum number of rows. |
SCALETOFIT |
(Text-based Reports Only) Resize report to fit paper size. |
SOURCE=num |
Set specific paper source. |
SUPPRESSALLBLANKPAGES |
Suppress all blank pages. |
SUPPRESSFIRSTBLANKPAGE |
Suppress first blank page. |
SUPPRESSWATERMARKS |
Suppress watermark display. |
TITLE=string |
Add Title tag to preview. Can also be used to complete the information in the Windows Print Job window. |
USER |
Used to document the output file when it is saved. |
WATERMARKIMAGE=string |
Image name, assumes 100 pixels to the inch. |
WATERMARKIMAGELOCATION=num |
0 = Centered |
WATERMARKTEXT=string |
Watermark text. |
WATERMARKTEXTFONT=fontspec |
Font for watermark text. |
WATERMARKTEXTLOCATION=num |
0 = Centered |
WATERMARKTEXTROTATION=num |
Text rotation, angle in degrees. |
The following six options are used only if the 'CP', 'EP' and 'SP' mnemonics are encountered in the report. If not set, then the viewer will attempt to set correct values for each. It is not necessary to set all of these items. Simply setting SPCols is enough. The values for 'CP' and 'EP' are calculated, and the Rows= will all default to the same value.
Option |
Description |
CPCOLS=num |
0 to 255, number of columns when in 'CP'. |
CPROWS=num |
0 to 255, number of rows when in 'CP'. |
EPCOLS=num |
0 to 255, number of columns when in 'EP'. |
EPROWS=num |
0 to 255, number of rows when in 'EP'. |
SPCOLS=num |
0 to 255, number of columns when in 'SP'. |
SPROWS=num |
0 to 255, number of rows when in 'SP'. |
The following example illustrates how to open and use the *VIEWER* for print preview:
CHAN=unt;
open (CHAN)"*VIEWER*"
print (CHAN)'font'("Courier New",-10),'DF',
print (CHAN)'font'("Arial",2),'text'(@x(2),@y(2),"Fonted Text"),
print (CHAN)'picture'(@x(3),@y(5),@x(43),@y(30),"*win/nomads2"),
The *VIEWER* does not return values for maximum column/line; i.e. in MXC( ) / MXL( ) functions.
The following example illustrates how to approximate the number of columns:
CHAN=unt;
open (CHAN)"*WINPRT* POINTSZ=-10"
LOOP:
print (CHAN)'font'("Courier New",POINTSZ),'DF',
if mxc(CHAN)<132 \
then POINTSZ+=2;
goto LOOP
LINES=mxl(CHAN),COLS=mxc(CHAN)
print (CHAN)'AB', ! <--- aborts print job
close (CHAN)
open (CHAN)"*VIEWER*"
print 'font'("Courier New",POINTSZ),'DF',mn/line