Извлечение текста с использованием флагов для выделения жирного/курсивного шрифта с использованием PyMUPDFPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Извлечение текста с использованием флагов для выделения жирного/курсивного шрифта с использованием PyMUPDF

Сообщение Anonymous »

Я пытаюсь извлечь элементы текста, выделенные жирным шрифтом, из PDF-файлов с помощью PyMUPDF 1.18.14. Я надеялся, что это сработает, поскольку из документации я понимаю, что flags=4 предназначен для жирного шрифта.

Код: Выделить всё

page = doc[1]
text = page.get_text(flags=4)
print(text)
Но он печатает весь текст на странице, а не только жирный текст.
При использовании TextPage.extractDICT() (или Page.get_text («dict»)) вот так:-

Код: Выделить всё

page.get_text("dict", flags=11)["blocks"]
Флаг работает, но мне трудно понять, что он делает. Возможно, переключение между блоками изображения и текста.
Span
Похоже, вам нужно добраться до диапазона code>, чтобы иметь доступ к флагам.

Код: Выделить всё






[img]https://i.stack.imgur.com/rr6Cb.png[/img]
Тогда вы можете сделать что-то вроде этого: я использовал flags=20
в теге span, чтобы получить жирный шрифт.

Код: Выделить всё

page = doc[1]
blocks = page.get_text("dict", flags=11)["blocks"]
for b in blocks:  # iterate through the text blocks
for l in b["lines"]:  # iterate through the text lines
for s in l["spans"]:  # iterate through the text spans
if s["flags"] == 20:  # 20 targets bold
print(s)
Но, похоже, до этого еще далеко.
Поэтому мой вопрос: это лучший способ найти жирные элементы или я что-то упускаю ?
Было бы здорово иметь возможность искать элементы, выделенные жирным шрифтом, с помощью page.search_for()

Подробнее здесь: https://stackoverflow.com/questions/683 ... ng-pymupdf
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»