Skip to content

About

pip install python-office 自动化办公专用库

Topics

Resources

Stars

1.4k stars

Watchers

14 watching

Forks

Repository files navigation

中文 · 中文文档 · English

python-office

python-office

🚀 Office automation, one line of code at a time
81 ready-to-use Skills covering PDF, Word, Excel, PPT, Email, WeChat, Images, Video and more

PyPI Total Downloads GitHub stars Gitee stars Python Windows WeChat


⚡ TL;DR

python-office is the most popular Python office-automation library in the Chinese-speaking world. One library covers 90% of office scenarios: PDF / Word / Excel / PPT conversion, image processing, video & audio, WeChat bot, email, file management, OCR, AI tools... Zero Python knowledge required — every feature is one line of code.

pip install python-office
import office  # one import, all features available

✨ Key Features

Feature
🎯 One-line code 90% of features need only office.module.method() — zero learning curve
🧩 81 Skills Every feature independently importable, install only what you need
🤖 AI-friendly Each Skill ships SKILL.md + YAML, recognizable by Codex / Claude / Cursor
🌏 Beginner-friendly Full tutorials, video guides, and an active WeChat community
🪶 Lightweight pip install popdf / poimage / poword for sub-libraries — no bloat
🔄 Continuously updated Actively maintained, with 81+ features still evolving
📦 One import import office brings everything; or import individually
🛡️ Stable Used by thousands of projects, Apache-2.0 licensed

📸 Demo

🚧 Showcase area — replace these with your own screenshots or GIFs

Image Processing PDF Processing WeChat Bot
Watermark / Word cloud / Sketch Convert / Merge / Encrypt Broadcast / Smart chat
demo-image demo-pdf demo-wechat
Excel Processing PPT Processing Video / Audio
Mock data / Merge / Split Convert / Snapshot Extract audio / Subtitle
demo-excel demo-ppt demo-video

🧭 Quick Navigation

What do you want to do? Jump to
First time here 📦 Installation
See 5 examples 🚀 Quick Start
Find a specific feature 🛠️ Components or skills/README.md
Understand the Skills system ✨ Skills system
Ask the community 💬 Contact
Contribute code 🤝 Contributing

🧩 Skills system (81 ready-to-use Skills)

python-office ships with a built-in Skill system: the library's 81 methods are wrapped as 81 independently importable Skills, each with its own SKILL.md documentation.

💡 Why Skills? Skills let Codex, Claude, Cursor and other AI tools automatically recognize your request and call the right function.

# Option 1: Import a specific Skill
from skills.image import compress_image
compress_image(input_file='photo.jpg', output_file='photo_small.jpg', quality=30)

# Option 2: Import by category
from skills.pdf import pdf2docx
pdf2docx(input_file='report.pdf', output_file='report.docx')

# Option 3: Original office style (still works)
import office
office.image.compress_image(input_file='photo.jpg', output_file='photo_small.jpg', quality=30)

📋 14 Categories at a Glance

Category Skills Typical Skills
📊 Excel 12 fake2excel / merge2excel / excel2pdf
📁 File 10 replace4filename / get_files
💰 Finance 1 t0 (stock T+0 return calculator)
🖼️ Image 9 compress_image / add_watermark / txt2wordcloud
📝 Markdown 1 excel2markdown
🔍 OCR 1 VatInvoiceOCR2Excel (VAT invoice recognition)
📕 PDF 13 pdf2docx / pdf2imgs / merge2pdf / encrypt4pdf
🎬 PPT 3 ppt2pdf / ppt2img / merge4ppt
🛠️ Tools 10 transtools / qrcodetools / passwordtools
🌐 Web 1 url2ebook
🎥 Video 5 video2mp3 / audio2txt / txt2mp3 / video_edit
💬 WeChat 7 send_message / chat_robot / receive_message
📄 Word 5 docx2pdf / merge4docx / docx4imgs
🏷️ Ruiming 3 screen_unmarked_image / change_label_in_xml

👉 Full index: skills/README.md


📦 Installation

# Install everything (recommended)
pip install -i https://mirrors.aliyun.com/pypi/simple/ python-office -U

# Install only what you need (lighter)
pip install popdf      # PDF processing only
pip install poimage    # Image processing only
pip install poword     # Word processing only
pip install poexcel    # Excel processing only

Python version: Python 3.7+ Install issues? 📝 Troubleshooting


💻 CLI: the po command

Installing python-office also gives you a terminal command — no Python code needed:

po pdf merge2pdf a.pdf b.pdf --output-file merged.pdf
po excel excel2pdf report.xlsx report.pdf
po tools url2ip www.python-office.com

po --json tools url2ip www.python-office.com   # one-line JSON for scripts & agents

po --help lists all modules and commands (python -m office works as an alias).


🚀 Quick Start

# 1. PDF → Word
from skills.pdf import pdf2docx
pdf2docx(input_file='report.pdf', output_file='report.docx')

# 2. Compress an image
from skills.image import compress_image
compress_image(input_file='big.jpg', output_file='small.jpg', quality=30)

# 3. Add a watermark to an image
from skills.image import add_watermark
add_watermark(file='photo.jpg', mark='@python-office')

# 4. Generate a word cloud
from skills.image import txt2wordcloud
txt2wordcloud(filename='article.txt', result_file='wordcloud.png')

