Linha de comando CutePDF ou equivilant

4

É possível executar um comando que será automaticamente impresso em arquivo usando CutePDF ?

Eu tentei isso e ainda sem sorte: print C:\test.doc /D:CPW2

Se não houver outra sugestão sobre como automatizar uma impressão para pdf / converter para pdf através de uma linha de comando silenciosamente (freeware)

    
por Ash King 03.07.2013 / 13:37

1 resposta

5

Solução simples

Se o caminho de saída não importa, você pode tentar PDFCreator com a seguinte linha de comando:

C:\Program Files (x86)\PDFCreator>PDFCreator.exe /NOSTART /PF"C:\test.doc"
  1. Por GUI, você precisa ativar Usar salvamento automático e definir um caminho de salvamento automático uma vez.
    De agora em diante, esse caminho será usado toda vez que você executar o comando acima
  2. Você precisa definir o PDFCreator como sua impressora padrão

Dica:
Por GUI você pode salvar suas configurações em um perfil (arquivo .INI) que pode ser selecionado quando você executa sua linha de comando. Dessa forma, você não precisa usar Salvamento automático como padrão para cada impressão normal (por exemplo, do Word ou do Excel)

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

Solução avançada

A vantagem da segunda solução é que você não precisa configurar o PDFCreator como sua impressora padrão e você tem controle total sobre o caminho e o nome do arquivo de saída

  1. Instale o PDFCreator juntamente com seu módulo COM

  2. Copiar & cole este código em um arquivo de texto e salve-o como 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. Você pode executar seu arquivo VBScript a partir da linha de comando com esta sintaxe:% Convert2PDF.vbs "C:\input.doc" "C:\outputfolder" "outputfilename"

Pessoalmente, eu uso uma versão ligeiramente diferente , onde a pasta de entrada e saída + o nome do arquivo permanecem os mesmos. Eu criei um atalho na minha pasta shell:sendto para converter facilmente arquivos por clique com o botão direito do mouse

    
por 03.07.2013 / 15:56