Merging multiple documents into a single PDF — whether consolidating reports, combining scanned pages with digital documents, or assembling documentation packages — is a fundamental requirement for document management systems.

How Nutrient helps you achieve this

Nutrient Python SDK handles document merging and format conversion. With the SDK, you don’t need to worry about:

  • Parsing document internals
  • Managing page structures across formats
  • Handling format conversion
  • Complex document assembly logic

Instead, Nutrient provides an API that handles all the complexity behind the scenes, letting you focus on your business logic.

Complete implementation

Below is a complete working example that demonstrates merging documents into a single PDF. These lines set up the Python application. The import statements bring in all necessary classes from the Nutrient SDK:

from nutrient_sdk import Document
from nutrient_sdk import PdfEditor
from nutrient_sdk import PdfExporter
from nutrient_sdk import NutrientException

This line opens the Word document that will serve as the base for your merged PDF. The context manager(opens in a new tab) syntax ensures the document is automatically closed when you’re done, preventing resource leaks:

def main():
try:
with Document.open("input.docx") as document:

Here, you create a PdfEditor instance that will enable you to manipulate the document. This editor provides all the methods needed for document merging:

editor = PdfEditor.edit(document)

This block opens a second document and appends it to the base document. The SDK handles format conversion automatically, so you can merge PDFs with Word documents:

with Document.open("input.pdf") as document2:
editor.append_document(document2)

This block saves the changes, closes the editor, and exports the merged result as a PDF. The try-except block handles potential errors using NutrientException:

editor.save()
editor.close()
document.export("output_merged_documents.pdf", PdfExporter())
print("Successfully merged documents")
except NutrientException as e:
print(f"Error: {e}")
if __name__ == "__main__":
main()

Conclusion

The document merging logic consists of four steps:

  1. Open the base document.
  2. Create an editor.
  3. Append additional documents.
  4. Save and export as PDF.

Nutrient handles format conversion and document assembly so you don’t need to understand document internals or manage page structures manually.

You can download this ready-to-use sample package that’s fully configured to help you get started with the Python SDK.