TGViewer
[PYTHON:TODAY] [PYTHON:TODAY] @python2day · 63.6K subscribers
Post #6649 12.4K
🔥 Полезные библиотеки Python

Python PDF Handling Tutorial
— интересная подборка скриптов для работы с PDF-файлами в Python:

Вы научитесь:
➡️ Извлекать текст и изображения из PDF файлов;
➡️ Извлекать таблицы и URL адреса из PDF файлов;
➡️ Извлекать страницы из PDF файлов как изображения;
➡️ Создавать PDF файлы;
➡️ Добавлять текст, изображения и таблицы в PDF файлы;
➡️ Выделять текст в PDF файлах и многое другое.

Пример извлечения текста:

from io import StringIO
from pdfminer.pdfinterp import PDFPageInterpreter, PDFResourceManager
from pdfminer.pdfpage import PDFPage
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams

# PDFMiner Analyzers
rsrcmgr = PDFResourceManager()
sio = StringIO()
codec = "utf-8"
laparams = LAParams()
device = TextConverter(rsrcmgr, sio, codec=codec, laparams=laparams)
interpreter = PDFPageInterpreter(rsrcmgr, device)

# path to our input file
pdf_file = "sample.pdf"

# Extract text
pdfFile = open(pdf_file, "rb")
for page in PDFPage.get_pages(pdfFile):
interpreter.process_page(page)
pdfFile.close()

# Return text from StringIO
text = sio.getvalue()

print(text)

# Freeing Up
device.close()
sio.close()



Пример извлечения изображений:


import fitz
import io
from PIL import Image

# path to our input file
pdf_file = "sample.pdf"

# Input PDF file
pdf_file = fitz.open(pdf_file)

for page_no in range(len(pdf_file)):
curr_page = pdf_file[page_no]
images = curr_page.getImageList()

for image_no, image in enumerate(curr_page.getImageList()):
# get the XREF of the image
xref = image[0]
# extract the image bytes
curr_image = pdf_file.extractImage(xref)
img_bytes = curr_image["image"]
# get the image extension
img_extension = curr_image["ext"]
# load it to PIL
image = Image.open(io.BytesIO(img_bytes))
# save it to local disk
image.save(open(f"page{page_no+1}_img{image_no}.{img_extension}", "wb"))


⚙️ GitHub/Инструкция

#python #soft #github
  • 👍 30
  • ❤ 10
  • 🔥 8
More from @python2day
  1. Oct 13, 2026👁👁 Тестовый собес на Python с разработчиком из Яндекса [+ ответы на 50 сложных вопросов…
  2. Oct 13, 2026⚡️ Обновленный Avito Parser — инструмент с открытым исходным кодом, который автоматически…
  3. Oct 13, 2026⚡️ Обновленный Avito Parser — инструмент с открытым исходным кодом, который автоматически…
  4. Oct 13, 2026😱 Т—технолоджия. Видали агрегат? Так и писать никто не научится. С добрым утром! ☕️
  5. Oct 11, 2026😂 Олды тут? Цены на ОЗУ росли не зря... ⚔️
  6. Oct 11, 2026🤖 Делаем Opus 5.5 дешевле до 90%! Вам наверняка знакомо, когда до MVP остаётся всего пару…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →