PDF via Java ausdrucken lassen

Hallo zusammen,

auch ich habe dieses Problem, daß ich PDFs im Hintergrund ausdrucken muß.
Die angegebene Lösung mit PDFBox ist an sich ziemlich gut.

Dabei gibt es leider nur einen Schönheitsfehler.... Sofern es sich um Dokumente mit Formularfeldern werden diese beim Drucken fehlinterpretiert, sprich die Schriftarten sind vollkommen anders. Ich habe auch einen Barcode, der dann überhaupt nicht gedruckt wird.
Das ist zumindest die Erfahrung, die ich gemacht habe.

Ein Kollege gab mir nun einen guten Tipp: http://www.esnips.com/_t_/pdfp
Es gibt zwei Versionen: Die eine ist für Version 8 und die andere für den Rest.
(Voraussetzung ist natürlich, daß Adobe installiert sein muß.)
Bis dato funktioniert es einwandfrei!

Übergabe dann wie üblich per Runtime.exec....

Vielleicht hilft es dem einen oder anderen weiter, der dieselben Probleme hat(te) wie ich...
 
Hi urkus
Ich musste auch schon Feststellen das PDFBox nicht ideal ist (Bilder werden falsch interpretiert).

Im Moment mach ichs auch via Runtime.exec
und dann einfach "acrobat.exe /p pdffile.pdf" (wo die acrobat.exe liegt, finde ich via swt raus -> Thread)
 
Ich wollte nur sagen das ihr mir den Tag gerettet habt.

das über pdf box ist die aller beste und kürzeste lösung die ich bisher gefundne habe alles andere ist echt großer schwachsinn!

danke
 
Hallo Zusammen,

ich muss das Thema nochmal aufgreifen, da ich auch vor dem Problem stehe PDF Dateien ausdrucken zu wollen.
Habe dazu PDFBox eingebunden und folgenden Code geschrieben:
Java:
File datei = new File("C:\\161413070_00-76-150-1803_FIP_170109.pdf");
        if(datei.exists())
        {
            try(PDDocument doc = PDDocument.load(datei)) {
                PrinterJob job = PrinterJob.getPrinterJob();
                job.setPageable(new PDFPageable(doc));
                if(job.printDialog())
                {
                    job.print();
                }

            }catch(InvalidPasswordException ivpwe)
            {
                Logger.getLogger(WinScanJ.class.getName()).log(Level.SEVERE, null, ivpwe);
            }
            catch(IOException | PrinterException ioe)
            {
                Logger.getLogger(WinScanJ.class.getName()).log(Level.SEVERE, null, ioe);
            }
        }

Das läuft auch ohne Fehler durch und Windows scheint auch etwas an den Drucker zu senden, jedoch spuckt der Drucker nichts aus.
Ich vermute, dass evtl. ein leerer Druckauftrag raus geschickt wird, ich verstehe aber nicht warum. Hat jemand mit PDFBox Erfahrungen oder kann sich erklären, warum es bei mir nicht funktioniert?
Das PDF File ist definitiv nicht leer und Drucker sind auch installiert.
 
Zurück