Exactly. That entire StackOverflow thread represents my experience perfectly: specifying a paper type or paper tray involves a lot of code and even then it just doesn't work. One person tried writing their own driver and THAT didn't work. Another used a perl script to intercept jobs and do something Java couldn't/wouldn't. An apologist says "gee, it's HARD to identify printer capabilities cross-platform." As if, you know, implementing a whole VM is a piece of cake -- it's only printing that's hard. Right?
Anyway, reading that hasn't given me much incentive to change my approach of using "lpr". :) And, for what it's worth, I'm perfectly happy to continue using 2.0.5 with lpr since that works for me. I will still try the latest and that extra parameter when I get a chance, though. Thanks, Aaron On Fri, Feb 1, 2019 at 12:57 PM Tilman Hausherr <thaush...@t-online.de> wrote: > > Am 01.02.2019 um 14:50 schrieb Aaron Mulder: > > Historically, I haven't been able to print from within Java because I > > must be able to turn duplex on and off and specify a source paper tray > > (one has paper, one has labels, and different jobs go to each). I > > never got that to work except via lpr. Though, it's probably been a > > couple years since I tried because the current system works. :) > > > Duplex is like this: > > > PrinterJob job = PrinterJob.getPrinterJob(); > job.setPageable(new PDFPageable(document)); > PrintRequestAttributeSet pras = new > HashPrintRequestAttributeSet(); > pras.add(Sides.TWO_SIDED_LONG_EDGE); > > if (job.printDialog(pras)) > { > setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); > try > { > job.print(pras); > } > finally > { > setCursor(Cursor.getDefaultCursor()); > } > } > > tray is more tricky, see e.g. > > https://stackoverflow.com/questions/14328012/printing-with-attributestray-control-duplex-etc-using-javax-print-library > > Tilman > > > > > > I'll try the snapshot and code change when I get a chance. > > > > Thanks, > > Aaron > > > > On Thu, Jan 31, 2019 at 12:17 AM Tilman Hausherr <thaush...@t-online.de> > > wrote: > >> Hi, > >> The current version is 2.0.13. Did you try with that one? Also try with > >> a 2.0.14 snapshot > >> https://repository.apache.org/content/groups/snapshots/org/apache/pdfbox/pdfbox-app/2.0.14-SNAPSHOT/ > >> > >> and please share the source file, and modify the code so that the fifth > >> parameter of > >> > >> PDPageContentStream() is true. > >> > >> Consider printing from PDFBox itself. > >> > >> Tilman > >> > >> Am 31.01.2019 um 02:52 schrieb Aaron Mulder: > >>> I have a PDF workflow where I take a base document with forms, then > >>> append a footer that puts values in the form fields and save the > >>> result, then open it with PDFBox and flatten it: > >>> > >>> doc = PDDocument.load(tempFile); > >>> doc.getDocumentCatalog().getAcroForm().flatten(); > >>> > >>> Then I add an image to the page and save and close the doc: > >>> > >>> PDPage page = doc.getPage(0); > >>> PDImageXObject image = LosslessFactory.createFromImage(doc, > >>> toBufferedImage(generateBarcode("PC"+pcId))); > >>> PDPageContentStream contentStream = new PDPageContentStream(doc, page, > >>> PDPageContentStream.AppendMode.APPEND, true); > >>> contentStream.drawImage(image, 246, 36 ); > >>> contentStream.close(); > >>> doc.save(tempFile); > >>> doc.close(); > >>> > >>> Finally, I print it from the command line. With PDFBox 2.0.5 the > >>> resulting document prints fine. I'm using this command on macOS: > >>> > >>> /usr/bin/lpr -P TestPrinter -o InputSlot=Tray2 file.pdf > >>> > >>> With PDFBox 2.0.11 when I do the same, the form fields all come > >>> through as empty on the printout. (They do appear when I open the doc > >>> in Preview.) > >>> > >>> I don't really know why; I just tried updating to the latest on a > >>> lark. It feels like the flattening failed on 2.0.11. The printer is > >>> a bit dated and I think I went with flattening in the first place > >>> because that was the only way to get the doc to print correctly from > >>> the command line. > >>> > >>> I will stick with 2.0.5 for now because for this case it's critical > >>> that the printouts work. :) > >>> > >>> Thanks, > >>> Aaron > >>> > >>> Output from 2.0.5: > >>> http://opentools.org/files/print-job-2514255277731407198.pdf > >>> Output from 2.0.11: > >>> http://opentools.org/files/print-job-4933385101348305078.pdf > >>> > >>> --------------------------------------------------------------------- > >>> To unsubscribe, e-mail: users-unsubscr...@pdfbox.apache.org > >>> For additional commands, e-mail: users-h...@pdfbox.apache.org > >>> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: users-unsubscr...@pdfbox.apache.org > >> For additional commands, e-mail: users-h...@pdfbox.apache.org > >> > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: users-unsubscr...@pdfbox.apache.org > > For additional commands, e-mail: users-h...@pdfbox.apache.org > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@pdfbox.apache.org > For additional commands, e-mail: users-h...@pdfbox.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@pdfbox.apache.org For additional commands, e-mail: users-h...@pdfbox.apache.org