Linha de comando em lote do Windows 7 para salvar como arquivo .pdf para o arquivo .docx do word 2013

10

Gostaria de ter a maneira mais rápida de exportar meu arquivo .docx do relatório para .pdf e distribuí-lo para outras pessoas sempre que houver uma versão nova e atualizada.

Estou procurando uma abordagem de linha de comando que automatize as seguintes etapas que tenho que executar manualmente usando o mouse até agora:

File -> Save as -> Browse for location

Quais são as minhas opções de comando para um arquivo em lotes?

Nam G VU
fonte
11
Confira esta pergunta: superuser.com/questions/541357/…

Respostas:

11

Crie uma macro global no Word 2013:

' The Word macro for exporting to PDF (the Word window closes after finishing)
Sub ExportToPDFext()
    ChangeFileOpenDirectory ThisDocument.Path
    ActiveDocument.ExportAsFixedFormat _
        OutputFileName:=Left(ActiveDocument.FullName, InStrRev(ActiveDocument.FullName, ".")) + "pdf", _
        ExportFormat:=wdExportFormatPDF, _
        OpenAfterExport:=False, _
        OptimizeFor:=wdExportOptimizeForPrint, _
        Range:=wdExportAllDocument, _
        From:=1, _
        To:=1, _
        Item:=wdExportDocumentContent, _
        IncludeDocProps:=True, _
        KeepIRM:=True, _
        CreateBookmarks:=wdExportCreateNoBookmarks, _
        DocStructureTags:=True, _
        BitmapMissingFonts:=True, _
        UseISO19005_1:=False
    Application.Quit SaveChanges:=wdDoNotSaveChanges
End Sub

Depois disso, você pode converter um documento do Word em PDF na linha de comando:

"C:\Program Files\Microsoft Office\Office15\WINWORD.EXE" /mExportToPDFext /q "your_document_path.docx"

A janela do Word nem será exibida porque está definida para fechar após o término do trabalho da macro e o parâmetro / q desabilita a janela inicial quando o Word está sendo carregado.

Aqui estão as instruções detalhadas alternativas no GitHub . Além disso, a opção do menu de contexto permite a conversão em lote, mesmo sem a linha de comando. Pode ser adicionado ao registro. Para DOC e DOCX:

[HKEY_CLASSES_ROOT\Word.Document.8\shell\SavePDFhere]
@="Save PDF here"

[HKEY_CLASSES_ROOT\Word.Document.8\shell\SavePDFhere\command]
@="\"C:\\Program Files\\Microsoft Office\\Office15\\WINWORD.EXE\" /mExportToPDFext /q \"%1\""

[HKEY_CLASSES_ROOT\Word.Document.12\shell\SavePDFhere]
@="Save PDF here"

[HKEY_CLASSES_ROOT\Word.Document.12\shell\SavePDFhere\command]
@="\"C:\\Program Files\\Microsoft Office\\Office15\\WINWORD.EXE\" /mExportToPDFext /q \"%1\"" 
Oleksiy Kovtun
fonte
0

Para que uma ferramenta de linha de comando simples faça a conversão em lote, você pode usar docx2pdf: https://github.com/AlJohri/docx2pdf/

Instalar:

pip install docx2pdf

Corre:

docx2pdf myFolderOfWordDocs

Isenção de responsabilidade: eu sou o autor desta ferramenta.

Al Johri
fonte