Skip to main content

How to split a Word document and save as separate PDF files?

Author: Sun Last Modified: 2024-07-05

While it's straightforward to save a whole Word document as a single PDF file, there are times when you might need to split the document and save each page or section as separate PDF files.

In this article, we will introduce methods to quickly split a Word document and save the pages as separate PDF files:

Split a Word document and save as separate PDF files with VBA

Split a Word document by pages/heading1/ break and save as PDF using Kutools


Split a Word document and save as separate PDF files with VBA

Here the VBA code can help you directly split a Word document by pages then save as separate PDF files.

1. Press Alt + F11 keys to enable Microsoft Visual Basic for Applications window.

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

VBA: Save Word as separate PDF

Sub SaveAsSeparatePDFs()
'UpdatebyExtendoffice20181120
    Dim I As Long
    Dim xDlg As FileDialog
    Dim xFolder As Variant
    Dim xStart, xEnd As Integer
    On Error GoTo lbl
    Set xDlg = Application.FileDialog(msoFileDialogFolderPicker)
    If xDlg.Show <> -1 Then Exit Sub
    xFolder = xDlg.SelectedItems(1)
    xStart = CInt(InputBox("Start Page", "KuTools for Word"))
    xEnd = CInt(InputBox("End Page:", "KuTools for Word"))
    If xStart <= xEnd Then
        For I = xStart To xEnd
            ActiveDocument.ExportAsFixedFormat OutputFileName:= _
                xFolder & "\Page_" & I & ".pdf", ExportFormat:=wdExportFormatPDF, _
                OpenAfterExport:=False, OptimizeFor:=wdExportOptimizeForPrint, Range:= _
                wdExportFromTo, From:=I, To:=I, Item:=wdExportDocumentContent, _
                IncludeDocProps:=False, KeepIRM:=False, CreateBookmarks:= _
                wdExportCreateHeadingBookmarks, DocStructureTags:=True, _
                BitmapMissingFonts:=False, UseISO19005_1:=False
        Next
    End If
    Exit Sub
lbl:
    MsgBox "Enter right page number", vbInformation, "KuTools for Word"
End Sub

3. Press F5 key, in Browse dialog, select a folder to place the PDF files.
doc split save pdf 1

4. Click OK, then enter the page numbers you want to split start and end.

doc split save pdf 2 doc split save pdf 3

5. Click OK. Now the pages have been saved as separate PDF files.
doc split save pdf 4


Split a Word document by pages/heading1/ break and save as PDF using Kutools

If you are not familiar with VBA code, you can try to use an add-in tool – Kutools for Word, its Split feature can help you to split a Word document into pages based on page breaks, page numbers, heading1, section breaks, every nth page and custom page number you specify, then apply the Document Format Converter to batch convert the split Word documents to PDF.

After installing Kutools for Word, please do as below:(Free Download Kutools for Word Now!)

1. Open the Word document that you want to split, and click Kutools Plus > Split.

2. In the Split Document dialog, choose the split rule as you need in the Split by section. Then specify the saving location and the split document file prefix. Click Ok.

In the Split by section, it provides 6 splitting types for you. For more details about every splitting type, please visit the feature introduction.

Now the split documents have been saved in the specified location.

3. After splitting the document, click Kutools Plus > Doc/Docx.

4. In the Document Format Converter dialog, choose Convert Docx to PDF form Format Converter drop-down list, click the plus sign to add files or folders which contain the documents you want to convert to PDF, then specify other settings as you need (by default, it saves the PDF files in the source folder, you can change it). Click Ok.

Now the Word documents have been converted to PDF files.


Best Office Productivity Tools

Kutools for Word - Elevate Your Word Experience with Over 100 Remarkable Features!

🤖 Kutools AI Assistant: Transform your writing with AI - Generate Content  /  Rewrite Text  /  Summarize Documents  /  Get Quick Answers, all within Word

📘 Document Mastery: Split Pages  /  Merge Documents  /  Export Selection in Various Formats (PDF/TXT/DOC/HTML...)  /  Batch Convert to PDF  /  Export Pages as Images  /  Print Multiple Files at once...

Contents Editing: Batch Find and Replace across Multiple Files  /  Resize All Pictures  /  Transpose Table Rows and Columns  /  Convert Table to Text...

🧹 Effortless Clean: Sweap away Extra Spaces  /  Section Breaks  /  All Headers  /  Text Boxes  /  Hyperlinks  /  For more removing tools, head to the Remove group...

Creative Inserts: Insert Thousand Separators  /  Check Boxes  /  Radio Buttons  /  QR Code  /  Barcode  /  Diagonal Line Table  /  Equation Caption  /  Image Caption  /  Table Caption  /  Multiple Pictures  /  Discover more in the Insert group...

🔍 Precision Selections: Pinpoint Specific Pages  /  Tables  /  Shapes  /  Heading Paragraphs  /  Enhance navigation with more Select features...

Star Enhancements: Navigate to Any Location  /  Auto-Insert Repetitive Text  /  Toggle Between Document Windows  /  11 Conversion Tools...

Kutools and Kutools Plus tabs on the Word Ribbon
👉 Want to try these features? Download Kutools for Word now! 🚀
 
Comments (27)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Very useful. I appreciate the work. Wish we can select how many pages for a split
This comment was minimized by the moderator on the site
Hi, the Split feature already support split specific pages and save as PDF only.
Choose Custom from the drop-down list in Split by section, then type the pasge numbers seperated by commas in the Page textbox, please see screenshot:
https://www.extendoffice.com/images/stories/comments/sun-comment/split-word-1.png?1702630242000
This comment was minimized by the moderator on the site
Kedves Napos!

