Локальная конвертация с PyMuPDF для повторяющихся задач и альтернатива в браузере.
Выберите локальный способ
Скрипт удобен для повторяющихся задач. Для разовой конвертации браузерный инструмент позволяет обойтись без установки пакетов Python. Оба способа могут обрабатывать файлы на вашем компьютере. Этот пример запускается локально и не является размещённым API.
Установите зависимость
Создайте и активируйте виртуальное окружение Python, затем выполните python -m pip install pymupdf. Сохраните код как pdf_to_png.py и поместите рядом document.pdf. Используется PyMuPDF напрямую, без pdf2image. Если нет совместимого пакета, обратитесь к официальной инструкции установки.
from pathlib import Path
import pymupdf
source = Path("document.pdf")
output = Path("output")
with pymupdf.open(source) as document:
if document.needs_pass:
raise ValueError("Unlock the PDF before converting it.")
output.mkdir(exist_ok=False)
for number, page in enumerate(document, start=1):
image = page.get_pixmap(dpi=144, alpha=False)
image.save(output / f"page-{number:03d}.png")
Создайте изображения
Запустите python pdf_to_png.py в этой папке. Скрипт создаст output и сохранит каждую страницу отдельным пронумерованным PNG при 144 точках на дюйм. Для нового запуска измените источник и папку результата, чтобы не перезаписать файлы. Сначала проверьте небольшой документ.
Следите за ресурсами
Высокое разрешение увеличивает расход памяти. Обрабатывайте страницы последовательно и храните исходный PDF: изображения теряют выделяемый текст и интерактивность. Пример отклоняет зашифрованные документы. Перед встраиванием в распространяемое ПО или размещённый сервис изучите лицензию PyMuPDF.
Частые вопросы
Можно выбрать отдельные страницы?
Да. Укажите, например, 1, 3-5. За одну операцию экспортируется до 100 страниц, каждое изображение скачивается отдельно.
Это бесплатно на телефоне?
Да. Аккаунт и оплата не нужны. Используйте современный браузер; возможности зависят от памяти устройства.
Загружаются ли мои файлы на сервер и отслеживаются ли действия?
Нет. Документы обрабатываются в памяти браузера. Нет отправки документов, рекламы, отслеживающих cookie и аналитики посетителей. Сервер получает только запросы, необходимые для работы сайта.