# Per IText erstelltes PDF automatisch drucken



## Leroy42 (4. Jun 2007)

Hallo, weiß jemand zufällig, ob der Adobe-Reader per Kommandozeilenparameter
die Möglichkeit zur Verfügung stellt, das ihm übergebene PDF automatisch zu drucken
(evtl. nach Aufruf des Standard-Druck-Dialogs) und sich dann vielleicht
auch automatisch schließt?

Ich erstelle mit IText ein PDF und möchte, wenn möglich, dem User
einen _"Rechnung ansehen"_ und einen _"Rechnung drucken" _Button anbieten.

Danke im Voraus

(Derzeit startet ein einfaches 
Runtime.getRuntime().exec("PfadZur/rechnung.pdf") 
*nicht* automatisch den Adobe-Reader (es passiert
gar nix) aber das wird kein Problem sein; zur Not gebe ich
eben den vollständigen, absoluten Pfad zum Reader an)


----------



## The_S (4. Jun 2007)

```
Runtime.getRuntime().exec("cmd /c PfadZur/rechnung.pdf") ;
```


----------



## SnooP (4. Jun 2007)

also drucken keine ahnung, würde ich halt nicht so machen über 3. Programme so komisch zu gehn, find ich immer blöd... - aber das automatische Starten des Readers mach ich so:
Runtime.getRuntime().exec("cmd /C "+"\""+fileChooser.getSelectedFile().toString()+"\"");
sprich noch ein cmd davor... - geht dann natürlich nur unter windows so.


----------



## kleiner_held (4. Jun 2007)

Kennst du schon den entsprechenden Abschnitt der FAQ von iText?
Da werden auch Beispiele fuer den Acrobat angegeben.


----------



## Leroy42 (4. Jun 2007)

Edit: Uuuppss, hab' vergessen mich bei Hobbit & Snoop zu bedanken.   



			
				SnooP hat gesagt.:
			
		

> also drucken keine ahnung, würde ich halt nicht so machen über 3. Programme so komisch zu gehn, find ich immer blöd.



Habt ihr dann einen Vorschlag wie das, auch für den Computer-Dummy,
intuitiv und leicht zu machen ist? Gibt es ein Kommandozeilentool,
das PDFs ausdruckt?

Es ist ja so, daß das ganze Programm zur Erstellung
von Rechnungen in Java gecodet ist.







(Die Buttons "Rechnung zeigen", "Rechnung drucken" und "Rechnung speichern"
fehlen noch)


----------



## thE_29 (4. Jun 2007)

Du kannst ghostgum und ghostview installen (unter linux pdf2ps) und ein POSTSCRIPT File drucken!

Wir (Firma) machen das immer so, da Postscript viele Drucker verstehen und das auch viele Programme drucken können, aber bei den FAQ steht der Befehl: gswin32c.exe -dNOSAFER -dNOPAUSE -dBATCH -sDEVICE=mswinpr2 -sOutputFile="\\spool" "c:\myfile.pdf"

wir konvertierens halt vorher immer um! Vielleicht gehts aber auch so!


----------



## SnooP (5. Jun 2007)

Na dann ist ja gut, dass ich doch FOP benutze  ... - auch wenn das manchmal rumzickt - aber Ausdrucken kann ich wie die Wildsau sogar direkt in PCL wenn ich will.


----------



## thE_29 (5. Jun 2007)

Was istn FOP?

Problem ist halt das kaum ein Drucker das PDF Format versteht! PS aber schon! Wahrscheinlich konvertierts der Adobe Reader auch nur in PS um und schickts dem Drucker! Leider hat sich noch nie jemand die Mühe gemacht (außer wahrscheinlich Firmen und die rückens net raus) eine dll oder eine kleine exe zu bauen, mit der man es drucken kann! (FoxIT Reader kanns zwar auch, aber der bleibt offen bzw kostet die dll was)


----------



## kleiner_held (5. Jun 2007)

Formatting Objects Processor
Implementiert den XSL-FO Standard und erlaubt das Rendern von XSL-FO Daten in verschiedene Formate. Neben dem beliebten PDF, PS und RTF kann man auch direkt auf einen javax.print.PrintService rendern.


----------



## robertpic71 (5. Jun 2007)

In meinen Serveranwendungen (AS/400 und Linux) kann ich die normalen Java-Druckerdienste verwenden - wenn ich auf CUPS ausgebe. CUPS setzt das PDF dann für den jeweiligen Drucker um.

Für Windows muss man irgendwas "frickeln".
Ich habe es zwar nicht getestet, in einem anderen Forum wurde dieses Freewaretool empfohlen:

www.esnips.com/web/PDFTools

Bei den Downloads ist auch ein pdfp.zip und pdfp8.zip (für Adobe 8 Reader) dabei. Damit kann man in Windows per Kommandozeile drucken.

Robert


----------



## Murray (5. Jun 2007)

Der Acrobat-Reader versteht die Option /p  [Dateiname]. Damit kommt dann vor dem Drucken noch der Standard-Druckdialog, mit dem man den Drucker auswählt. Dann gibt es auch noch die /t-Option, mit der man dann Druckernamen, -treiber und Queue übergeben kann; dadurch startet der Druck direkt (allerdings kann man die notwendigen Parameter nur durch native Code ermitteln)


----------



## thE_29 (6. Jun 2007)

Diese ganzen pdf Tools nutzen immer den Acrobat Reader


----------



## Leroy42 (6. Jun 2007)

Wenn ich den Acrobat Reader mit den
Optionen /p (print?) und /h (hidden?)
starte, druckt er nicht, und muß, weil
er ja nicht zu sehen ist, über den 
Taskmanager abgeschossen werden.

Ich habe meinen Chef jetzt davon überzeugt, das, 
wer mein Programm bedienen kann (was ist eigentlich
das Gegenteil von _intuitiv bedienbar_  ???:L   )
zuzumuten ist, in dem sich automatisch öffnenden
Acrobat-Reader das Icon für _Drucken_ zu finden
und klicken zu können.


----------



## thE_29 (6. Jun 2007)

Also bei mir geht das!

AcroRd32 /h /p datei.pdf


----------