Mostmár majdnem tökéletes a kód ahhoz, amit szeretnék. A 9. sorból szeretném a fájl nevét venni, de csak a 20. karaktertől.

Ez megoldható lenne?

Nagyon szépen köszönöm.

minimorisz
This comment was minimized by the moderator on the site
Hi, try this vba
Sub SaveAsSeparatePDFs()
'UpdatebyExtendoffice20221122
    Dim I As Long
    Dim xDlg As FileDialog
    Dim xFolder As Variant
    Dim xStart, xEnd As Integer
    Dim xName As String
    On Error GoTo lbl
    Set xDlg = Application.FileDialog(msoFileDialogFolderPicker)
    If xDlg.Show <> -1 Then Exit Sub
    xFolder = xDlg.SelectedItems(1)
    xStart = CInt(InputBox("Start Page", "KuTools for Word"))
    xEnd = CInt(InputBox("End Page:", "KuTools for Word"))
    If xStart <= xEnd Then
        For I = xStart To xEnd
            xName = InputBox("Page: " & I, "Enter the name for this page")
            ActiveDocument.ExportAsFixedFormat OutputFileName:= _
                xFolder & "\" & xName & ".pdf", ExportFormat:=wdExportFormatPDF, _
                OpenAfterExport:=False, OptimizeFor:=wdExportOptimizeForPrint, Range:= _
                wdExportFromTo, From:=I, To:=I, Item:=wdExportDocumentContent, _
                IncludeDocProps:=False, KeepIRM:=False, CreateBookmarks:= _
                wdExportCreateHeadingBookmarks, DocStructureTags:=True, _
                BitmapMissingFonts:=False, UseISO19005_1:=False
        Next
    End If
    Exit Sub
lbl:
    MsgBox "Enter right page number", vbInformation, "KuTools for Word"
End Sub

You will rename the pdf file one by one in the poping dialog while applying the vba.
This comment was minimized by the moderator on the site
Hi Sunny,

any chance you know the code for the file name to be taken from the Third line of the file? or a specific location?

thank you!
This comment was minimized by the moderator on the site
Hi, try this vba
Sub SaveAsSeparatePDFs()

'UpdatebyExtendoffice20221221
    Dim I As Long
    Dim xDlg As FileDialog
    Dim xFolder As Variant
    Dim xStart, xEnd As Integer
    Dim xStrName As String
    Dim xPath As String
'    On Error Resume Next

    Set xDlg = Application.FileDialog(msoFileDialogFolderPicker)
    If xDlg.Show <> -1 Then Exit Sub
    xFolder = xDlg.SelectedItems(1)
    xStart = CInt(InputBox("Start Page", "KuTools for Word"))
    xEnd = CInt(InputBox("End Page:", "KuTools for Word"))
    If xStart <= xEnd Then
        For I = xStart To xEnd
                Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:=I
                Selection.GoTo What:=wdGoToLine, Which:=wdGoToNext, Name:=3 - 1
                Selection.Extend
                Selection.EndKey Unit:=wdLine
                Selection.EscapeKey
   
                xStrName = Selection.Range
                xStrName = Replace(xStrName, " ", "")
                xStrName = Replace(xStrName, vbLf, "")
                xStrName = Replace(xStrName, Chr(10), "")
                xStrName = Replace(xStrName, Chr(13), "")
                xStrName = Replace(xStrName, "\", "")
                xStrName = Replace(xStrName, "/", "")
                xStrName = Replace(xStrName, ":", "")
                xStrName = Replace(xStrName, "*", "")
                xStrName = Replace(xStrName, "?", "")
                xStrName = Replace(xStrName, "<", "")
                xStrName = Replace(xStrName, ">", "")
                xStrName = Replace(xStrName, "|", "")
                xStrName = Replace(xStrName, """", "")
                If xStrName = "" Then
                    xStrName = I
                End If
                xPath = xFolder & "\" & xStrName & ".pdf"
                ActiveDocument.ExportAsFixedFormat OutputFileName:=xPath, ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:=wdExportOptimizeForPrint, Range:=wdExportFromTo, From:=I, To:=I, Item:=wdExportDocumentContent, IncludeDocProps:=False, KeepIRM:=False, CreateBookmarks:=wdExportCreateHeadingBookmarks, DocStructureTags:=True, BitmapMissingFonts:=False, UseISO19005_1:=False
        Next
    End If
End Sub

If there is empty in the third line, the pdf file will be named with number.
This comment was minimized by the moderator on the site
Kedves Napos!

Ez a kód már majdnem tökéletes, a fájl elnevezéséből még ki kellene valahogyan szedni a Az eszközökért felelős személy neve részt, és akkor csak a dolgozó neve maradna.
Köszönöm szépen!

minimorisz
This comment was minimized by the moderator on the site
Kérnék részlete leírást arról, hogy hogyan tudom elnevezni a létrehozott dokumentumokat egy lépésben, akár VBA-val.
Köszönöm.
This comment was minimized by the moderator on the site
Hi,

This code spilts the mail merge into individual PDF's. But I need to split the first 2 pages as one doc. Means if there are 12 pages I need 6 PDF docs. A set of 2 into one PDF file. Right now this code splits it into 12 individual files. Please advise what should I change in the code.
This comment was minimized by the moderator on the site
Hi, SAROJ, I suggest that using tools in Kutools for Word, steps are the same as my reply for TEILLET
There are no comments posted here yet
Load More
Leave your comments
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations