Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Virtueller Drucker (https://www.delphipraxis.net/50904-virtueller-drucker.html)

Gruber_Hans_12345 2. Aug 2005 17:24


Virtueller Drucker
 
Hi,

Habe die Anforderung in mein Programm eine Funktion einzubauen, um von jeder Anwendung (Word, Excel .... ) in mein Programm zu drucken.
Dabei sollte eine PDF oder EMF ähnliche Datei erzeugt werden. (Deshalb, um die Texte noch als Text zu erhalten)

Die Beste Methode, die mir dazu eingefallen ist, wäre einen virtuellen Druckertreiber zu bauen, der dann ein PDF/EMF erzeugt. Nun wollte ich fragen, ob schon wer Erfahrugnen damit gemacht hat. (Ich vermute mal, da es sich hier dann um einen richtigen Treiber handeln muß, das dieser dann in C++ geschreiben werden sollte, da ja Delphi nicht geeignet ist dafür)

Bzw. hat jemand Erfahrung mit solchen Virtuellen Druckertreibern von Drittanbietern ?

Wäre über jegliche weiteren Infos dankbar
(Oder andere Vorschläge .... Eine Idee war auch einfach am PC einen TCP Server, und dann den Drucker per EMF auf diesen zu drucken, aber was ich so gelesen habe, würde das eher nicht funktionieren)

Aenogym 2. Aug 2005 17:34

Re: Virtueller Drucker
 
hi hans,

ghostScript ist sicher etwas interessantes für dich.
es kann .ps-dateien in .pdf-dateien umwandeln. und die .ps-dateien kann dir windows ja ganz einfach erstellen (druckerdialog > in datei umleiten).

aenogym

Olli 2. Aug 2005 17:56

Re: Virtueller Drucker
 
Ich glaube, daß dies auch komplett im Usermode geht. Drucker sind ein Gebiet, wo es auch für bestimmte Dinge Usermode-Treiber gibt.

Dieses Projekt bietet diese Möglichkeit. Allerdings ist es in VB geschrieben. Es benutzt unter anderem PostScript (also entweder das von GNU oder GhostScript, siehe oben).

mschaefer 2. Aug 2005 18:07

Re: Virtueller Drucker
 
Moin, moin,

also einen virtuellen Druckertreiber braucht man nich selbst zu schreiben. Für PDF gibt es sowas schon wie obern schon erwähnt wurde. Wenn es nur um die Datenablage geht ( Du mußt die Dokumente sagen wir achrivieren) dann sollten diese in ein Verzeichnis gedruckt werden z.B. mit einem PDF-Druckertreiber). Von da aus kanns tDu sie dann in eine Datenbank einlesen.

Wenn es aber darum geht, dass Dein Programm zugriff auf dei Daten haben soll, dann sind andere mechanismen notwenig. Zum Beispiel speichern in RTF oder zugriff per OLE und speichern des Dokumentes in einen Stream.

Grüße // Martin

Gruber_Hans_12345 3. Aug 2005 08:51

Re: Virtueller Drucker
 
Wie kann ich unter XP in ein Verzeichnis Drucken ?
Weiss nur wie ich in eine Datei drucken kann, aber da muß ich jedesmal Verzeichnis UND Dateiname eingeben ..

Kann man das wo einstellen, das es fix in ein Verzeichnis gedruckt wird, und der Name so vergeben wird wie der Spoolvorgang heißt ?

@Aenogym: Ghostscript kenne ich schon, nur habe ich das PRoblem das ich zu der PS Datei komme ....

@Olli: Werde mir mal anschauen, was die das gemacht haben, sieht auf jeden Fall mal interessant aus ...

Olli 3. Aug 2005 09:40

Re: Virtueller Drucker
 
Zitat:

Zitat von Gruber_Hans_12345
Kann man das wo einstellen, das es fix in ein Verzeichnis gedruckt wird, und der Name so vergeben wird wie der Spoolvorgang heißt ?

Also soweit ich mich entsinne, konnte man auf allen NT-basierten Systemen den Druckerport so einstellen, daß er in bestimmte Dateien druckt. Ich gucke eben nochmal nach. Habe schon eine Idee, falls ich recht habe.

Dir würde es also reichen normal in eine Datei zu drucken? In diesem Fall müßtest du vielleicht nur einen generischen PostScript-Druckertreiber einstellen und dann jeweils die Ausgabedatei anpassen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:50 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz