Académique Documents
Professionnel Documents
Culture Documents
Release 3.0
CONTENTS ..............................................................................................................................2
OVERVIEW ..............................................................................................................................3
SYSTEM REQUIREMENT...........................................................................................................3
TECHNICAL OVERVIEW ...........................................................................................................3
NEW FEATURES IN 3.0.............................................................................................................4
NEW FEATURES IN 2.5.............................................................................................................6
PRINTER SETUP SIMPLIFICATION.............................................................................................9
IMPORTANT CHANGES BETWEEN PASTA 2.0 AND 2.5............................................................10
Backward Compatibility with IX Library ........................................................................10
Font Settings ....................................................................................................................10
Printer Name Settings ......................................................................................................11
INSTALLING PASTA ...............................................................................................................12
DEFINING PRINTER DRIVERS FOR PRINTING..........................................................................12
Portrait Driver .................................................................................................................13
Landscape Driver.............................................................................................................13
Landwide Driver ..............................................................................................................13
DEFINING A PRINTER TYPE ...................................................................................................13
REGISTER A PRINTER ............................................................................................................14
RESTARTING THE CONCURRENT MANAGER ..........................................................................15
PRT FILES SETUP..................................................................................................................15
Special Settings for Bidi Languages ................................................................................15
Unicode and BiDi Specific Configuration .......................................................................15
BARCODE TRUETYPE FONT SUPPORT ...................................................................................16
INTEGRATION WITH THE COMMON UNIX PRINTING SYSTEM (CUPS) ...................................17
Scenario 1: CUPS is running on the concurrent node ...................................................18
Scenario 2: Multiple CUPS running on the other machine than the concurrent node....19
USING PRINTFORMS ..............................................................................................................20
Preface .............................................................................................................................20
Function Overview...........................................................................................................21
Overview of Creating a PrintForm..................................................................................21
Create the PrintForm.......................................................................................................21
Deploy a PrintForm to Oracle Applications ...................................................................26
CONFIGURATION FILE OPTIONS ............................................................................................27
Generic Options ...............................................................................................................27
Arabic, Hebrew and Thai Options ...................................................................................30
Additional Notes for Specifying TrueType Fonts for Font Parameters...........................30
COMMAND LINE PARAMETERS .............................................................................................31
FONT FILES PROVIDED BY ORACLE.......................................................................................33
SAMPLE CONFIGURATION FILE .............................................................................................34
This document is specific to Pasta printing utility. Pasta printing utility, also
known as simply "Pasta", is a program that provides universal solutions for
printing in Oracle E-Business Suite by handling multi-lingual text outputs
generated by the Concurrent Manager. Any UTF8 customer who possibly
has non-English data in the database must use Pasta. English-only customer
or a customer who is using other character set than UTF8 can also obtain the
benefit from Pasta. This product is provided as a part of Application Object
Library.
System Requirement
The Pasta product is a component of the E-Business Suite’s Application
Object Library (FND). Please find the system requirement for Oracle E-
Business Suite in Oracle Applications Installation Manual. This chapter
describes requirements that are specific to Pasta only.
Unicode Font
Pasta supports Unicode map TrueType font only.
Technical Overview
Taking Advantage of PostScript Language
Pasta enables multi-lingual handling by taking advantage of PostScript
language. Pasta converts an input content from text format to PostScript
format to add the multi-lingual support. During the PostScript conversion,
Font Embedding
Pasta enables printing a text report with language data for which font is not
available on the printer by using the font embedding method in PostScript.
Pasta creates a set of all the necessary font glyphs from a TrueType font and
embeds it in the PostScript so that all the language data can be printed
correctly.
In addition to the font embedding Pasta also provides an alternative
configuration for font setting. If the printer has fonts that can represent all
the language data in the text file, customers can use the printer fonts. Please
refer to “Printer Fonts (Latin 1) Support as well as TrueType Fonts” section
in chapter of “New Features in 2.5.”
Pass-Through Mode
Pasta also supports “pass-through mode”. Pass-through means that Pasta just
bypasses the conversion mechanism and sends input to the preprocess
command and then to the printer as it is. This feature is useful because Pasta
can handle many formats in addition to text input. By this feature, only one
command can handle many input formats. For example, if there are two
reports and one of them needs to be processed by Pasta but the other must go
directly to the printer, there is no need to create two printer flows.
There are some formats that Pasta chooses this pass-through mode
automatically because of the nature of the formats. PostScript and PDF are
such formats. In PostScript and PDF, all the formatting must have been done
so Pasta will not do anything but sends the file to preprocess command and
then to the print command.
Preprocess Command
To support printers that are not compatible with PostScript, Pasta provides a
way to integrate with 3rd party tool to convert the document content into other
format besides PostScript. For example, if there is a printer that only
supports PCL printing language, we can use “preprocess” option in Pasta
configuration file to set a command to convert PostScript to PCL such as
Ghostscript. Another example would be that we could use Xpdf command
for the preprocess option so that PDF file can be successfully printed if the
input is PDF format and the printer does not support PDF to print.
Language Handling
Pasta also provides many language options that include complete options for
bi-directional languages such as Arabic and Hebrew. The attributes related to
the bi-directional languages can be configured in Pasta configuration file
such as direction, lay outing. Please refer to chapter of “Configuration Files
Options” for more details.
Step 1: When creating a report, set the style of the Barcode data
field to "bold".
Step 2: Set a Barcode TrueType font file name to
"Font.Default.Bold" in the configuration file. Usually, the size of
the Barcode font is different than the plain font. Pasta 3.0
introduced a new option in the configuration file,
"boldfontsize=<font size in points>" and a new command line
option “-bs<font size in point>. Please set the appropriate size to
this option.
Currently, Pasta supports only two fonts per report. One is for
"Plain", the other is for "Bold". Since Pasta uses this bold setting
for barcode support and the font setting is done per configuration
file, you cannot use bold style for all the reports that will be
printed using the same configuration file.
Pasta 2.5 accepted only text and PostScript format as input. Pasta
3.0 now accepts PDF as an input file format as well. If the input
file is a PDF file, Pasta will automatically detect the format and
pass it to a preprocess command without any modification. The
result from the preprocess command will be sent to the print
command specified in printCommand option.
Output Formats
If the input file is already a Postscript file, Pasta will simply send
it to the printer as-is.
Any variable that starts with a < (less-than) and ends with a >
(greater-than) for font parameters, errorlogfile parameter and
outfile parameter in the configuration file will be translated into
an environment variable on the operating system. You can
specify any environment variable. Pasta/IX will replace the
environment variable with the actual value at runtime.
The ‘-pw’ (page width) and ‘-ph’ (page height) command line
options override the “pagewidth” and “pageheight” settings in
the configuration file.
Debug Option
Output File
You can specify the storage location of the output file with the
“outFile” (output file name) option in the configuration file. You
can use {inputfile} in the “outFile” option. Pasta will replace it
with the actual input file name (without the path) specified by the
‘-f’ (input file name) command line option.
For example:
outFile=<APPLTMP>/{inputfile}.pdf
If you want to specify the output file name in the command line,
you can use the existing ‘-o’ (output file name) command line
option.
No Print Option
The “noPrint” (no print) option in the configuration file and the
‘-np’ (no print) command line option are useful when you need to
generate an output file (such as a PDF file) but you don’t need to
print it out.
Easy Customization
PASTA makes it easy to customize your printing configuration
to meet special printing needs. While most printing requirements
will be met through the default configuration file, you can now
define additional configuration files that are specific to particular
printers. PASTA will look for a printer-specific configuration file
and, if one exists, use that file rather than the default. For
example, if the configuration file pasta.cfg is specified by the “-
f” option in the PASTA command line, PASTA tries to find
pasta_<printer>.cfg, where <printer> is the printer name. If no
configuration file for the specified printer exists, then pasta.cfg is
used to print the report. Given this function, users can simply
copy the default pasta.cfg to pasta_<printer>.cfg and make
printer-specific changes in that file without changing the printer
driver definition.
Font Settings
Pasta 2.5 supports printer fonts as well as TrueType fonts. The new option
allows you to specify either a path and font file, or the name of the font on
the printer.
[Pasta 2.5]
Or
Examples:
Font.Default.Plain=<FND_TOP>/<APPLRSC>/ADUO.ttf
Font.Default.Bold=<FND_TOP>/<APPLRSC>/ADUOB.ttf
Or
Font.Default.Plain=printer:Courier
Font.Default.Plain=printer:Couier-Bold
[Pasta 2.0]
[Pasta 2.5]
{printername} will be replaced by the actual printer name passed through the
‘-pn’ command line option.
Installing Pasta
Pasta is bundled in Oracle Applications release 11i. However, a patch for
correcting problems or providing new features might be available between
releases. Please contact Oracle Corporation for the latest information for
Pasta product. A Pasta patch is provided as a standard AD patch of Oracle
Applications and it needs to be applied on the concurrent processing node.
In the explanation, three drivers for the most commonly used styles, which
are Portrait, Landscape and Landwide, are used as an example. Another
printer driver may also be needed per customer’s requirement. Please refer to
the Printers chapter in the Oracle Applications System Administrator’s Guide
for the concept and the detail steps to setup the printer.
Note: Enter only the specified fields and leave other fields as default.
Note that all parameters are case-sensitive.
Landscape Driver
Driver Name: PASTA_LANDSCAPE
User Driver: Pasta Landscape Driver
SRW Driver: L
Driver Method: Program
Spool File: Checked
Standard Input: Unchecked
Program: FNDPSTAX
Arguments: -pn$PROFILES$.PRINTER -
c$PROFILES$CONC_COPIES -1 -f$PROFILES$.FILENAME
Note that the arguments must be written in one line.
Landwide Driver
Driver Name: PASTA_LANDWIDE
User Driver: Pasta Landwide Driver
SRW Driver: W
Program Name: FNDPSTAX
Arguments: -pn$PROFILES$.PRINTER -
c$PROFILES$CONC_COPIES -1 -f$PROFILES$.FILENAME
Note that the arguments must be written in one line.
Register a Printer
At least one printer must be defined prior to this step.
Example:
Win32: \\printer_server\SharedPrinter
Unix: hp_3rdfloor
Type: PASTA PostScript
Description: any
REPORTS60_PRINTER_CODE_BEFORE=&5
REPORTS60_PRINTER_CODE_AFTER=&4
For example:
ESC[5m(column1)ESC[5m(column2)ESC[5m(column3)…..
The column separators are used to align tables and columns by Pasta.
NOTE:
You have to install Developer Patchset 9 or later to have Oracle Reports
generate these column boundary tags.
If you have a small number of barcode reports in your system, this solution
may be appropriate for you. However, if you have a large number of barcode
reports with varying layouts, you may want to consider using bitmap.
Usually, the size of the barcode font is different than the plain font. Pasta 3.0
introduced a new configuration file option that allows you to set the font size
for bold style fonts. Use the “boldfontsize=<font size in points>” option to
set the appropriate size for your barcode font. You can also use the
equivalent command line option, “-bs<font size in point>”.
The height of the barcode font may not mach with the height of the regular
font, and in most cases the height of the barcode font is higher. Pasta cannot
control the height of the barcode font apart from the width. It can only
controls the barcode size by the font size, which simultaneously adjusts the
height and the width according to a ratio defined in the font file. For these
reasons, choose the barcode font for your report carefully, considering both
the width and height of the barcode data when designing the report.
You cannot use the -w Pasta command line option with barcode reports
because this option adjusts the space between the glyphs, which may impact
the ability of a barcode reader to read the generated output. You therefore
must design the reports so that it does not rely on this option at runtime.
Figure 1. Scenario 1
Configuration Steps:
There will be no special configuration step required if the printer system has
been replaced with CUPS on the server.
Make sure that the lp command which is set for printCommand parameter in
Pasta configuration file is a CUPS lp command. You can specify full path to
the command if you maintain both UNIX standard lp command and CUPS lp
command.
If you maintain both the System V printing system and the CUPS, you need
to define a new printer type with required styles and printer drivers.
Example:
Add required styles associated with the printer drivers to the printer type.
Example:
Printer Type: Pasta printer for CUPS
Printer Style Printer Driver
------------- --------------------
LANDSCAPE PASTA_LANDSCAPE_CUPS
PORTRAIT PASTA_PORTRAIT_CUPS
LANDWIDE PASTA_LANDWIDE_CUPS
Scenario 2: Multiple CUPS running on the other machine than the concurrent node
There are multiple CUPS distributed servers and printers are connected to
each CUPS server. In this scenario, one printer type is required for each
server where CUPS process is running with the physical printer.
Figure 2. Scenario 2
Configuration Steps:
1. Create a pasta configuration file in $FND_TOP/resource directory for
each server where the CUPS process is running.
Example: pasta_cups1.cfg, pasta_cups2.cfg and pasta_cups3.cfg
3. Create a set of printer drivers for each printer style with the
configuration file created above.
Example:
You can refer to the existing printer driver definition created by Oracle
such as PASTA_LANDSCAPE, PASTA_PORTRAIT or
PASTA_LANDWIDE.
Add required styles associated with the printer drivers to the printer type.
Example:
Printer Type: Pasta printer for CUPS1
Printer Style Printer Driver
------------- ---------------------
LANDSCAPE PASTA_LANDSCAPE_CUPS1
PORTRAIT PASTA_PORTRAIT_CUPS1
LANDWIDE PASTA_LANDWIDE_CUPS1
Using PrintForms
Preface
There has been a requirement in Oracle E-Business Suite to customize the
concurrent reports to add a company logo or a background image. For
example a customer might need those graphical images to follow the
customer's corporate identity standard. It has been very difficult to achieve
this type of customization. For example, a customer had to modify every
single rdf file of Oracle Reports to add a company logo in which way they
had to modify all of about 3,000 rdf files and also they had to repeat the
modification every time they apply the patch or upgrade the software. It is
true that there are some third party tools to help the customers who have this
Function Overview
Oracle now introduces a new feature in Pasta to combine multiple PostScript
files into one file that is called PrintForm. Pasta converts an input file to
PostScript internally and this PrintForm function reads another file, which
contains a background image for example, and generate one PostScript
file. With this new feature, the customers don't have to edit or modify their
original report any more. They just need to pass a PostScript file with a
background image when they call Pasta. The function is called PrintForm
function and the PostScript file with a background image is called the
PrintForm.
This new feature satisfies the requirement of easier customization and easier
maintenance of the customized reports because the feature eliminates a need
of the customizing the original report definition since this process is executed
at printing time. The PrintForm also provides the better solution that can
replace the pre-printed stationery solution. Because of the fact that stationery
can be generated in electronic form by this feature, the pre-printed stationery
is no more required. Pasta utilizes the PostScript technology so there is also
no printer specific knowledge is required as long as the printer supports the
PostScript language.
Interim PostScript
Editor Platform Note
Format Generation
UNIX, MS - Requires PS printer driver on
Oracle Reports N/A N/A
Windows Windows
MS Word, Excel,
- Need to buy Adobe Acrobat
PowerPoint with MS Windows PDF Xpdf pdftops
- Can save color information
Adobe PDFMaker
Adobe
- Cannot save color information
Any Windows Generic
MS Windows N/A - File size will be smaller than
Application PostScript
colored file.
driver
Any Windows Color Driver
MS Windows N/A - Can save color information
Application from Oracle
Any Application
PDF Xpdf pdftops - Can save color information
which generates PDF
The color driver is provided by Oracle. Please contact Oracle support to
obtain the file.
Setup an environment
1. Install the editor software that you have chosen the step above.
Note that Oracle Reports Designer can be run on the same operating system
as your Oracle Applications because Oracle Reports is bundled with Oracle
Applications.
If you did not choose Oracle Reports as editor, you need to decide either
pdftops command by Xpdf or Adobe's generic PostScript printer driver to
convert a PostScript file created by the editor into PrintForm format
depending on the supported combination and your requirement.
Xpdf
Download and install Xpdf software from Xpdf web site for your platform.
You can use this utility either on the client side where you edit the image
file or on the server side where you will run Pasta command to convert the
PostScript file to PrintForm and locate the file on.
http://www.foolabs.com/xpdf/download.html
Create a file by the editor you have chosen to have a company logo or pre-
printed stationery. Here is a sample screen shot of MS Word to add an
Oracle company logo on upper right corner of the report.
The file created in the step above needs to convert into PostScript format
either by pdftops command, by Xpdf or by Adobe Generic PostScript
printer driver depending on the requirement. Here are the examples of
both method executed with MS Word sample.
Xpdf
For example:
$ pdftops oracle_ls.pdf oracle_ls.ps
Run the Pasta command in the command line to convert the PostScript file
generated in the previous step.
For example:
$ FNDPSTAX -pform oracle_ls.ps oracle_ls.pf
Note that this program is only available on the computer that Oracle
Applications is installed. You need to copy the file and run the command
in the command line on the computer where the Oracle Applications
instance is running if the machine is different than the one you generated
the PostScript file.
You can place the PrintForm file anywhere under APPL_TOP in the
Concurrent node but Oracle recommends to put the file under
FND_TOP/resource/<lang> directory where <lang> is replaced by a language
code such as US for English or KO for Korean for maintenance convenience.
-pn$PROFILES$.PRINTER -f$PROFILES$.FILENAME -
c$PROFILES$.CONC_COPIES -l -pf
<FND_TOP>/resource/US/oracle_ls.pf
<FND_TOP> needs to be replaced with the actual path for your $FND_TOP.
Restart the Concurrent Manager to reflect the changes in the printer driver
definitions.
The options are listed in the following two tables. They are divided into
generic options and options for Arabic, Hebrew, and Thai. The Key Name,
the Values, the Description, and the Equivalent Command Option (if
applicable) are listed for each option.
Note: For options that also have command line equivalents, Oracle
recommends that you set the value in the configuration file.
Generic Options
An asterisk (*) in the values column indicates the default value.
preprocess Executable Use this option to convert the output file. N/A
name Enter a preprocessing command to invoke
any executable that supports an input file
and an output file (filter program). Pasta
will invoke the filter program before
passing the file to the printing command.
printCommand Print command This is the print command for the Unix N/A
name platform.
(e.g. lp)
ntPrintCommand Print command This is the print command for the N/A
name Windows platform.
(e.g. print)
copysort y (*) You can choose to have the copies collated N/A
n by setting this option to “y”.
Font.<Face>.<Style> Font name Specifies the TrueType font file name or N/A
printer font name. The <Face> must be
either “Default” or the actual font face
name (such as Helvetica). The <Style>
must be either “Plain”, “Bold”, “Italic”, or
“BoldItalic”.
fontsize 7.8 (* for Font size in points. If this is not set, the -s
landscape) font size is calculated automatically.
10.0 (* for
portrait)
boldfontsize Size in points Font size for bold font in points. -bs
A value from This option mostly used when
fontsize Font.Defatul.Bold is used for specifying a
parameter (*) barcode font.
psEmbeddedFontType type3 (*) A type of the font that will be embedded in N/A
type42 PostScript.
errorlogfile (standard error Set this option to have Pasta create a log -el
output) (*) file.
Error output
file name
bidi_algorithm oracle (*) If you set this option to “unicode”, Pasta N/A
unicode follows the Unicode BiDi algorithm.
Setting the value to “oracle” will use
Oracle’s algorithm.
dolayout y (*) To lay out the text, set this option to “y”. N/A
n If no layout is required, set it to “n”.
doshaping y (*) To shape the text, set this option to “y”. If N/A
n no shaping is required, set it to “n”. This
option is for Arabic only.
numerals context (*) Possible values are “arabic” for Arabic N/A
arabic numerals, “hindi” for Hindi numerals, or
hindi “context” to use Arabic or Hindi
depending on the context. Required for
Arabic data only.
CJK Ideographs
If the TrueType font you specified for the “Font.Defalt” option contains CJK
(Chinese, Japanese, Korean) Ideographs, the European characters must be
TrueType Collections
If you want to use TrueType collection (.ttc) files, you can specify a index
number for each font face, starting with 0. Please contact with the font
provider of your font if you need to know an index number of a font face in
your ttc file.
Example1)
Font.Default.plain=c:\fonts\msgothic.ttc(0)
In this case, “MS Gothic” will be used.
Example2)
Font.Default.plain=c:\fonts\msgothic.ttc(1)
In this case, “MS P Gothic” will be used.
FNDPSTAX [options]
-el<logfile> Specifies the error log file’s path and name. The
path is the absolute path to the error log file.
-pform <ps file> <pf file> Converts a PostScript file <ps file> to a PrintForm
file <pf file>.
-t<banner title> Banner option for use with the Unix lp command.
<banner title> is passed to the lp command with the
-t lp command option.
Examples:
%%
%% pasta.cfg -- Pasta configuration file
%%
[DEFAULT]
% [A4]
pagewidth=8.27
pageheight=11.64
% [Letter]
% If you want to use Letter as the default paper size, comment
% the A4 settings above and uncomment the following lines:
; pagewidth=8.5
; pageheight=11
% Collate [y|n]
%
% If you set "embednumcopies" to "y" above, you can choose to
% have the copies collated (e.g. 123123) or uncollated
% (e.g. 112233) by setting the "copysort" option. If you set
% "embednumcopies" to "n", the order is always 123123.
% For example, if you want to print two copies of a report
% that has 3 pages, the output will be:
%
% | embednumcopies
% numerals [arabic|hindi|context]
%
% arabic: To always use Arabic numerals
% hindi: To always use Hindi numerals
% context: To use Arabic or Hindi depending on the context
numerals=context
Font.Default.Plain = printer:Courier
Font.Default.Bold = printer:Courier-Bold
Font.Courier.Plain = printer:Courier
Font.Courier.Bold = printer:Courier-Bold
Font.Courier.Italic = printer:Courier-Oblique
Font.Courier.BoldItalic = printer:Courier-BoldOblique
Font.Helvetica.Plain = printer:Helvetica
Font.Helvetica.Bold = printer:Helvetica-Bold
Font.Helvetica.Italic = printer:Helvetica-Oblique
Font.Helvetica.BoldItalic = printer:Helvetica-BoldOblique
Font.Symbol.Plain = printer:Symbol
Font.Symbol.Bold = printer:Symbol
Font.Symbol.Italic = printer:Symbol
Font.Symbol.BoldItalic = printer:Symbol
Font.Times.Plain = printer:Times-Roman
Font.Times.Bold = printer:Times-Bold
Font.Times.Italic = printer:Times-Italic
Font.Times.BoldItalic = printer:Times-BoldItalic
% --- End of the settings for bitmap reports ---
Font.Default.Plain=<FND_TOP>/<APPLRSC>/ADUOSC.ttf
Font.Default.Bold=<FND_TOP>/<APPLRSC>/ADUOSCB.ttf
Font.Default.Plain=<FND_TOP>/<APPLRSC>/ADUOTC.ttf
Font.Default.Bold=<FND_TOP>/<APPLRSC>/ADUOTCB.ttf
%% For Japanese
[JAPANESE]
Font.Default.Plain=<FND_TOP>/<APPLRSC>/ADUOJ.ttf
Font.Default.Bold=<FND_TOP>/<APPLRSC>/ADUOJB.ttf
%% For Korean
[KOREAN]
Font.Default.Plain=<FND_TOP>/<APPLRSC>/ADUOK.ttf
Font.Default.Bold=<FND_TOP>/<APPLRSC>/ADUOKB.ttf
%% For Thai
[THAI]
thai_space_compensation=y
% [Letter]
pagewidth=8.5
pageheight=11