Docuvert
Docuvert is a command-line tool that supports converting documents from any format to any other format.
Installation
Option 1: Install from PyPI (Recommended)
pip install docuvert
After installation, the docuvert command will be globally available in your PATH:
docuvert --version
docuvert input.pdf output.docx
Option 2: Development Setup
-
Clone the repository:
git clone https://github.com/your-repo/docuvert.git cd docuvert
-
Install in development mode:
pip install -e .
Or use the setup script for local development:
./setup.sh
Usage
Docuvert converts files based on their extensions. The syntax is simple:
docuvert <input_file_path> <output_file_path>
Basic Commands:
# Convert files
docuvert input.pdf output.docx
# Check version
docuvert --version
# Show detailed info (formats, examples, installation)
docuvert --info
# Show help
docuvert --help
Examples:
-
Convert PDF to DOCX:
docuvert document.pdf document.docx
-
Convert Markdown to PDF:
docuvert notes.md notes.pdf
-
Convert PowerPoint to Obsidian Markdown (NEW!):
docuvert presentation.pptx notes.md
-
Convert Legacy PowerPoint with automatic conversion:
docuvert lecture.ppt lecture.md
-
Convert DOCX to Markdown:
docuvert report.docx report.md
Supported Conversions
Docuvert supports 200+ format combinations with intelligent conversion routing. Key features include:
🎯 PowerPoint Conversions (NEW!)
- PPTX/PPT to Obsidian Markdown (
pptx2md,ppt2md) - Featured Converter- ✅ Automatic image extraction and embedding
- ✅ Format preservation (bold, italic, colors)
- ✅ Obsidian-specific features (YAML frontmatter, internal links, callouts)
- ✅ Slide navigation with Previous/Next links
- ✅ Table of contents generation
- ✅ Legacy .ppt support via LibreOffice conversion
- PPTX to PDF (
pptx2pdf) - PPTX to HTML (
pptx2html) - PPTX to Plain Text (
pptx2txt) - Markdown to PPTX (
md2pptx)
📄 Document Conversions
- PDF to DOCX (
pdf2docx) - PDF to Markdown (
pdf2md) - PDF to LaTeX (
pdf2tex) - PDF to Plain Text (
pdf2txt) - PDF to CSV (
pdf2csv) - PDF to XLSX (
pdf2xlsx) - DOCX to PDF (
docx2pdf) - DOCX to Markdown (
docx2md) - DOCX to LaTeX (
docx2tex) - DOCX to Plain Text (
docx2txt) - DOCX to CSV (
docx2csv) - DOCX to XLSX (
docx2xlsx) - Markdown to PDF (
md2pdf) - Markdown to DOCX (
md2docx) - Markdown to LaTeX (
md2tex) - Markdown to Plain Text (
md2txt) - Markdown to CSV (
md2csv) - Markdown to XLSX (
md2xlsx) - LaTeX to PDF (
tex2pdf) - LaTeX to DOCX (
tex2docx) - LaTeX to Markdown (
tex2md) - LaTeX to Plain Text (
tex2txt) - LaTeX to CSV (
tex2csv) - LaTeX to XLSX (
tex2xlsx) - Plain Text to PDF (
txt2pdf) - Plain Text to DOCX (
txt2docx) - Plain Text to Markdown (
txt2md) - Plain Text to LaTeX (
txt2tex) - Plain Text to CSV (
txt2csv) - Plain Text to XLSX (
txt2xlsx) - CSV to PDF (
csv2pdf) - CSV to DOCX (
csv2docx) - CSV to Markdown (
csv2md) - CSV to LaTeX (
csv2tex) - CSV to Plain Text (
csv2txt) - CSV to XLSX (
csv2xlsx) - XLSX to PDF (
xlsx2pdf) - XLSX to DOCX (
xlsx2docx) - XLSX to Markdown (
xlsx2md) - XLSX to LaTeX (
xlsx2tex) - XLSX to Plain Text (
xlsx2txt) - XLSX to CSV (
xlsx2csv)
🔄 Legacy Format Support
Docuvert automatically handles legacy Microsoft Office formats:
📝 Legacy Word (.doc) Support
- Automatic conversion:
.docfiles are automatically converted to.docxformat before processing - All format combinations supported: Use any
.doctoformatconversion just like.docx - Examples:
docuvert old-document.doc new-document.pdf docuvert report.doc report.md docuvert legacy.doc modern.docx
📊 Legacy Excel (.xls) Support
- Automatic conversion:
.xlsfiles are automatically converted to.xlsxformat before processing - All format combinations supported: Use any
.xlstoformatconversion just like.xlsx - Examples:
docuvert old-spreadsheet.xls new-spreadsheet.pdf docuvert data.xls data.csv docuvert legacy.xls modern.xlsx
📋 Requirements for Legacy Formats
- LibreOffice: Recommended for best conversion quality
- Install: https://www.libreoffice.org/download/
- Supports both
.docand.xlsformats
- Pandoc: Alternative for
.docconversion- Install: https://pandoc.org/installing.html
- xlrd: Python library for
.xlsreading (automatically installed)
🔧 Conversion Process
- Docuvert detects legacy format (
.docor.xls) - Creates temporary modern format file (
.docxor.xlsx) - Processes conversion using existing converters
- Cleans up temporary files automatically
- Returns final converted output
No additional configuration needed - just use legacy files like modern formats!
Contributing
See instructions.md for details on project organization and how to add new converters.
Metadata
Release files for docuvert 1.3.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| docuvert-1.3.9.tar.gz | 126.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| docuvert-1.3.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 301.1 kB
Release files / docuvert-1.3.9.tar.gz
| Download URL | docuvert-1.3.9.tar.gz |
|---|---|
| Size | 126.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
283c29aa423dd9480aaa599cb86c4c01b3020399f1af8757db4332642f8d7262
|
|
BLAKE2b-256 checksum How to use checksums |
83fcdf68794727db24a18a44f5561cb9aca40fee482b672c7b37313391e2d36c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / docuvert-1.3.9-py3-none-any.whl
| Download URL | docuvert-1.3.9-py3-none-any.whl |
|---|---|
| Size | 174.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
433add7743f91ec88f69ae8581cd98c2dd116ce194208caca32a28c85e19e810
|
|
BLAKE2b-256 checksum How to use checksums |
6c9a12fff477dcb079ce07d1a7353dbd4758514b6bcc0acb3a3b0179d4fc030b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|