Druckerdaten zu PDF

Fragefuchs

Newbie
Registriert
Feb. 2020
Beiträge
5
Moin,

wie schätzt ihr den Aufwand ein, folgende Anwendung für Windows PCs zu entwickeln:

Aus einem Druckbefehl wird zeitgleich ein PDF generiert und auch ein physischer Ausdruck angefertigt.
Am Ende soll das PDF über WiFi Direct/Bluutooth/NFC übertragen werden können.

- Daten, die an den Drucker gehen direkt auf dem PC abfangen

- Abgefangene Daten in PDF umwandeln

- Alles zeitgleich und automatisch

Hintergrund ist, dass das Programm, welches die Druckerdaten erzeugt, keine PDF Ausgabe unterstützt und auch nicht klar ist, ob ein "PDF-Drucker" als normaler Drucker unterstützt wird.

Im Allgemeinen ist es das Ziel, von dem Programm, welches die Druckdaten erzeugt, unabhängig zu sein. Daher der Ansatz, die Daten, die dann an den Treiber/Drucker gehen, abzufangen.

Schon mal einen riesen Dank für eure Hilfe!

Wenn ihr Tipps habt, wie und wo man sowas entwickeln (lassen) könnte, dann auch gerne her damit (Programmiersprachen, Tools, Kontakte..).
Wo gäbe es solche Hardware zum Übertragen?
 
Zuletzt bearbeitet:
Auf die Idee kamen schon einige vor dir. Wenn du es nicht um des Lernens/Programmierens willen doch selbst umsetzen möchtest, nimm Ghostscript und installier dir damit einen virtuellen PDF-Drucker.
 
  • Gefällt mir
Reaktionen: kim88
Windows10 bringt doch den "Drucker" Microsoft print to PDF mit.
Wenn man das als Drucker auswählt, fließt die Druckausgabe in eine PDF-Datei.
 
  • Gefällt mir
Reaktionen: pcBauer, new Account(), M4ttX und eine weitere Person
@Haggis

So wie ich das verstehe:

Computer > Druckauftrag > Drucker empfängt und Druckt/Computer wandelt simultan dieselben Daten in .pdf um = ein Vorgang

Oder?

Fragefuchs schrieb:
und auch nicht klar ist, ob ein "PDF-Drucker" als normaler Drucker unterstützt wird

Dann würde ich das an erster Stelle mal überprüfen. Wüsste jetzt aber nicht, was dagegen spräche. An der Berechtigung zur Installation von Programmen/Geräten kann es ja nicht scheitern - aus administrativer Sicht.

XShocker22
 
  • Gefällt mir
Reaktionen: M4ttX
Fragefuchs schrieb:
ob ein "PDF-Drucker" als normaler Drucker unterstützt wird
Nicht sicher was du damit meinst. Die PDF Drucker installieren sich als normale Druckertreiber und sind als Drucker auswählbar. Programme können da eigentlich nicht unterscheiden ob das ein "physischer" Drucker oder PDF ist.
So zumindest die Theorie :D
 
  • Gefällt mir
Reaktionen: Scientist, BeBur, XShocker22 und 3 andere
DeusoftheWired schrieb:
Auf die Idee kamen schon einige vor dir. Wenn du es nicht um des Lernens/Programmierens willen doch selbst umsetzen möchtest, nimm Ghostscript und installier dir damit einen virtuellen PDF-Drucker.

Und könnte man die Umwandlung in ein PDF automatisch erfolgen lassen? Denn manuell würde es zu lange dauern.
Des Weiteren müsste sowohl ein PDF erzeugt werden können als auch ein klassischer Ausdruck erfolgen können, ohne Veränderungen vornehmen zu müssen. Das stelle ich mir so vor, dass zB der physische Drucker einfach ausgestellt ist und nur bei Bedarf eingeschaltet wird - die Daten fließen aber in jedem Falle.
Ich denke, das müsste man programmiert bekommen.

Und was kann man tun, falls das Programm nicht in Postscript ausgibt und/oder der physische Drucker es auch nicht unterstützt?
 
Installier einfach Ghostscript und teste mit deinem betreffenden Programm, ob es Ghostscript als Drucker akzeptiert oder nicht.

Was du mit manuell oder automatisch meinst, verstehe ich nicht. Du mußt natürlich immer den PDF-Drucker auswählen, wenn du eine PDF möchtest, und den physischen Drucker, wenn du es auf einem Blatt Papier haben möchtest.
 
Klar, das werde ich machen.

Der Punkt ist ja, dass ich die Option haben muss, gleichzeitig 2 Drucke zu machen - einmal PDF und einmal einen Ausdruck. Daher die Idee, die Daten, die an den physischen Drucker gehen, abzufangen. Einen PDF-Drucker zu installieren, wäre ja kein Thema. Sondern diese doppelte, automatisch erfolgende Ausgabe, ist der Punkt. Ich hoffe, dass es jetzt verständlicher ist.

Auf jeden Fall ganz ganz vielen Dank :)
 
Das mit dem doppelten war im ersten Post nicht so ganz klar, ich ging von einem entweder-oder-Fall aus.

Aber egal, so habe ich das noch nicht gesehen und bin mir auch nicht sicher ob das gehen würde.
Was man aber eventuell machen kann ist einen PDF-Drucker zu finden der immer an die gleiche Stelle speichert (oder zumindest ein Duplikat), vielleicht kann der Microsoft PDF-Drucker das als Group Policy.
Anschließend dann ein Script im Intervall laufen lassen, das die gespeicherten PDFs an den physischen Drucker sendet und dann löscht (oder archiviert).
 
