web-dev-qa-db-fra.com

Lot de convertir des documents Word au format PDF

Comment convertir par lots de nombreux documents Word et les enregistrer sous le format [nomfichier d'origine] .pdf?

36
Kjensen

Voici comment je le ferais:

  1. Télécharger Graveur CutePDF
  2. Définissez le graveur comme votre imprimante par défaut (vous pourrez le modifier ultérieurement)
  3. Placez tous vos fichiers .doc dans le même dossier
  4. Mettez en surbrillance tous les fichiers, cliquez avec le bouton droit de la souris, Imprimer

Seul inconvénient est que vous devez cliquer sur Ok une fois pour chaque fichier.

24
Travis

Il se peut que cela se répande sur le territoire de stackoverflow.com, mais vous pouvez également écrire un script dans Word 2007 pour ouvrir et enregistrer un document au format PDF. Cela nécessite Office 2007 et le plug-in "Enregistrer en PDF" de Microsoft.

Enregistrez ceci dans un fichier SaveAsPDF.js et exécutez-le à partir de la ligne de commande en utilisant cscript.exe //nologo SaveAsPDF.js SomeFolder\MyDocToConvert.doc:

var fso = new ActiveXObject("Scripting.FileSystemObject");
var docPath = WScript.Arguments(0);
docPath = fso.GetAbsolutePathName(docPath);

var pdfPath = docPath.replace(/\.doc[^.]*$/, ".pdf");
var objWord = null;

try
{
    WScript.Echo("Saving '" + docPath + "' as '" + pdfPath + "'...");

    objWord = new ActiveXObject("Word.Application");
    objWord.Visible = false;

    var objDoc = objWord.Documents.Open(docPath);

    var wdFormatPdf = 17;
    objDoc.SaveAs(pdfPath, wdFormatPdf);
    objDoc.Close();

    WScript.Echo("Done.");
}
finally
{
    if (objWord != null)
    {
        objWord.Quit();
    }
}
41
bobbymcr

bien, cutepdf & pdf99 font bien leur travail, mais je trouve PDFcreator plus attrayant, car l’impression est de meilleure qualité que les deux autres, elle en a aussi plus option de configuration, plus il est open-source.

9
Tutul

En ce qui concerne le script SaveAsPDF.js envoyé par un utilisateur précédent. Cela a fonctionné pour convertir un fichier pdf, mais je ne savais pas comment convertir tous les fichiers d'un répertoire. En jouant un peu, j'ai créé un fichier. CovertAll2PDF.bat avec les 2 lignes suivantes:

echo off
for %%X in (*.doc) do cscript.exe //nologo SaveAsPDF.js "%%X"

il y a aussi le /r "Parent Directory" qui peut être inséré comme pour /r "PD" %%X in -.... qui passera par tous les répertoires, dans ce cas, placez-le C:\SaveAsPDF.js et enregistrez Saveaspdf.js dans ce répertoire.

Je suis sûr que c'est maladroit, mais ça a fonctionné pour moi. espérons que cela aide quelqu'un.

6
Fallensoul

Utiliser Google Docs en tant que lot PDF Convertisseur par Amit Agarwal

Si vous avez un grand nombre de documents Word, de feuilles de calcul Excel et de présentations PowerPoint sur votre disque dur que vous souhaitez convertir en PDF sans investir dans un logiciel commercial comme Adobe Acrobat, essayez Google Docs.

Bien qu'il ait toujours été possible de convertir des documents Office au format PDF à l'aide de Google Documents, la nouvelle fonctionnalité d'exportation facilite encore la conversion par lots des formats de fichiers Microsoft Office et OpenOffice au format PDF ( ou HTML) en trois étapes faciles. Conversion par lots en PDF avec Google Docs

Utiliser Google Documents en tant que lot PDF Convertisseur

Étape n ° 1 : créez un nouveau dossier "de saisie" dans Google Documents où vous téléchargerez tous vos documents et présentations à convertir au format PDF.

Étape n ° 2 : sélectionnez maintenant l'option Télécharger le document dans Google Documents, définissez le dossier de destination sur celui que vous avez créé à l'étape 1 et téléchargez * tous vos documents.

Google Docs prend officiellement en charge les formats de fichiers suivants, mais vous pouvez également télécharger des images:

* Microsoft PowerPoint (.ppt, .pps).
* Microsoft Word (.doc, .docx), OpenDocument (.odt) and StarOffice (.sxw).
* Microsoft Excel (csv, .xls, .xlsx) files and OpenDocument Spreadsheet (.ods).

[*] Vous pouvez également utiliser l'option de courrier électronique pour télécharger des documents sur Google Docs, mais cela placerait tout dans le dossier principal et la gestion des documents pourrait donc devenir un problème, en particulier lorsque vous avez trop de fichiers.

Étape n ° 3 - Une fois tous les fichiers chargés sur Google Documents, ouvrez à nouveau le tableau de bord et sélectionnez le dossier "entrée" dans la barre latérale droite. Sélectionnez tous les fichiers de ce dossier et choisissez "Exporter" sous "Autres options".

Sélectionnez ici le format de sortie "PDF" (ou HTML) et tous vos documents Word, présentations, feuilles de calcul, etc. seront instantanément convertis en PDF.

Et si vous convertissez un grand nombre de documents en PDF, vous n'avez pas besoin d'attendre dans le navigateur la fin de la conversion, car Google Documents vous enverra automatiquement un e-mail une fois le traitement terminé. Le courrier électronique comportera un lien à partir duquel vous pourrez télécharger directement tous les fichiers PDF dans un seul fichier Zip de grande taille.

6
Adrian

La réponse de Bobbymcr est assez intéressante et fonctionne bien avec Word 2010. Néanmoins, il y a une amélioration à apporter. La ligne de commande originale de Bobbymcr ressemble à ceci:

cscript.exe //nologo SaveAsPDF.js SomeFolder\MyDocToConvert.doc

Cela ne fonctionne pas si vous avez associé des fichiers .js à un type d’éditeur tel que Notepad ++. Dans ce cas, vous devez également spécifier le moteur à utiliser, sinon cscript vous affichera un message d'erreur. Ceci est facilement réalisé en utilisant le paramètre de ligne de commande //E:jscript:

cscript.exe //nologo //E:jscript SaveAsPDF.js SomeFolder\MyDocToConvert.doc

6
JC2k8

Ce petit extrait a très bien fonctionné pour moi.

  • Libre
  • Facile
  • Aucune limite sur le nombre de fichiers

    $Word=New-Object -ComObject Word.Application
    
    $Files=Get-ChildItem ".\*.docx"
    
    ForEach ($File In $Files) {
        $Document=$Word.Documents.Open($File.FullName)
    
        $Name=($Document.FullName).Replace("docx", "pdf")
    
        $Document.SaveAs([ref] $Name, [ref] 17)
        $Document.Close()
    }
    
    $Word.Close()
    

Enregistrez-le simplement dans un script PowerShell tel que Convert-Documents.ps1, puis exécutez-le à partir de la ligne de commande à partir du dossier contenant tous vos documents source.

4

Je ne l'ai pas essayé, mais il existe une méthode de traitement par lots utilisant OpenOffice.org que vous pouvez tester. Les instructions pour le faire sur les plateformes GNU/Linux et Windows sont décrites à l’adresse http: //www.tech-faq. com/convert-Word-to-pdf.shtml (et aussi à http://www.togaware.com/linux/survivor/Convert_MS_Word.html "et, à http://www.oooforum.org/forum/viewtopic.phtml?t=3772 ).

Le principe consistant à utiliser OpenOffice.org pour lire le fichier .doc, puis l'exporter au format PDF semble judicieux si vous trouvez qu'OpenOffice.org facilite raisonnablement l'ouverture de vos fichiers .doc.

4
mas

Si vous souhaitez une méthode en ligne simple et rapide pour 20 fichiers ou moins, utilisez ce site Web online2pdf . Vous pouvez ici télécharger vos fichiers, choisir des options, puis Cliquez sur Convertir pour convertir tous les documents, puis télécharger automatiquement un fichier Zip contenant les fichiers PDF.

0
Ghos3t

Si les documents Word sont simples et si vous n'avez pas besoin que le formatage des documents Word soit présent dans les documents PDF, vous pouvez utiliser une simple boucle autour du code principal de mes programmes DOCXtoPDF pour faire ce que vous voulez. DOCXtoPDF utilise en interne xtopdf, ma boîte à outils Python pour la création de PDF à partir de nombreux autres formats. ReportLab 1.21 doit également être installé.

Voir:

http://jugad2.blogspot.in/2013/10/convert-Microsoft-Word-files-to-pdf.html

http://slid.es/vasudevram/xtopdf

https://bitbucket.org/vasudevram/xtopdf

http://www.reportlab.com/ftp

0
Vasudev Ram

Conversion de plusieurs documents DOC en PDF sous Windows XP à l'aide de JODConverter et Open Office

Conditions préalables:


Étape 1Téléchargez JODConverter (dernière version de jodconverter-2.2.2.Zip ) de

Décompressez le fichier Zip JODConverter dans un répertoire de votre choix (D1)


Étape 2 Démarrez OpenOffice en mode service (plus de détails ici )

Créez un fichier batch start-service.bat avec le contenu suivant:

start-service.bat:

X:\Program Files\OpenOffice.org 3\program\soffice.exe -headless
-accept="socket,Host=127.0.0.1,port=8100;urp;" –nofirststartwizard

:: if ne fonctionne pas, essayez de supprimer ce dernier paramètre (–nofirststartwizard)

(en supposant que X:\Program Files\OpenOffice.org 3\est le répertoire où Open Office est installé et où soffice.exe est présent).

Exécutez start-service.bat (Open Office est maintenant démarré en mode service et en attente de commandes)


Étape 3

Rassemblez tous les documents à convertir en pdf dans un répertoire (D2)

Créez un fichier batch convert.doc qui lance JODConverter avec et émettez les instructions de conversion:

convert.bat:

Java -jar  "<D1>\lib\jodconverter-cli-2.2.2.jar" -f pdf  *.doc

où D1 est le répertoire JODConverter créé à Étape 1

(Si JODConverter a un autre numéro de version, mettez à jour convert.bat en conséquence)

IMPORTANT: le fichier convert.bat doit se trouver dans le répertoire D2!


Étape 4:

Exécutez convert.bat

Pour chaque fichier * .doc présent dans D2, JODConverter nécessitera qu'Open Office crée un nouveau fichier portant le même nom et la même extension pdf dans le même répertoire.

0
Adrian

Construit à partir de la réponse d'Umar , voici un script PowerShell modifié qui:

  • Traiter DOC ainsi que DOCX
  • Afficher une barre de progression comme cela fonctionne

Comme avec Umar, pour utiliser ceci:

  • enregistrez le script ci-dessous sous forme de fichier, par exemple, doc2pdf.ps1, quelque part dans votre PATH
  • accédez au répertoire contenant vos fichiers doc ou docx
  • exécuter powershell doc2pdf.ps1
$Word=New-Object -ComObject Word.Application

$Files=@(Get-ChildItem ".\*.docx") + @(Get-ChildItem ".\*.doc")
    # Need @() to get an array in case there is only one file - see
    # https://blogs.technet.Microsoft.com/heyscriptingguy/2013/07/18/powertip-find-number-elements-in-a-powershell-array/#comment-104863

for($file_idx = 0; $file_idx -lt $Files.Count; ++$file_idx) {

    # Show the current progress
    $File = $Files[$file_idx]
    Write-Progress -Activity "Convert DOC(X) to PDF" `
                    -CurrentOperation $File.Name `
                    -PercentComplete (($file_idx/$Files.Count)*100)

    # Make the PDF
    $Document=$Word.Documents.Open($File.FullName)
    $Name=($Document.FullName -replace "\.docx?", ".pdf")     # -replace is case-insensitive regex per https://ss64.com/ps/syntax-regex.html

    $Document.SaveAs([ref] $Name, [ref] 17)
    $Document.Close()
}

# Clean up
$Word.Quit()    # Doesn't close other Word instance that may be running.

# Remove any dangling references, per https://technet.Microsoft.com/en-us/library/ff730962.aspx
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($Word)
Remove-Variable Word

# By cxw - https://superuser.com/users/269989/cxw - CC-BY-SA 3.0
# Modified from https://superuser.com/a/1187598/269989 by https://superuser.com/users/12797/umar-farooq-khawaja

Testé avec Word 2013 et PowerShell 4.0.

0
cxw