Hm ... where would I see if the print driver controls it or not? The outqueue description says:

Manufacturer type and model  . . . . . :   *HP520

Below my code to read the PDF and send it over to the printer:

AS400 as400;
as400 = db_connect.as400;
SpooledFile spooledFile = null;

PrintParameterList parms = new PrintParameterList();

parms.setParameter(PrintObject.ATTR_COPIES, documentRequest.numberOfCopies);

String outqueueName = "/QSYS.LIB/QUSRSYS.LIB/" + outqueue + ".OUTQ";
OutputQueue outputQueue = new OutputQueue(as400, outqueueName);
parms.setParameter(PrintObject.ATTR_OUTPUT_QUEUE, outputQueue.getPath());
parms.setParameter(PrintObject.ATTR_HOLD, hold ? "*YES" : "*NO");
parms.setParameter(PrintObject.ATTR_SAVE, save ? "*YES" : "*NO");
parms.setParameter(PrintObject.ATTR_SPOOLFILE, ""); parms.setParameter(PrintObject.ATTR_DUPLEX, "*YES"); parms.setParameter(PrintObject.ATTR_USERDATA, documentRequest.depot + documentRequest.movementOrder);

SpooledFileOutputStream outputStream = new SpooledFileOutputStream(as400, parms, null, null);

InputStream fisPDF = null;
InputStream finalIS = null;
switch (inputMode) {
case "zpl":
System.out.println("Input mode is zpl");
finalIS = new ByteArrayInputStream(data.getBytes());
break;
case "pdf":
System.out.println("Input mode is pdf");
System.out.println("Source data: " + data);
fisPDF = new FileInputStream(data);
finalIS = fisPDF;
break;
default: }

Integer bytesRead;
byte[] buf = new byte[2048];


do {
bytesRead = finalIS.read(buf);
if (bytesRead != -1) {
outputStream.write(buf, 0, bytesRead);
}
} while (bytesRead != -1);

outputStream.flush();
outputStream.close();




Max

--
"The best laid schemes o' mice an' men gang aft aglay."
Robert Burns

On 20 Dec, 2017, at 01:12 PM, Richard Schoen <Richard.Schoen@xxxxxxxxxxxxxxx> wrote:

Depending on the type of printer you're going to, the print driver controls the duplexing not the spool file attributes.

Is the stream a *USERASCII stream such as PCL or Postscript ?

You could possibly look into using Ghostscript or something commercial.

For the latter, our iForms Document Assembly component can be used to print PDFs from your application via CL command or REST API call.
If you want a technical demo let me know, otherwise you can reach out to the sales team for $$$$ info.

Regards,


Richard Schoen Director of Document Management e. richard.schoen@xxxxxxxxxxxxxxx p. 952.486.6802 w. helpsystems.com ----------------------------------------------------------------------

message: 1
date: Tue, 19 Dec 2017 19:14:07 +0000 (GMT)
from: Max Bobzien <maxbobzien@xxxxxxx>
subject: Print PDF in duplex mode

Hi
I?have a PDF document that is stored in the iSeries' IFS folder and want to print it using Java that is running in the iSeries' JVM. Just printing the PDF and sending it to the outqueue works perfectly fine but now I want to to print it in Duplex mode using

---------------------------------------------------------------------------------------------------------------------------------------
String outqueueName = "/QSYS.LIB/QUSRSYS.LIB/" + outqueue + ".OUTQ"; OutputQueue outputQueue = new OutputQueue(as400, outqueueName); parms.setParameter(PrintObject.ATTR_OUTPUT_QUEUE, outputQueue.getPath()); parms.setParameter(PrintObject.ATTR_HOLD, hold ? "*YES" : "*NO"); parms.setParameter(PrintObject.ATTR_SAVE, save ? "*YES" : "*NO"); parms.setParameter(PrintObject.ATTR_SPOOLFILE, ""); parms.setParameter(PrintObject.ATTR_DUPLEX, "*YES");

SpooledFileOutputStream outputStream = new SpooledFileOutputStream(as400, parms, null, null);
---------------------------------------------------------------------------------------------------------------------------------------

but it still just prints single page mode.
Does anyone have an idea what I am missing here?

Max
--
"The best laid schemes o' mice an' men gang aft aglay."
Robert Burns



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2022 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.