Lot de convertir des documents Word au format PDF

Réponses:

24

Voici comment je le ferais:

  1. Télécharger CutePDF writer
  2. Définissez le graveur comme imprimante par défaut (vous pourrez le changer 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.

Travis
la source
3
C'est ce que j'ai réellement fait. Je devais le faire un peu différemment cependant ... J'ouvre le "Imprimante" de CutePDF à partir du panneau de commande, ainsi il a montré ce que serait la file d'attente des imprimantes ... Ensuite, j'ai fait glisser les documents dans cette fenêtre - puis Tout entonnait pour accepter le nom de fichier à partir de là. Ils étaient tous nommés MICROSOFT WORD - [nom du fichier] .pdf, mais je peux résoudre ce problème facilement.
Kjensen
Le même flux de travail peut être utilisé avec PDFCreator ( en.pdfforge.org/pdfcreator ). Si vous l’installez en tant que service ou en mode automatique, vous pouvez vous déconnecter sauf pour sélectionner> imprimer.
matt Wilkie
1
Si je mets en surbrillance plus de 15 fichiers dans Windows, l'option "Imprimer" disparaît du menu contextuel. Je viens d'essayer la méthode glisser-déposer, mais 94 fichiers pourraient être trop pour elle ...
Spacedman
41

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

Enregistrez ceci dans un fichier SaveAsPDF.jset 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();
    }
}
bobbymcr
la source
5
Le code ci-dessus fonctionne à merveille, mais il ne prend qu'un seul fichier comme argument. J'étais trop paresseux pour rechercher un moyen de filtrer un répertoire dans JScript. J'ai donc créé un moyen dans Powershell en utilisant la publication ci-dessous comme source d'inspiration: stackoverflow.com/questions/181036/… PS E: \ Mes documents> ls * .doc | % {cscript // nologo E: \ jssrc \ SaveAsPDF.js $ _}
Aniti
@bobbymcr Link en réponse est mort. Voir ici pour le SaveAsPDFtéléchargement actuel du plugin.
Peter Vandivier
9

Bien, cutepdf & pdf99 font bien leur travail, mais je trouve que PDFcreator est plus attrayant car son impression est de meilleure qualité que les deux autres.

Tutul
la source
1
PDFCreator peut être utilisé comme indiqué par kjensen ci-dessus. Cependant, je voulais souligner que, dans les options de PDFCreator, vous pouvez activer la sauvegarde automatique, qui enregistrera automatiquement chaque document dans le répertoire de votre choix avec le nom de fichier de votre choix. . De cette façon, vous n'avez pas besoin d'appuyer sur "entrée" pour vérifier que vous voulez enregistrer chaque fichier.
6

Utiliser Google Docs en tant que convertisseur PDF par lots 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 au format PDF en même temps 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 davantage la conversion par lots des formats de fichiers Microsoft Office et OpenOffice au format PDF (ou HTML) en trois étapes simples. Conversion par lots en PDF avec Google Docs

Utiliser Google Docs en tant que convertisseur de PDF par lots

É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 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, notamment lorsque vous avez trop de fichiers.

Étape 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 au format PDF, vous n'avez pas à attendre dans le navigateur que la conversion soit terminée, car Google Documents vous enverra automatiquement un e-mail une fois le traitement terminé. L'e-mail comportera un lien permettant de télécharger directement tous les fichiers PDF dans un grand fichier ZIP.

Adrian
la source
1
Préparez-vous à la détérioration significative de tout document contenant des tableaux, des images et des polices moins courantes. Je n'y suis pas allé plus loin, mais j'ai essayé un document Word avec un en-tête construit avec un tableau contenant du texte et un graphique, en utilisant la police Calibri. Le PDF ne ressemblait en rien à l'original.
rossmcm
Cette méthode date de 2009 et semble malheureusement avoir été supprimée (des fichiers individuels peuvent être exportés au format PDF, mais les dossiers ne sont pas ...)
Joe
6

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 //E:jscriptparamètre de ligne de commande:

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

JC2k8
la source
6

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é car /r "PD" %%X in -....qui passera par tous les répertoires, dans ce cas, faites-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.

Fallensoul
la 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 décrites à lahttp://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.

mas
la source
1
Utiliser OpenOffice.org vous donnera une table des matières cliquable, etc. Toute solution "Print to PDF" ne le sera pas. Voir superuser.com/questions/568/how-to-print-documents-to-pdf/…
Arjan
+1 pour les imprimantes virtuelles pdf. Celles-ci sont excellentes, je souhaite qu’elles soient disponibles par défaut sur tous les systèmes d’exploitation.
Manu
4

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 Convert-Documents.ps1, puis exécutez-le à partir de la ligne de commande à partir du dossier contenant tous vos documents source.

Umar Farooq Khawaja
la source
@Cxw a effectué une modification de ma réponse, qui a supprimé des parties importantes de ma réponse, à savoir le fait que le script est freeet peut traiter et le unlimitednombre de fichiers. En tant que tel, j'ai annulé l'édition, mais j'ai incorporé le correctif de syntaxe suggéré dans l'édition.
Umar Farooq Khawaja
Cela fonctionnait pour moi sous Windows 7 lorsque j'ai enlevé les [ref]commandes et la dernière ligne ( $Word.Close()). Sinon, des erreurs sont apparues.
loved.by.Jesus
0

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

Conditions préalables:


Étape 1 Téléchargez JODConverter (la dernière version, jodconverter-2.2.2.zip) à partir 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éé à l' é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.

Adrian
la source
0

Si les documents Word sont simples et si vous n'avez pas besoin que le formatage de ces derniers 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

Vasudev Ram
la source
0

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 quelques options, cliquer sur convertir. Tous les documents seront convertis, puis un fichier zip unique sera automatiquement téléchargé. les fichiers PDF.

Ghos3t
la source
0

S'appuyant sur la réponse d' Umar , voici un script PowerShell modifié qui va:

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

Comme avec Umar, pour utiliser ceci:

  • enregistrer le script ci-dessous dans un fichier, par exemple doc2pdf.ps1quelque part dans votrePATH
  • Accédez au répertoire contenant vos fichiers doc ou docx
  • courir 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.

cxw
la source