Tip: Other languages are Google-Translated. You can go to the English version of this link.
Log in


How to batch convert multiple emails to pdf files in Outlook?

In Outlook, the Save As function only can save an email as HTML, TXT, MHT, MSG and Template format file, if you want to convert the email(s) to PDF file(s), how can you do? In this article, I introduce some tricks on solving this problem.

Convert one email to PDF file with Print function

Convert one email to PDF file with VBA

Convert batch emails to separated PDF files with Save as File utilitygood idea3

Save or Export Multiple emails to other fomat files(PDF/HTML/WORD/EXCEL) in Outlook

Sometimes, you may want to save or export the emails to a folder as other format files, such as PDF, Word or Excel files in Outlook. In Outlook, neither of the Save as and Export function can handle this job. However, Kutools for Outlook's Save as file utility can export multiple emails to a folder as files with multiple formats at once time .    Click for 45 days free trial!
doc save as file
Kutools for Outlook: with dozens of handy Outlook add-ins, free to try with no limitation in 45 days.

Convert one email to PDF file with Print function

In Outlook, you can use the Print function to save one email as a PDF file.

1. Select the email you want to convert to PDF, click File > Print, select Microsoft Print to PDF from the Printer drop-down list, and click Print.
doc batch convert email to pdf 1

2. In the Save Print Output As dialog, select one path to place the file, and give it a name.
doc batch convert email to pdf 2

3. Click Save, and click Cancel to stop printing.
doc batch convert email to pdf 3

Now the selected message has been converted to a PDF file.

Note: This method only work in Outlook 2016.

Convert one email to PDF file with VBA

If you are working at Outlook 2007 or 2010, you can apply a VBA code to convert one email to PDF file.

1. Select one email, and press Alt + F11 keys to enable the Microsoft Visual Basic for Applications window.

2. Click Insert > Module, and paste below code to the Module script.

VBA: Convert email to pdf

Sub SaveAsPDFfile()
Dim MyOlNamespace As NameSpace
Dim MySelectedItem As MailItem
Dim Response As String
Dim FSO As Object, TmpFolder As Object
Dim tmpFileName As String
Dim wrdApp As Object
Dim wrdDoc As Object
Dim bStarted As Boolean
Dim dlgSaveAs As FileDialog
Dim fdfs As FileDialogFilters
Dim fdf As FileDialogFilter
Dim i As Integer
Dim WshShell As Object
Dim SpecialPath As String
Dim msgFileName As String
Dim strCurrentFile As String
Dim strName As String
Dim oRegEx As Object
Dim intPos As Long
Set MyOlNamespace = Application.GetNamespace("MAPI")
Set MySelectedItem = ActiveExplorer.Selection.Item(1)
Set FSO = CreateObject("Scripting.FileSystemObject")
tmpFileName = FSO.GetSpecialFolder(2)
strName = "email_temp.mht"
tmpFileName = tmpFileName & "\" & strName
MySelectedItem.SaveAs tmpFileName, 10
On Error Resume Next
Set wrdApp = GetObject(, "Word.Application")
If Err Then
Set wrdApp = CreateObject("Word.Application")
bStarted = True
End If
On Error GoTo 0
Set wrdDoc = wrdApp.Documents.Open(FileName:=tmpFileName, Visible:=False, Format:=7)
Set dlgSaveAs = wrdApp.FileDialog(msoFileDialogSaveAs)
Set fdfs = dlgSaveAs.Filters
i = 0
For Each fdf In fdfs
i = i + 1
If InStr(1, fdf.Extensions, "pdf", vbTextCompare) > 0 Then
Exit For
End If
Next fdf
dlgSaveAs.FilterIndex = i
Set WshShell = CreateObject("WScript.Shell")
SpecialPath = WshShell.SpecialFolders(16)
msgFileName = MySelectedItem.Subject
Set oRegEx = CreateObject("vbscript.regexp")
oRegEx.Global = True
oRegEx.Pattern = "[\/:*?""<>|]"
msgFileName = Trim(oRegEx.Replace(msgFileName, ""))
dlgSaveAs.InitialFileName = SpecialPath & "\" & msgFileName
If dlgSaveAs.Show = -1 Then
strCurrentFile = dlgSaveAs.SelectedItems(1)
If Right(strCurrentFile, 4) <> ".pdf" Then
Response = MsgBox("Sorry, only saving in the pdf-format is supported." & _
vbNewLine & vbNewLine & "Save as pdf instead?", vbInformation + vbOKCancel)
If Response = vbCancel Then
wrdDoc.Close 0
If bStarted Then wrdApp.Quit
Exit Sub
ElseIf Response = vbOK Then
intPos = InStrRev(strCurrentFile, ".")
If intPos > 0 Then
strCurrentFile = Left(strCurrentFile, intPos - 1)
End If
strCurrentFile = strCurrentFile & ".pdf"
End If
End If
wrdApp.ActiveDocument.ExportAsFixedFormat OutputFileName:= _
strCurrentFile, _
ExportFormat:=17, _
OpenAfterExport:=False, _
OptimizeFor:=0, _
Range:=0, _
From:=0, _
To:=0, _
Item:=0, _
IncludeDocProps:=True, _
KeepIRM:=True, _
CreateBookmarks:=0, _
DocStructureTags:=True, _
BitmapMissingFonts:=True, _
End If
Set dlgSaveAs = Nothing
If bStarted Then wrdApp.Quit
Set MyOlNamespace = Nothing
Set MySelectedItem = Nothing
Set wrdDoc = Nothing
Set wrdApp = Nothing
Set oRegEx = Nothing
End Sub

doc batch convert email to pdf 4

3. Press F5 key to enable File Save dialog, select a folder to place the file and give it a name.
doc batch convert email to pdf 5

4. Click Save.

Tip: If the code cannot run, you may try to go to Trust Center to check the Enable all macros option in Macro Settings section.
doc batch convert email to pdf 6

Convert batch emails to separated PDF files with Save as File utility

With above methods, you only can save one message as a PDF file at a time, if you want to batch convert multiple emails to separated PDF files, you can try Kutools for Outlook’s Save as File utility.

Kutools for Outlook, Includes 20+ powerful features and tools for Microsoft Outlook 2016, 2013, 2010 and Office 365.

1. Select the emails you want to convert, and then click Kutools > Save as File.
doc batch convert email to pdf 7

2. In the Save message as other files dialog, select a path to locate the file, and check PDF format option.
doc batch convert email to pdf 8

3. Click Ok.

4. Now a dialog box will come out and tell you how many emails have been converted to PDF files. Please click the OK button to close it.
doc batch convert email to pdf 9

Now the emails have been converted to PDF files.
doc batch convert email to pdf 10

arrow blue right bubble 20+ Powerful Tools and Features for Outlook 2010 / 2013 / 2016 / Office 365:

li-orangeCompatible with Outlook 2010 / 2013 / 2016 / Office 365 (32/64);

li-orangeCompatible with Windows XP, Windows Vista, Windows 7 / 8 / 10, Windows Server 2003/2008, Citrix System and Windows Terminal (Remote Desktop) Server;

li-orangeFree trial without feature limitation in 45 days!


Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.

Be the first to comment.