Wie kann ich mehrere Dateitypen in Windows von der Befehlszeile aus drucken?

2256
cbannerjee

Ich habe einen PostScript-Drucker namens PSPinter für den FILE-Port eingerichtet. Ich kann in verschiedene Programme (MS Word, Excel, Acrobat usw.) gehen und das Dokument auf diesem Drucker ausdrucken. Es fragt mich nach einem Dateinamen, und sobald die Datei ausgegeben wurde, kann ich sie überprüfen und bestätigen, dass es sich um PostScript handelt. Ich muss etwas tun, was hinter den Kulissen das richtige Programm aufruft und die Druckfunktion darauf aufruft:

print /d:PSPRinter <inputFile.docx> <outputName.ps> 

Meine Frage ist, wie kann ich dies programmgesteuert von der Windows-Befehlszeile aus tun? Ich müsste auch den Namen der Ausgabedatei angeben können. Ich bin aber auch offen, etwas wie CutePDF zu verwenden, um die Ausgabe zu erzeugen (es ist mir egal, ob die Ausgabe der Dateien PDF oder (E) PS ist), aber diese Methode müsste auch programmgesteuert von der Befehlszeile ausgeführt werden.

2

2 Antworten auf die Frage

1
nixda

Verwenden Sie die Befehlszeilenfunktion von PDFCreator, um jede druckbare Datei in PDF zu konvertieren

  1. Installieren Sie PDFCreator zusammen mit seiner COM-Schnittstelle
  2. Erstellen Sie eine neue Textdatei mit dem folgenden Code und speichern Sie sie als C:\some\folder\Convert2PDF.vbs

    Set PDFCreator = Wscript.CreateObject("PDFCreator.clsPDFCreator", "PDFCreator_") With PDFCreator ReadyState = 0 .cStart "/NoProcessingAtStartup" .cOption("UseAutosave") = 1 .cOption("UseAutosaveDirectory") = 1 .cOption("AutosaveFormat") = 0 .cOption("AutosaveStartStandardProgram") = 0 DefaultPrinter = .cDefaultprinter .cDefaultprinter = "PDFCreator" .cClearcache .cPrinterStop = false .cOption("AutosaveDirectory") = WScript.Arguments(1) .cOption("AutosaveFilename") = WScript.Arguments(2)  .cPrintfile cStr(WScript.Arguments(0)) c = 0 Do While (ReadyState = 0) and (c < 120) c = c + 1 Wscript.Sleep 250 Loop .cDefaultprinter = DefaultPrinter .cClearcache WScript.Sleep 200 .cClose End With  Public Sub PDFCreator_eReady() ReadyState = 1 End Sub 

Verwendungszweck

CMD> C:\some\folder\Convert2PDF.vbs "C:\inputfile.doc" "C:\outputfolder" "outputfilename" 
Vielen Dank! - Das sieht toll aus! Ich habe es noch nicht ausprobiert ... cbannerjee vor 10 Jahren 0
Ich hatte PDFCreator heruntergeladen, aber ich brauche Administratorrechte, um es zu installieren ... die Corporation. IT-Jungs müssen mir zuerst die Erlaubnis geben ... cbannerjee vor 10 Jahren 0
Arbeitete - vielen Dank. Für Interessenten gibt es eine Vielzahl von Beispielen unter der PDFCreator-Installation unter dem COM-Ordner. Diese machen die Verwendung viel klarer. cbannerjee vor 10 Jahren 0
0
user2531336

Mit der Application.PrintOut-Methode können Sie von Word aus auf Dateidrucker drucken. Weitere Informationen finden Sie unter http://msdn.microsoft.com/en-us/library/office/ff840681.aspx .

Set WordApp = CreateObject("Word.Application") Set oArgs = Wscript.Arguments doc = oArgs.Item(0) 'printer  prt = oArgs.Item(1) 'prt = "4550PS" ' open the document WordApp.Documents.Open(doc)  ' set printer WordApp.WordBasic.FilePrintSetup prt,,,1   ' print docx file to ps file 'OutputFileName = left(doc, len(doc) - 4)&"ps" OutputFileName = oArgs.Item(2) WordApp.ActiveDocument.PrintOut ,,, OutputFileName,,,,,,, True  WordApp.ActiveDocument.Close False Set WordApp = nothing Set oArgs = nothing 

Sie führen die obige VBS-Datei wie folgt aus: file.vbs c: \ mein \ pfad \ nach \ input.docx MyPrinter c: \ mein \ pfad \ nach \ output.ps

Stellen Sie sicher, dass Ihre Druckernamen keine Leerzeichen enthalten.

Ich wähle "HP Color LaserJet 4550 PS" für Farb-PS-Dateien, ich nenne es 4550PS in Windows.