Ligne de commande par lots de Windows 7 pour enregistrer en tant que fichier .pdf pour le fichier Word 2013 .docx

10

J'aimerais avoir le moyen le plus rapide d'exporter mon fichier de rapport .docx vers .pdf et de le distribuer aux autres chaque fois que j'ai une nouvelle version mise à jour.

Je recherche une approche en ligne de commande qui automatise les étapes suivantes que je dois faire manuellement à l'aide de ma souris jusqu'à présent:

File -> Save as -> Browse for location

Quelles sont mes options de commande pour un fichier batch?

Nam G VU
la source
1
Consultez cette question: superuser.com/questions/541357/…

Réponses:

11

Créez une macro globale dans 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

Après cela, vous pouvez convertir un document Word en PDF en ligne de commande:

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

La fenêtre Word ne s'affichera même pas, car elle est définie pour se fermer une fois la macro terminée et le paramètre / q désactive la fenêtre de démarrage lorsque Word est en cours de chargement.

Voici les instructions détaillées alternatives sur GitHub . De plus, l'option du menu contextuel permet la conversion par lots même sans ligne de commande. Il peut être ajouté au registre. Pour DOC et 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
la source
0

Pour un outil de ligne de commande simple pour convertir par lots, vous pouvez utiliser docx2pdf: https://github.com/AlJohri/docx2pdf/

Installer:

pip install docx2pdf

Courir:

docx2pdf myFolderOfWordDocs

Avertissement: je suis l'auteur de cet outil.

Al Johri
la source