ibm-information-center/dist/eclipse/plugins/i5OS.ic.apis_5.4.0.1/xpdftransform.htm

323 lines
9.6 KiB
HTML
Raw Normal View History

2024-04-02 14:02:31 +00:00
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Copyright" content="Copyright (c) 2006 by IBM Corporation">
<title>IPDS to PDF Transform Interface Exit Program</title>
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<!-- Begin Header Records --><!-- Created by Rondi Herman for V5R1-->
<!-- End Header Records -->
<!--Edited by Kersten Nov 2001 -->
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body>
<a name="Top_Of_Page"></a>
<!--Java sync-link-->
<script type="text/javascript" language="Javascript" src="../rzahg/synch.js">
</script>
<h2>IPDS to PDF Transform Interface Exit Program</h2>
<div class="box" style="width: 65%;">
<br>
&nbsp;&nbsp;Required Parameter Group:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">1</td>
<td align="left" valign="top" width="50%">PDF tranform information</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">2</td>
<td align="left" valign="top">Length of PDF transform information</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(4)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>PSF/400 uses the IPDS to PDF Transform Interface exit program to submit an
IPDS to PDF transform when a PDF transform is requested to the
QIBM_QPQ_Transform exit point and the PDFGEN parameter on the PSF configuration
object has a value other than *NONE.</p>
<p>If the IPDS to PDF Transform exit program encounters an error in starting
the transform (TCP/IP is not started or any other start-up error), the
transform returns to the program that called it and writes an error message to
the PDF transform job log. If no transform is registered to the exit point,
PSF/400 will time out when it tries to communicate with the PDF transform and
will log its own error.</p>
<br>
<h3>Authorities and Locks</h3>
<p>There are no locks for this exit program.</p>
<p>Subdirectories and files created by the PDF transform are owned by the
spooled file owner and have *EXCLUDE public authority. The transform has *USE
authority to the QIPS library.</p>
<br>
<h3>Parameters</h3>
<dl>
<dt><strong>PDF Transform Information</strong></dt>
<dd>INPUT; CHAR(*)
<p>PDF transform information that is input to the IPDS to PDF Transform
Interface exit program from the PSF/400 print writer.</p>
</dd>
<dt><strong>Length of PDF transform information to the IPDS to PDF Transform
Interface</strong></dt>
<dd>INPUT; CHAR(4)
<p>The length (in zoned decimal) of the PDF transform information specified in
the PDF transform input information to the IPDS to PDF Transform Interface exit
program.</p>
</dd>
</dl>
<br>
<h3>PDF Transform Input Information</h3>
<p>The following table shows the structure for the PDF transform input
parameter.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">CHAR(10)</td>
<td align="left" valign="top" width="60%">Device type</td>
</tr>
<tr>
<td align="center" valign="top">10</td>
<td align="center" valign="top">A</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Paper size for drawer 1</td>
</tr>
<tr>
<td align="center" valign="top">20</td>
<td align="center" valign="top">14</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Paper size for drawer 2</td>
</tr>
<tr>
<td align="center" valign="top">30</td>
<td align="center" valign="top">1E</td>
<td align="left" valign="top">CHAR(256)</td>
<td align="left" valign="top">File directory</td>
</tr>
<tr>
<td align="center" valign="top">286</td>
<td align="center" valign="top">11E</td>
<td align="left" valign="top">CHAR(5)</td>
<td align="left" valign="top">TCP/IP port</td>
</tr>
<tr>
<td align="center" valign="top">291</td>
<td align="center" valign="top">123</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Print writer's message queue</td>
</tr>
<tr>
<td align="center" valign="top">301</td>
<td align="center" valign="top">12D</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Print writer's message queue library</td>
</tr>
<tr>
<td align="center" valign="top">311</td>
<td align="center" valign="top">137</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Printer font ID</td>
</tr>
<tr>
<td align="center" valign="top">312</td>
<td align="center" valign="top">138</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Inline font indicator</td>
</tr>
<tr>
<td align="center" valign="top">313</td>
<td align="center" valign="top">139</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Group boundary operation</td>
</tr>
</table>
<p>The example below is provided to show the interaction between the PSF/400
and PDF transform exit program.</p>
<ol>
<li>Printer writer is started by user.
<p>This ties a PSF configuration object to a printer device. The configuration
object must have a PDFGEN value other than *NONE and the other appropriate PDF
parameters appropriately defined based on the the PDFGEN value chosen.</p>
</li>
<li>PSF/400 does a submit job to get the PDF transform started.
<p>The PDF Transform exit program uses the input information to intialize
itself. PSF/400 saves the job number from the submit job that is associated
with the transform.</p>
</li>
<li>The writer selects the first eligible spooled file to process.
<p>The PDF transform communicates with PSF/400 as a virtual printer device, but
instead of printing the IPDS, the transform converts it to PDF and stores it
either in a user specified path (when PDFGEN is *STMF) or in a temporary path
location chosen by PSF/400.</p>
<p>When PSF/400 receives an indication from the virtual printer device that all
pages have been stacked, it knows that the PDF transform is finished with that
spooled file.</p>
</li>
<li>PSF/400 mails or spools the data.
<p>At this time, if PDFGEN had a value of *MAIL or *SPLF, PSF/400 will complete
the request by either electronically mailing the PDF file or spooling it to the
appropriate output queue. When either function is complete, PSF/400 deletes the
temporary path name.</p>
</li>
<li>Printer writer is ended by user.
<p>PSF/400 does its normal clean up and ends the job that is running the PDF
transform.</p>
</li>
</ol>
<br>
<h3>Field Descriptions</h3>
<p><strong>Device type.</strong> The device type that the transform should
emulate. It is specified in the PDFDEVTYPE parameter of the PSF configuration
object.</p>
<p><strong>File directory.</strong> The first two components of the file path
names specified in the PDFDIR parameter of the PSF configuration object and
assigned to the PDF files created by the PDF transform. The rest of the path
name is assigned by the PDF transform.</p>
<p><strong>Group boundary
operaion.</strong> The value of PDFMULT parameter in the PSF configuration
object. Valid values are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">Separate the output into multiple PDF files at
the DGB commands.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2</em></td>
<td align="left" valign="top">Place an index tag at the DGB Location.</td>
</tr>
</table>
<p><strong>Inline font indicator</strong> Specifies whether fonts should be
placed inline with the PDF output. Valid values are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">File should not contain the fonts inline.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2</em></td>
<td align="left" valign="top">File should contain the fonts inline.</td>
</tr>
</table>
<p><strong>Paper size for drawer 1.</strong> The paper size specified in the
PDFPPRDWR1 value of the PSF configuration object that the transform should
report to PSF/400.</p>
<p><strong>Paper size for drawer 2.</strong> The paper size specified in the
PDFPPRDWR2 value of the PSF configuration object that the transform should
report to PSF/400.</p>
<p><strong>Printer font ID.</strong> The printer default font ID to use if a
font is not specified in the IPDS data. It is composed of the graphic character
set ID, code page global ID, font character set global ID, and character
width.</p>
<p><strong>Print writer's message queue.</strong> The name of the PSF writer's
message queue.</p>
<p><strong>Print writer's message queue library.</strong> The library in which
the PSF writer's message queue can be found.</p>
<p><strong>TCP/IP port.</strong> The TCP/IP port of the transform's virtual
printer.</p>
<br>
<hr>
Exit program introduced: V5R1
<hr>
<table align="center" cellpadding="2" cellspacing="2">
<tr align="center">
<td valign="middle" align="center">
<a href="#Top_Of_Page">Top</a> |
<a href="print1.htm">Print APIs</a> |
<a href="aplist.htm">APIs by category</a></td>
</tr>
</table>
</body>
</html>