import fitz
def inspect_pdf(pdf_path="Сертификат АСБ (4).pdf"):
"""Показывает все текстовые блоки в PDF с координатами"""
doc = fitz.open(pdf_path)
page = doc[0]
print("📄 Информация о PDF:")
print(f"Размер страницы: {page.rect.width} x {page.rect.height}")
print("\nНайденные текстовые блоки:")
print("-" * 60)
# Получаем все текстовые блоки
text_blocks = page.get_text("dict")
for block in text_blocks.get("blocks", []):
if block.get("type") == 0: # Текстовый блок
for line in block.get("lines", []):
for span in line.get("spans", []):
text = span.get("text", "").strip()
if text:
bbox = span.get("bbox", (0, 0, 0, 0))
print(f"Текст: '{text}'")
print(f" Координаты: x={bbox[0]:.2f}, y={bbox[1]:.2f}, w={bbox[2]-bbox[0]:.2f}, h={bbox[3]-bbox[1]:.2f}")
print(f" Шрифт: {span.get('font', 'unknown')}, размер: {span.get('size', 0)}")
print()
doc.close()
# Запускаем диагностику
inspect_pdf("Сертификат АСБ (4).pdf")