Inhalte für Entwickler
© 2000-2012, Two Pilots

Auf Englisch: Virtueller Drucker (Virtual Printer)
Andere Projekte: PDF-Bibliothek (PDF Library)
SAVE
EMF Drucker Treiber Pipeline Download Preise FAQ Wie macht man... Tutorials Sprachen Impressum

Erstellung eines virtuellen Druckers mit: C++ | C# | Delphi | VB.NET | VB 

Erstellung eines virtuellen Druckers mit Delphi

 

Beispiele

Sample Client application wird zu Test- und Entwicklungszwecken genutzt. Diese Anwendung zeigt an, wie man eine INI-Datei nutzt, um die Druckerauftrags-Informationen und -pfade in die generierten Dateien zu schreiben.
Sample Client Application downloaden: Virtual Printer für Delphi

Print Previewer - Beispielsanwendung, die die Features des virtuellen Druckers demonstriert. Print Previewer, der in benutzerdefinierten Client-Anwendungen benutzt wird, bietet detaillierte Informationen über gedruckte Dateien und zeigt die EMF-Dateien innerhalb des Formulars. Das Beispiel enthält den Code, der die Metadatei auf den Bildschirm ausgibt.
Print Previewer downloaden: Virtual Printer für Delphi

Printer Configuration - Beispiels-Dienstprogramm zur Konfiguration des virtuellen Druckers. Dieses Dienstprogramm ermöglicht das Festlegen solcher Parameter, wie Pfad der Client-Anwendung, Transfermodus des INI-Datei-Pfades und Ordner zum Speichern der generierten Dateien. (Der Drucker kann im EMF-, PDF-, TXT-, JPEG-, TIFF- oder BMP-Dateiformat drucken.)
Printer Configuration downloaden: Virtual Printer für Delphi

Wie druckt man die Dateien programmatisch mithilfe der ShellExecute - Funktion

 

Wie druckt man die Dateien programmatisch mithilfe der ShellExecute - Funktion

Das Code-Beispiel unten zeigt an, wie man die Dateien programmatisch entweder mit dem physikalischen oder virtuellen Drucker druckt, indem man die ShellExecute - Funktion benutzt. Es demonstriert auch, wie man den standardmäßigen Systemdrucker verändert.

function GetDefaultPrinter(szPrinter:PAnsiChar; var bufferSize:DWORD):
BOOL; stdcall; external 'winspool.drv' name 'GetDefaultPrinterA';

function SetDefaultPrinter(szPrinter:PAnsiChar):
BOOL; stdcall; external 'winspool.drv' name 'SetDefaultPrinterA';

procedure PrintDocumentUsingShellExecute (szPrinter: String,  szDocumentPath: String)
    var
    szDefaultPrinter, szNamePrinterBuff: String;
    bufferSize: DWord;

    begin
    
    // get the default printer
    SetLength(szDefaultPrinter, MAX_PATH);
    bufferSize:= MAX_PATH;
    GetDefaultPrinter(Pchar(szDefaultPrinter), bufferSize);
    szDefaultPrinter:= String (PChar(szDefaultPrinter));

    //change the default printer
    if(szPrinter <> szDefPrinter)
    then SetDefaultPrinter(PChar(szPrinter));

    // send the document  to the print
    ShellExecute(0, 'print', PChar(szDocumentPath), nil, nil, SW_HIDE);  

    //set default printer back to original
    if(szPrinter <> szDefaultPrinter)
    then SetDefaultPrinter(PChar(szDefaultPrinter));

    end;

Es ist dann notwendig, diese Funktionen mit erforderlichen Parametern aufzurufen. Sie können, z.B., die MS Word- und PDF - Dokumente so drucken:

PrintDocumentUsingShellExecute('Your Virtual Printer', 'c:\Documents\AnyDocument.doc')
PrintDocumentUsingShellExecute('Your Virtual Printer', 'c:\ Documents \AnyDocument.pdf')

Erstellung eines virtuellen Druckers mit: C++ | C# | Delphi | VB.NET | VB 

EMF Drucker Treiber Pipeline Download Preise FAQ Wie macht man... Tutorials Sprachen Impressum

 

Kontakt | Support | Blog | Forum

© 2000-2012, Two Pilots