Установка скиллов и плагинов OpenClaw осуществляется на ваш страх и риск. Все файлы были получены из открытых источников и предоставляются «как есть». Мы не гарантируем их корректную работу, безопасность или совместимость с вашей системой. Перед установкой настоятельно рекомендуется ознакомиться с содержимым кода и убедиться, что вы понимаете, какие изменения будут внесены в вашу систему.
Обзор
Это руководство охватывает ключевые операции по обработке PDF-файлов с использованием Python-библиотек и инструментов командной строки. Для расширенных возможностей, JavaScript-библиотек и подробных примеров рекомендуется обратиться к дополнительным материалам. Если вам необходимо заполнить PDF-форму, следуйте специализированным инструкциям.
Быстрый старт
from pypdf import PdfReader, PdfWriter
# Чтение PDF
reader = PdfReader("document.pdf")
print(f"Pages: {len(reader.pages)}")
# Извлечение текста
text = ""
for page in reader.pages:
text += page.extract_text()
Python-библиотеки
pypdf — базовые операции
Библиотека pypdf используется для чтения, записи и объединения PDF-документов.
from pypdf import PdfWriter, PdfReader
writer = PdfWriter()
for pdf_file in ["doc1.pdf", "doc2.pdf", "doc3.pdf"]:
reader = PdfReader(pdf_file)
for page in reader.pages:
writer.add_page(page)
with open("output.pdf", "wb") as output:
writer.write(output)
pdfplumber — извлечение текста и таблиц
Эта библиотека позволяет извлекать текст с сохранением структуры, а также работать с таблицами внутри PDF.
import pdfplumber
with pdfplumber.open("document.pdf") as pdf:
for page in pdf.pages:
text = page.extract_text()
print(text)
pdftk (при наличии)
# Объединение
pdftk file1.pdf file2.pdf cat output merged.pdf
# Разделение
pdftk input.pdf burst
# Поворот
pdftk input.pdf rotate 1east output rotated.pdf
Типовые задачи
Извлечение текста из сканированных PDF
Для работы со сканированными документами требуется OCR (распознавание текста). Обычно PDF сначала преобразуется в изображения.
# Требуется: pip install pytesseract pdf2image
import pytesseract
from pdf2image import convert_from_path
images = convert_from_path('scanned.pdf')
| Задача | Инструмент | Пример |
|---|---|---|
| Объединение PDF | pypdf | writer.add_page(page) |
| Разделение PDF | pypdf | по одной странице в файл |
| Извлечение текста | pdfplumber | page.extract_text() |
| Извлечение таблиц | pdfplumber | page.extract_tables() |
| Создание PDF | reportlab | Canvas / Platypus |
| CLI объединение | qpdf | qpdf —empty —pages … |
| OCR | pytesseract | через изображения |
| Заполнение форм | pdf-lib / pypdf | см. forms.md |
Дальнейшие шаги
- Используйте pypdfium2 для продвинутой обработки PDF
- Рассмотрите JavaScript-библиотеки, такие как pdf-lib
- Следуйте инструкциям для заполнения PDF-форм
- Обратитесь к руководствам по устранению ошибок при необходимости
Этот набор инструментов предоставляет полный спектр возможностей для работы с PDF: от простого извлечения текста до сложной автоматизации обработки документов.
Файл из источника