4

Можно ли запустить команду, которая автоматически печатает в файл, используя CutePDF?

Я пробовал это и до сих пор не повезло: print C:\test.doc /D:CPW2

Если нет каких-либо других предложений о том, как автоматизировать печать в pdf / конвертировать в pdf через командную строку без вывода сообщений (бесплатная)

1 ответ1

5

Простое решение

Если путь вывода не имеет значения, вы можете попробовать PDFCreator с помощью следующей командной строки:

C:\Program Files (x86)\PDFCreator>PDFCreator.exe /NOSTART /PF"C:\test.doc"
  1. В графическом интерфейсе необходимо включить функцию « Автосохранение» и один раз установить путь автосохранения.
    Отныне этот путь будет использоваться каждый раз, когда вы выполняете команду выше
  2. Вы должны установить PDFCreator в качестве принтера по умолчанию

Совет:
По GUI вы можете сохранить свои настройки в профиле (.INI-файл), который затем можно выбрать при выполнении командной строки. Таким образом, вам не нужно использовать автосохранение по умолчанию для каждой обычной печати (например, из Word или Excel)

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

Усовершенствованное решение

Преимущество второго решения заключается в том, что вам не нужно устанавливать 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 для простого преобразования файлов по щелчку правой кнопкой мыши

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .