Copyright (c) Hyperion Entertainment and contributors.

Difference between revisions of "AmigaOS Manual: Printing"

From AmigaOS Documentation Wiki
Jump to navigation Jump to search
(Created page with "A printer configured in the Printer Preferences can be used for printing ANSI text and text files. Depending on the selected printer driver, you can print with a parallel port...")
 
m
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
A printer configured in the Printer Preferences can be used for printing ANSI text and text files. Depending on the selected printer driver, you can print with a parallel port printer or an USB printer ('''usbprinter.device''') or print to a file ('''printtofile.device'''). Printing graphics is not supported.
+
A printer configured in the [[AmigaOS Manual:Printer Preferences|Printer Preferences]] can be used for printing ANSI text and text files. Depending on the selected printer driver, you can print with a parallel port printer or an USB printer ('''usbprinter.device''') or print to a file ('''printtofile.device'''). Printing graphics is not supported.
   
 
Printing is done using the '''PRT:''' device. The printing procedure is as follows:
 
Printing is done using the '''PRT:''' device. The printing procedure is as follows:
Line 16: Line 16:
 
| RAW || RAW/S || Switch for turning carriage return translation off.
 
| RAW || RAW/S || Switch for turning carriage return translation off.
 
|-
 
|-
| TRANSPARENT || TRANSPARENT/S || Switch for disabling carriage translation and ANSI sequence substitution.
+
| TRANSPARENT || TRANSPARENT/S || Switch for disabling carriage return translation and ANSI sequence substitution.
 
|-
 
|-
 
| UNIT || UNIT/K/N || Numeric argument telling which printer device unit should be used. The default unit is 0.
 
| UNIT || UNIT/K/N || Numeric argument telling which printer device unit should be used. The default unit is 0.
Line 23: Line 23:
 
Parameters are separated with '''/'''. For example to open a '''PRT:''' device unit 0 and disable translation and substitution:
 
Parameters are separated with '''/'''. For example to open a '''PRT:''' device unit 0 and disable translation and substitution:
 
<syntaxhighlight lang="rexx">
 
<syntaxhighlight lang="rexx">
OPEN( 'printer', 'PRT:TRANSPARENT/UNIT=', 'W' )
+
OPEN( 'printer', 'PRT:TRANSPARENT/UNIT=0', 'W' )
 
</syntaxhighlight>
 
</syntaxhighlight>
= Program 16. PrintTestPage.rexx =
+
= Program 29. PrintTestPage.rexx =
 
<syntaxhighlight lang="rexx">
 
<syntaxhighlight lang="rexx">
 
/*
 
/*
Line 68: Line 68:
 
PARSE VAR charset out +pageWidth charset
 
PARSE VAR charset out +pageWidth charset
 
WRITELN( 'printer', out )
 
WRITELN( 'printer', out )
  +
END
end
 
 
WRITELN( 'printer', '' )
 
WRITELN( 'printer', '' )
 
WRITELN( 'printer', separator )
 
WRITELN( 'printer', separator )

Latest revision as of 15:17, 27 March 2019

A printer configured in the Printer Preferences can be used for printing ANSI text and text files. Depending on the selected printer driver, you can print with a parallel port printer or an USB printer (usbprinter.device) or print to a file (printtofile.device). Printing graphics is not supported.

Printing is done using the PRT: device. The printing procedure is as follows:

  1. Open the PRT: device for writing.
  2. Write the text to be printed to the device.
  3. Close the device.

By default the PRT: device processes ANSI sequences before sending the text to the printer. This can be changed. When opening the device, it can be instructed to not substitute any ANSI sequences or to just turn the carriage return translation off.

While opening the PRT: device the following keywords are available:

Keyword Template Description
RAW RAW/S Switch for turning carriage return translation off.
TRANSPARENT TRANSPARENT/S Switch for disabling carriage return translation and ANSI sequence substitution.
UNIT UNIT/K/N Numeric argument telling which printer device unit should be used. The default unit is 0.

Parameters are separated with /. For example to open a PRT: device unit 0 and disable translation and substitution:

OPEN( 'printer', 'PRT:TRANSPARENT/UNIT=0', 'W' )

Program 29. PrintTestPage.rexx

/*
** Print a test page
*/
 
/* Get date and time */
createdDate = TIME() || ' ' || DATE()
 
/* Set page width (characters) */
pageWidth = 69
 
/* Use printer unit 0 */
printerUnit = 0
 
/*--- Open printer ---*/
IF ( ~OPEN( 'printer', 'PRT:UNIT=' || printerUnit, 'W' ) ) THEN DO
    SAY 'Cannot connect to the printer.'
    EXIT 0
END
 
/* Compose title */
titleL = 'Line Mode Printing Test Page'
titleR = RIGHT( 'AmigaOS 4', pageWidth )
title  = OVERLAY( titleL, titleR )
 
/* Compose character set */
charset = XRANGE( ' ', '/') || XRANGE( ':', '@' )
charset = charset || XRANGE( '[', '`' ) || XRANGE( '{', '~' )
charset = charset || XRANGE( '0', '9' )
charset = charset || XRANGE( 'A', 'Z' ) || XRANGE( 'a', 'z' )
 
/* Separator line */
separator = COPIES( '-', pageWidth )
 
/*--- Print test page ---*/
WRITELN( 'printer', title )
WRITELN( 'printer', '' )
WRITELN( 'printer', separator )
WRITELN( 'printer', '' )
DO WHILE ( LENGTH( charset ) > 0 )
    PARSE VAR charset out +pageWidth charset
    WRITELN( 'printer', out )
END
WRITELN( 'printer', '' )
WRITELN( 'printer', separator )
WRITELN( 'printer', '' )
WRITELN( 'printer', 'Page width: ' || pageWidth || ' characters' )
WRITELN( 'printer', 'Printer: Workbench printer (SYS:Prefs/Printer)' )
WRITELN( 'printer', 'Created at: ' || createdDate )
WRITELN( 'printer', 'Printed at: ' || TIME() || ' ' || DATE() )
 
/*--- Close printer ---*/
CLOSE( 'printer' )