Batch convert Word documents to PDFs

167,602

Solution 1

This is how I would do it:

  1. Download CutePDF writer
  2. Set the writer as your default printer (you can change it back later)
  3. Place all your .doc files in the same folder
  4. Highlight all the files, right-click, Print

Only downside is that you have to click Ok once for each file.

Solution 2

This might be pushing it into stackoverflow.com territory, but you could script Word 2007 to open and save a document as PDF. This requires Office 2007 and the "Save as PDF" plug-in from Microsoft.

Save this to a file SaveAsPDF.js and run it from the command line using 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();
    }
}

Solution 3

well, cutepdf & pdf99 do their job well, but i find PDFcreator more appealing as it 'print's in higher quality than the other two, it also has more configuration option, plus it's open-source.

Solution 4

Use Google Docs as a Batch PDF Converter by Amit Agarwal

If you have a huge bundle of Word Documents, Excel Spreadsheets and PowerPoint Presentations on your hard drive that you would like to convert into PDF at once without investing in commercial software like Adobe Acrobat, try Google Docs.

While it has always been possible to convert Office documents into PDF using Google Docs, the new export feature makes it even easier for you to batch convert Microsoft Office and OpenOffice file formats into PDF (or HTML) in three easy steps. Batch Conversion to PDF with Google Docs

Use Google Docs as a Batch PDF Converter

Step #1 - Create a new "input" folder in Google Docs where you'll upload all your documents and presentations that are to converted into PDF.

Step #2 - Now select the Upload Document option in Google Docs, set the destination folder to the one that you created in Step #1 and upload* all your documents.

Google Docs officially supports the following file formats though you may also upload images:

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

[*] You may also use the email option to upload documents onto Google Docs but that would put everything on the main folder and managing documents can therefore become a issue especially when you have too many files.

Step #3 - Once all files are uploaded onto Google Docs, open the dashboard again and select the "input" folder from the right sidebar. Select all the files in this folder and choose "Export" under "More Options".

Here's select "PDF" (or HTML) as the output format and all your Word Documents, presentations, spreadsheets, etc. will be instantly converted into PDF.

And if you are converting a large batch of documents into PDF, you don't have to wait in the browser for the conversion to finish as Google Docs will automatically send you an email once the processing is over. The email will have a link from where you can directly download all the PDF files in one large ZIP.

Solution 5

Regarding the SaveAsPDF.js script that a previous user posted. This worked for converting one pdf file, but i didnt know how to covert all the files in a directory. With a little playing I created a file. CovertAll2PDF.bat with the following 2 lines:

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

there is also the /r "Parent Directory" which can be inserted as for /r "PD" %%X in -.... which will go through all the directories, in that case make it C:\SaveAsPDF.js and save Saveaspdf.js in that directory.

I'm sure its clumsy, but it worked for me. hope this helps someone.

Share:
167,602

Related videos on Youtube

Kjensen
Author by

Kjensen

Updated on September 17, 2022

Comments

  • Kjensen
    Kjensen almost 2 years

    How do I batch convert many Word documents and have them saved as [originalfilename].pdf?

  • Arjan
    Arjan almost 15 years
    Using OpenOffice.org will give you clickable table of contents and so on. Any "Print to PDF" solution won't. See superuser.com/questions/568/how-to-print-documents-to-pdf/…
  • Kjensen
    Kjensen almost 15 years
    This was what I actually did. I had to do it a little differently though... I openend the CutePDF "Printer" from the control panel, so it showed what would be the printer-queue... Then I dragged and dropped the documents into that window - and then it was all pounding on ENTER to accept the filename from there... They were all named MICROSOFT WORD - [filename].pdf, but I can solve that easily.
  • Manu
    Manu almost 15 years
    +1 for pdf virtual printers. Those are great, I wish they would be available by default on every OS.
  • user1696603
    user1696603 almost 14 years
    The same workflow can be used with PDFCreator (en.pdfforge.org/pdfcreator). If you install it as a service or in automatic mode it is hands off except for select > print.
  • alecco
    alecco almost 14 years
    PDFCreator can be used as answered by kjensen above, however, I wanted to point out that in the PDFCreator options, you can enable auto-save, which will automatically save each document in the directory of your choosing with the filename of your choice as well. That way you don't need to hit "enter" to verify that you want to save each file.
  • Spacedman
    Spacedman over 12 years
    If I highlight more than 15 files in Windows the 'Print' option disappears from the right-click context menu. I've just tried the drag n drop method, but 94 files might just be too much for it...
  • Aniti
    Aniti almost 12 years
    The above code works excellently but it only takes one file as an argument. I was too lazy to look up a way to filter a directory in JScript, so I cooked up a way in Powershell using below post as inspiration: stackoverflow.com/questions/181036/… PS E:\MyDocuments> ls *.doc | %{cscript //nologo E:\jssrc\SaveAsPDF.js $_}
  • rossmcm
    rossmcm almost 11 years
    Be prepared for significant mangling of any document that contains tables, images, less common fonts. I haven't dived into it further, but I tried a word document with a letterhead constructed with a table containing text and a graph, and using the Calibri font. The PDF was nothing like the original.
  • Joe
    Joe over 7 years
    This method is originally from 2009 and unfortunately appears to have been removed (individual files can be exported as pdf, but folders no...)
  • nimshneakle
    nimshneakle almost 7 years
    There was an edit made by @cxw to my answer, which removed significant parts of my answer, namely, the fact that the script is free and can process and unlimited number of files. As such, I rolled-back the edit, but have incorporated the syntax-fix suggested in the edit.
  • loved.by.Jesus
    loved.by.Jesus over 6 years
    It worked for me under Windows 7 when I took the [ref] commands and the last line ($Word.Close()) away. Otherwise errors appeared.
  • Peter Vandivier
    Peter Vandivier almost 6 years
    @bobbymcr Link in answer is dead. See here for current SaveAsPDF plugin download.
  • ERROR 401
    ERROR 401 about 3 years
    Does anyone have an idea how to make this work using angular/typescript? I've had limited sources and struggled to find solutions.