2017-12-14 3 views
0

Ich habe eine SVC, die eine Zeichenfolge mit einem Druckernamen erhält, und nach einigen Dingen, druckt es ein PDF-Dokument.Drucken mit Winspool.Drv-WritePrinter druckt Hunderte von Seiten mit Symbolen anstelle der richtigen Seite

ich mit so etwas wie dieser Code die pdf

https://vishalsbsinha.wordpress.com/2014/05/06/how-to-programmatically-c-net-print-a-pdf-file-directly-to-the-printer/

Und es funktioniert perfekt auf meinem Computer/Drucker zu drucken. Aber wenn ich den Server auf dem Server veröffentliche und auf dem Server ausnutze, beginnt er, hunderte von Seiten mit Symbolen zu drucken, statt mit der erwarteten PDF-Seite. Auf dem Server ist Adobe Acrobat nicht installiert (und ich kann es auch nicht installieren), so dass ich keine anderen Alternativen wie 'new Process() -> Verb = "PrintTo" verwenden kann.

Die PDF-Schriftarten sind Calibri und Arial, und sie sind auf meinem Team und Server installiert.

Kann mir jemand sagen, warum druckt es falsch und welche Alternativen habe ich?

Das Modell des Druckers ist: RICOH Aficio MP C4501 PCL 6

+1

Sie müssten einen Drucker haben, der Postscript selbst versteht. Also nicht eine, die PCL als Drucksprache verwendet. –

Antwort

1

Ihre Lösung erfordert, dass der Drucker PDF-Dateien nativ behandelt, und viele Drucker nicht unterstützt PDF. Ein Druckertreiber übersetzt von Windows GDI in das systemeigene Format des Druckers, aber Sie umgehen den Druckertreiber mithilfe von WritePrinter. Sie müssen entweder einen anderen Papierdrucker verwenden, der PDF unterstützt, oder die Datei über den Druckertreiber anstelle von WritePrinter an den Drucker senden.

Verwandte Themen