2009-06-10 10 views
0

Ich versuche, einige Text-basierte Drucken auf Windows zu tun. Mein Programm verwendet die Windows-Funktion "notepad /p file.txt", die eine Textdatei auf dem Standarddrucker druckt.Textdruck in der Landschaft über Notizblock

Das Problem ist, dass man kann nicht sagen, dass Sie statt Porträt in Landschaft drucken möchten. Auf die gleiche Weise ist es nicht möglich, auf einem anderen Drucker zu drucken.

Einige Hintergrundinformationen dazu: Ich drucke aus einem Tcl/Tk-Programm (siehe The Tcl'ers wiki on text printing). Ich kann mit dem GDI drucken, aber aus irgendeinem Grund ist dies zu langsam, und ich möchte Textdruck als schnelle Alternative anbieten, da der Druck auf eine Textdatei bereits verfügbar ist.

Antwort

0

Nach der Suche in Google scheint es, dass es keine anderen Befehlszeilenoptionen für Notepad gibt. Außerdem scheint der Befehl print keine alternativen Optionen für das Drucken im Querformat zu verwenden. Ich hatte gehofft, dass

notepad /p 

anders war als

notepad /P 

(ein Kapital ‚P‘), aber anscheinend nicht, so sieht es aus wie du kein Glück. Der einzige Vorschlag, den ich mir vorstellen kann, ist, ob es eine Möglichkeit gibt, die Standardeinstellungen für den Druck über die Befehlszeile festzulegen und sie anschließend wieder zurückzusetzen. Ich habe keine Ahnung, ob das möglich ist.

Bearbeiten 1: Etwas, das helfen könnte: http://www.robvanderwoude.com/2kprintcontrol.php.

Bearbeiten 2: Sieht so aus, als ob dies nicht die Druckeinstellungen steuert, nur die Drucker selbst, also müssen Sie eine andere Methode finden.

0

Etwas, das konnte helfen Ihnen:

http://torisugari.googlepages.com/commandlineprint2

Ein Firefox-Erweiterung, die Befehlszeilendruck ermöglicht. Es scheint keine Passierparameter zu unterstützen, aber ich denke, dass es möglich wäre, Unterstützung dafür hinzuzufügen.

EDIT ich nur die Erweiterung Seite neu zu lesen: sie nutzt die Standard-Präferenz des Benutzerprofils, so dass, wenn Sie es einrichten, wie durch Standard Landschaft Druck hat, sollte die Erweiterung, die Einstellung respektieren.

Natürlich würde diese Option Ihre Benutzer zwingen, sowohl Firefox als auch diese Erweiterung zu installieren. Vielleicht nicht die beste Wahl ...

1

Sie können dieses Freeware-Programm versuchen. Es ist nützlich.

http://home.swipnet.se/~w-62144/prfile/descr.htm

Um einen Druckerdialog für einen Text so etwas wie diese

set fd [open "|PrFile32.exe /-"] 
set str "This is my long peice of text I want to write out to..." 
puts $fd $str 
flush $fd 

zu bringen Wenn Sie nicht eine ausführbare Datei verwenden können, verwenden printui.dll. Sie die Drucker an der Maschine aufzuzählen, dann die Zeichenfolge der Wunsch Drucker passieren

Im Folgenden verwenden, die Druck perferences für einen bestimmten Drucker könnte

rundll32.exe printui.dll,PrintUIEntry /e /u /n "Adobe PDF" 

Sie dann Dialog zeigen rufen

notepad.exe /p filename.txt 

ich denke, die Freeware-Strecke ist viel einfacher, als Sie den Benutzer nicht den Standarddrucker entdecken müssen, stellen und die Datei in eine nicht-Standard-Weise zu drucken.

EDIT Ich habe das rundll32.exe Teil hinzuzufügen denken zu bringen Druckereinstellungen

+0

ich die PRFILE vielversprechendsten aussieht, wenn auch, dass ich die PRFILE32.exe zusammen mit meinem Programm zu liefern haben. Ich habe jedoch bereits einen internen Druckanforderer, so dass ich eigentlich bereits weiß, ob ich im Querformat oder im Hochformat drucken möchte. – Roalt

Verwandte Themen