---
title: "Convert PDF to Other Document Formats"
---


{{% alert color="grey" %}}
*Purpose Summary. What is this page about?*

This page demonstrates how to use Aspose.Words for Python via .NET to load PDF files and convert them to formats such as DOCX, DOC, JPG, or PNG, and provides details on load options, supported PDF content, possible exceptions, and upcoming features.
{{% /alert %}}

Aspose.Words can load even such a complex format as PDF. This opens up new opportunities: it is possible to convert PDF to Word or other formats that bring users far ahead in solving many applied problems.

## Convert PDF to Other Formats {#convert-pdf-to-other-formats}

The most popular conversion from PDF is conversion to Microsoft Word formats such as DOCX, DOC, as well as image formats such as JPG or PNG. With that said, converting a document from one format to another performs in a familiar way.

The following code example shows how to convert a document from PDF to DOCX:

{{< gist "aspose-words-gists" "e9d8f984dac599756ccb4a64b8c79768" "Examples-DocsExamples-DocsExamples-File Formats and Conversions-base_conversions-PdfToDocx.py" >}}

## Specify Load Options when Importing PDF {#specify-load-options-when-importing-pdf}

Aspose.Words provides you with the [PdfLoadOptions](https://reference.aspose.com/words/python-net/aspose.words.loading/pdfloadoptions/) class, which allows more precise control over how PDF documents are loaded.

Most properties inherit or overload properties that already exist in the [LoadOptions](https://reference.aspose.com/words/python-net/aspose.words.loading/loadoptions/) class. In addition to them, a number of properties are specified for PDF format. For example, you can use the [page_count](https://reference.aspose.com/words/python-net/aspose.words.loading/pdfloadoptions/page_count/) and [page_index](https://reference.aspose.com/words/python-net/aspose.words.loading/pdfloadoptions/page_index/) properties to define the page range to be loaded from a PDF document, and the [skip_pdf_images](https://reference.aspose.com/words/python-net/aspose.words.loading/pdfloadoptions/skip_pdf_images/) properties to control whether images should be skipped when loading PDF. Another supported parameter is the [password](https://reference.aspose.com/words/python-net/aspose.words.loading/loadoptions/password/), which must be provided for password‑protected documents.

## Supported PDF Content {#supported-pdf-content}

PDF2Word plugin currently supports the following data types:

* Text paragraphs
* Images
* Tables
* Lists
* Headers and footers
* Footnotes
* Page numbers
* Right-to-left text (with some limitations)
* Searchable PDFs (front images will be removed in favor of background text)

## Planned Features {#planned-features}

Some features are still in early development or included in the development roadmap:

* Table of Contents
* OCR for Searchable and Non‑Searchable PDFs
* Progress report
* Multicolumn text
* Math formulas
* More automatic fields (besides `PAGE` and NUMPAGES)

## PDF Load Exceptions

During a PDF document conversion, one of the following exceptions might happen:

| Exception | Description                                                  |
| -------------------------------- | ------------------------------------------------------------ |
| *FileLoadException*              | A PDF file cannot be processed for some reason.<br />{{% alert color="primary" %}}You can report the issue to the development team for a detailed investigation using the [technical support](/words/python-net/technical-support/).{{% /alert %}} |
| *DrmProtectedFileException*      | A PDF file is protected by Adobe DRM and cannot be decoded by Pdf2Word. |
| *PasswordProtectedFileException* | The correct password must be provided for a password‑protected PDF. |

------ 

## FAQ

1. **Q:** How do I convert a PDF file to DOCX using Aspose.Words for Python via .NET?  
   **A:** Load the PDF with `PdfLoadOptions` (or without options) and then save the document in DOCX format. Example:

   ```python
   import aspose.words as aw

   load_options = aw.loading.PdfLoadOptions()
   doc = aw.Document("input.pdf", load_options)
   doc.save("output.docx")
   ```

2. **Q:** How can I convert only a specific range of pages from a PDF?  
   **A:** Set the `page_index` (zero‑based) and `page_count` properties on `PdfLoadOptions` before loading the PDF. Only the specified pages will be loaded and converted.

   ```python
   import aspose.words as aw

   load_options = aw.loading.PdfLoadOptions()
   load_options.page_index = 2      # start from page 3
   load_options.page_count = 5      # load 5 pages (pages 3‑7)
   doc = aw.Document("input.pdf", load_options)
   doc.save("selected_pages.docx")
   ```

3. **Q:** How do I skip images when converting a PDF to a Word document?  
   **A:** Use the `skip_pdf_images` property of `PdfLoadOptions`. When set to `True`, images are ignored during loading.

   ```python
   import aspose.words as aw

   load_options = aw.loading.PdfLoadOptions()
   load_options.skip_pdf_images = True
   doc = aw.Document("input.pdf", load_options)
   doc.save("no_images.docx")
   ```

4. **Q:** What is the correct way to open a password‑protected PDF?  
   **A:** Provide the password via the `password` property of `LoadOptions` (or `PdfLoadOptions`). If the password is incorrect, a `PasswordProtectedFileException` will be thrown.

   ```python
   import aspose.words as aw

   load_options = aw.loading.PdfLoadOptions()
   load_options.password = "mySecretPassword"
   doc = aw.Document("protected.pdf", load_options)
   doc.save("unlocked.docx")
   ```

5. **Q:** Which PDF content types are currently supported for conversion to Word?  
   **A:** Aspose.Words can convert text paragraphs, images, tables, lists, headers and footers, footnotes, page numbers, right‑to‑left text (with some limitations), and searchable PDFs (where the front image is replaced by extracted text). Features such as automatic Table of Contents, OCR, multicolumn layouts, and math formulas are planned for future releases.