In the old school days before the 3Ps - PASTA PDF Postscript and yonks before BIP there was character mode printing.
Actually, there still be character mode printing last time I checked. Gotta love those accountant's reports.
Being one of the ?unlucky? few operating outside the USA meant that the default printer driver initialization strings - or should that be initialisation - just didn't cut it with our tall n slim A4 paper vs short n fat US Letter paper. Hey, I'm not insinuating anything ;-)
And it was always a challenge to get character mode printing sorted for A4 paper without double spaced lines and printers that spat the dummy when you sent them US Letter. I could never understand why Oracle didn't deliver a few friendly print drivers for A4 paper.
Anyway one day many years ago I got out the handy character printing toolkit of:
And decided to save a few trees and get portrait 80 x 66, landscape 132x66 and landwide 180x66 printing nicely making best use of space, fonts and not flowing 5 or so lines over to the next page.
Before this info is relegated to the age of dinosaurs, this is what I came up with:
A4 Paper Printer Driver Initialization Strings for HPLJ4 (or higher) printers
A4 Portrait 80x66
/eE/e&l0o26a7C/e(s0t0p11H/e&a5L/e&k2G
A4 Landscape 132x66
/eE/e(0N/e&l1o26a5.25c-340z150u0S/e(s0p13H/e&k2G
A4 Landwide 180x66
/eE/e(0N/e&l1o26a5.25c-340z150u0S/e(s0p16.66H/e&k6.75h2G/e(2N
Oh, while I'm here I should say that the o26 means A4 paper and the &k2G means set LF to CRLF which solves lines being printed in cascading style and disappearing off the right hand side of the page like this:
abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz
Of course, you can also add a duplex mode via a bunch of additional drivers to save even more trees by adding one of:
&l1S - Duplex Long Edge
&l2S - Duplex Short Edge
Or even add some more drivers with relevant tray control with one of:
&l1H Feed from Tray 1 (upper)
&l2H Manual Feed
&l3H Manual Envelope Feed
&l4H Feed from Tray 2 (lower)
&l5H Feed from paper deck
A very quick and nasty way to get this sorted in an environment not using US Letter paper with printers setup as type HPLJ4SI is (not supported of course), oh and remember to restart the concurrent managers:
set define ~ update fnd_printer_drivers set --user_printer_driver_name = 'LANDSCAPE A4 for Printer HPLJ4SI', description = 'Init was ' || initialization, initialization = '/eE/e(0N/e&l1o26a5.25c-340z150u0S/e(s0p13H/e&k2G', last_update_date = sysdate where printer_driver_name = 'LANDSCAPEHPLJ4SI'; update fnd_printer_drivers set --user_printer_driver_name = 'LANDWIDE A4 for Printer HPLJ4SI', description = 'Init was ' || initialization, initialization = '/eE/e(0N/e&l1o26a5.25c-340z150u0S/e(s0p16.66H/e&k6.75h2G/e(2N', last_update_date = sysdate where printer_driver_name = 'LANDWIDEHPLJ4SI'; update fnd_printer_drivers set --user_printer_driver_name = 'PORTRAIT A4 for Printer HPLJ4SI', description = 'Init was ' || initialization, initialization = '/eE/e&l0o26a7C/e(s0t0p11H/e&a5L/e&k2G', last_update_date = sysdate where printer_driver_name = 'PORTRAITHPLJ4SI'; commit;
Old school stuff, but can't remember how many times these statements have helped.
PS. Did I remember to say restart the concurrent managers after making printer driver changes?
PPS. Despite PASTA being a fantastic tool, I found myself modifying the following in order to get around a tad more setup to force US Letter to A4 paper
In file $FND_TOP/resource/pasta_pdf.cfg there is a line:
preprocess=pdftops {infile} {outfile}
Change this to the following (replace /usr/local/bin to wherever pdftops is installed):
preprocess=/usr/local/bin/pdftops -paper A4 {infile} {outfile}
Sweet.
Update: fixed some HTML formatting issues and missing || in the code, plus added a couple more comments.