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"
- 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 - 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
-
Instale o PDFCreator juntamente com seu módulo COM
-
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
-
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