# 5. Generate a QR code
from skills.tools import qrcodetools
qrcodetools(url='https://www.python-office.com', output='qrcode.png')

🎬 Video tutorials: https://www.python-office.com/video/video.html


💡 Featured Skills

📊 Excel Processing (click to expand)
from skills.excel import fake2excel
fake2excel(columns=['name', 'phone'], rows=1000, path='test.xlsx')

from skills.excel import merge2excel
merge2excel(dir_path='./my_excels', output_file='all.xlsx')
📕 PDF Processing (click to expand)
from skills.pdf import pdf2docx       # PDF → Word
from skills.pdf import pdf2imgs        # PDF → images
from skills.pdf import merge2pdf       # Merge multiple PDFs
from skills.pdf import split4pdf       # Split a PDF
from skills.pdf import encrypt4pdf     # Encrypt a PDF
from skills.pdf import add_watermark_by_parameters  # PDF watermark
🖼️ Image Processing (click to expand)
from skills.image import compress_image       # Compress images
from skills.image import add_watermark        # Add watermark
from skills.image import del_watermark        # Remove watermark
from skills.image import txt2wordcloud        # Generate word cloud
from skills.image import pencil4img           # Pencil-sketch style
from skills.image import img2Cartoon          # Cartoon style
from skills.image import decode_qrcode        # Decode QR code
💬 WeChat Bot (click to expand)
from skills.wechat import send_message
send_message(who='File Transfer', message='Hello!')

from skills.wechat import send_message_by_time
send_message_by_time(who='File Transfer', message='Good morning', time='08:00:00')
🎬 Video Processing (click to expand)
from skills.video import video2mp3       # Video → MP3
from skills.video import audio2txt       # Audio → text
from skills.video import txt2mp3         # Text → speech
from skills.video import mark2video      # Video watermark

🌟 Use Cases

python-office fits the following roles and scenarios:

👤 Role 🎯 Scenario
📊 Office workers Batch process PDF, Excel, Word, PPT — 10x efficiency
🎓 Students / Teachers Paper formatting, test grading, resource organization
👨‍💻 Developers Automation scripts, crawler data processing, batch files
🤖 AI enthusiasts Let AI auto-call tools for complex office tasks
📷 Content creators Batch image processing, video-to-audio, QR generation
💼 Finance / HR Invoice OCR, Excel merging, file organization

🛠️ Components

Each feature is accessible via the traditional import office style, or directly from skills.xxx.

Module Description Skills Path
PyOfficeRobot WeChat bot skills/wechat/
poocr OCR (invoice, table, image) skills/ocr/
popdf PDF → Word / image / split / merge / encrypt skills/pdf/
poemail Auto-send emails office/api/email.py
porobot AI bot office/api/tools.py
poimage Image compress / watermark / word cloud / filters skills/image/
poai AI utilities office/lib/
poexcel Excel merge / split / mock data skills/excel/
poword Word → PDF / extract images skills/word/
pofile Batch file rename / organize skills/file/
search4file Document search skills/file/
poppt PPT → PDF / image skills/ppt/
wftools Translation / QR code / password generator, etc. skills/tools/
pofinance Stock T+0 calculator skills/finance/
pohan Chinese programming -
povideo Video → audio / speech recognition skills/video/
potime Time utilities -
poprogress Progress bar utilities -
pocode Code management -

🗺️ Roadmap

  • v1.x: 81 Skills covering all office automation scenarios
  • Skills system: Every feature independently AI-callable
  • v2.0: Plugin architecture with custom Skill support
  • Web GUI: Visual operation interface
  • More AI capabilities: AI writing, AI data analysis
  • Enterprise edition: Private deployment + permission management

Feel free to submit requests in Issues!


📝 Documentation


🤝 Contributing

Contributions are welcome. Please submit your PR in a dedicated folder:

  • Create a folder with your GitHub username under contributors
  • Put all your code inside that folder
  • Do not modify any other folders
  • For questions about existing code, please open an issue

Code Style

  1. Comments: Document every parameter and return value of new functions
  2. Formatting: Format only your own code
  3. Tests: Unit tests are optional but strongly recommended
  4. Skills: When adding a new method, also add a Skill wrapper under skills/<category>/<method>/

Contributors ✨

Thanks to everyone who makes python-office better!


🐞 Bug Reports & Suggestions

Please only submit issues related to the python-office codebase itself. We don't answer general Python learning questions.


💖 Sponsor

If python-office has saved you significant time, please consider supporting continued development:

  • ⭐ Star this repo — the biggest support
  • 🗣️ Tell your friends — word of mouth
  • 💰 WeChat tip — see the QR code at the bottom of this README
  • 🐛 Contribute code — submit a PR or Issue

📜 License

This project is licensed under the Apache License 2.0.

The full license text is available in the LICENSE file at the root of this repository.


🙏 Acknowledgments

  • Thanks to all contributors and issue reporters
  • Thanks to the python4office community
  • Inspired by outstanding open-source projects like Requests, FastAPI, LangChain
  • Built with ❤️ in China

⭐ Star History

Stargazers over time


📌 Contact the Author

👉 Join the open-source community · WeChat the author 👈


If this project helps you, a ⭐ Star is the best encouragement!

About

pip install python-office 自动化办公专用库

Topics

Resources

Stars

1.4k stars

Watchers

14 watching

Forks

Releases

Packages

Used by

Contributors

Languages