Ok, das tut mir leid. Aber super, dass du mir so hast helfen können! Tausend dank!

Den Ansatz mit einem Skript hatte ich auch. Welche Sprache empfiehlst du dafür? Geht C?
 
Also willst du eigentlich, daß du nur einmal einen Druck-Befehl absetzt, aber damit gleichzeitig eine PDF und ein physischer Ausdruck auf Papier erzeugt werden?
 
Ich verstehe irgendwie das Problem nicht. Zum einen musst du beim PDF-Drucken sowieso Datei+Pfad für das PDF angeben (es wird also sowieso Benutzerinteraktion benötigt) und viele, wenn nicht gar die meisten PDF Drucker öffnen das erstellte PDF anschließend im PDF Viewer oder bieten das zumindest als Option an. Wo ist jetzt das Problem, das Dokument zB aus Word auf dem PDF-Drucker und dann im angezeigten PDF nochmal auf dem physischen Drucker zu drucken? Der Anwendungsfall scheint mir doch sehr an den Haaren herbeigezogen zu sein bzw. die Notwendigkeit eines 1-Klick-PDF+Papier-Druck.
 
Ich denke das "Problem" ist, dass der Workflow der Mitarbeiter nicht verändert werden soll. Je nach Tech-Skills der Mitarbeiter kann so eine "simple" Umstellung schon einiges an Zeit kosten. Die sollen weiterhin nur auf dem normalen Drucker drucken, das PDF noch nebenbei (ggf. ohne, dass es der Mitarbeiter mitbekommt) gespeichert/archiviert werden.
 
Mir wäre aber kein PDF-Drucker bekannt, der das so machen könnte. Liegt vermutlich daran, dass das ein Stück weit am Sinn von PDF-Druckern vorbeigeht. Der PDF-Druckertreiber müsste ja seinerseits einen Druckauftrag auslösen. Das ist insofern nur bedingt sinnvoll, weil man ja nicht zwingend JEDES PDF-Dokument auch zwingend auf Papier drucken möchte, der PDF-Drucker aber IMMER einen Haufen Papier erzeugen würde...

Ansonsten könnte man zumindest bei Word und Co auch mit einem Makro arbeiten. Ich habe mal vor einigen Jahren in VBA ein PDF zu Fuß generiert (kein 1:1 Druck des Dokuments, sondern nur Teile davon). Leider habe ich das Makro nicht mehr, aber da es hier ja um einen 1:1 Druck für PDF und Papier geht, kann man das auch ganz banal über den Makrorekorder aufzeichnen. Makrorekorder starten, Drucken via PDF-Drucker, nochmal Drucken via Standard-Drucker, Aufzeichnung stoppen. Makroeditor öffnen und das Makro ggfs noch anpassen. So kann man im Makro dann beispielsweise einen Standard-Dateinamen für das PDF angeben oder selbigen aus dem Dokumentnamen generieren. Zu guter Letzt packt man das Makro in die Menüleiste und der Anwender klickt eben auf das Makro und nicht auf den Drucker.

So könnte man zumindest schon mal den Prozess insofern abkürzen, dass der Nutzer nur das Makro aufruft, welches anschließend ein PDF generiert - sprich: Druck via PDF-Drucker - und danach einen Papier-Druck über den physischen Drucker auslöst.

Die Makro-Lösung funktioniert natürlich nur bei Makro-fähigen Programmen wie zB MS Office. Braucht man das über alle Anwendungen hinweg, also beispielsweise auch aus Notepad heraus, muss das dementsprechend auch zentral erfolgen, also im PDF-Drucker selbst. Ich wüsste aber nicht welcher PDF-Drucker so einen "Durchschleif-Modus" bietet.
Theoretisch kann man einen PDF-Drucker auch selbst programmieren, aber das ist ohne fundiertes Programmierwissen illusorisch. Ich wüsste selbst gar nicht was/wie/wo da zu tun wäre..
 
Zuletzt bearbeitet:
Raijin schrieb:
Mir wäre aber kein PDF-Drucker bekannt, der das so machen könnte. Liegt vermutlich daran, dass das ein Stück weit am Sinn von PDF-Druckern vorbeigeht. Der PDF-Druckertreiber müsste ja seinerseits einen Druckauftrag auslösen. Das ist insofern nur bedingt sinnvoll, weil man ja nicht zwingend JEDES PDF-Dokument auch zwingend auf Papier drucken möchte, der PDF-Drucker aber IMMER einen Haufen Papier erzeugen würde...
Deswegen soll es ja andersrum gemacht werden. Vom Nutzer wird nur der physische Drucker angesteuert, er möchte aber, dass sich noch was dazwischen klinkt und die Daten zum Speichern abfängt und dann weiterleitet an den phyischen Drucker.
 
Puh... Also prinzipiell kann man mit .Net in System.Printing die Druckerjobs abfragen, pausieren, fortsetzen, abbrechen. Ob man auch einen Job kopieren kann, um ihn dann in die Warteschlange eines PDF-Druckers zu schieben, müsste man mal ausprobieren, könnte klappen. Glaube aber kaum, dass es da etwas fertiges gibt, man müsste wohl selbst Hand anlegen.
Ergänzung ()

Hab mal ein wenig gestöbert. Hier beschreibt jemand wie er mit MultiPrint auf zwei Druckern druckt, physisch und PDF. Aus der Feature-Liste kann ich zwar nicht herauslesen, dass das geht, weil da immer nur von TIFF-Dateien in einem überwachten Ordner die Rede ist, aber das könnte man ja in Erfahrung bringen, wenn man denen mal ne Mail schreibt.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Mihawk90 und DeusoftheWired
Zurück
Oben