web-dev-qa-db-ja.com

CutePDFコマンドラインまたは同等のもの

CutePDF を使用してファイルに自動的に出力するコマンドを実行することは可能ですか?

私はこれを試しましたが、まだ運がありません:print C:\test.doc /D:CPW2

コマンドラインを介してサイレントにPDFへの印刷/ PDFへの変換を自動化する方法に関する他の提案がない場合(フリーウェア)

4
Ash King

簡単な解決策

出力パスが重要でない場合は、次のコマンドラインで PDFCreator を試すことができます。

C:\Program Files (x86)\PDFCreator>PDFCreator.exe /NOSTART /PF"C:\test.doc"
  1. GUIごとに、自動保存を使用して、自動保存パスを1回設定する必要があります。
    これ以降、このパスは上記のコマンドを実行するたびに使用されます
  2. PDFCreatorをデフォルトのプリンターとして設定する必要があります

ヒント:
GUIごとに、設定をプロファイル(.INIファイル)に保存できます。このプロファイルは、コマンドラインの実行時に選択できます。このように、すべての通常の印刷(WordやExcelなど)のデフォルトとして自動保存を使用する必要はありません。

PDFCreator.exe /NoStart /OptionsFile"C:\myprofile.ini" /PF"C:\test.doc"

高度なソリューション

2番目のソリューションの利点は、PDFCreatorをデフォルトのプリンターとして設定する必要がなく、出力ファイルのパスと名前を完全に制御できることです。

  1. PDFCreatorをその COMモジュール と一緒にインストールします

  2. このコードをコピーしてテキストファイルに貼り付け、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
    
  3. 次の構文を使用して、コマンドラインからVBScriptファイルを実行できます。
    Convert2PDF.vbs "C:\input.doc" "C:\outputfolder" "outputfilename"

個人的には わずかに異なるバージョン を使用します。ここで、入力フォルダーと出力フォルダー+ファイル名は同じままです。 Shell:sendtoフォルダーにショートカットを作成して、右クリックごとにファイルを簡単に変換できるようにしました

enter image description here

5
nixda