Удалить все номера сносок/концевых сносок в PDF-файле с помощью Pymupdf?Python

Программы на Python
Anonymous
Удалить все номера сносок/концевых сносок в PDF-файле с помощью Pymupdf?

Сообщение Anonymous »

Я пытаюсь удалить все сноски/концевые сноски в PDF-файле. Все они имеют размер шрифта шесть, а остальной текст — двенадцать.
Пример текста:
"The Industrial Революция ознаменовала собой важный поворотный момент в истории человечества, положив начало массовому производству и урбанизации.»19 («19» будет набрано шестым размером шрифта).
Текст после запуска кода:
"Промышленная революция ознаменовала собой важный поворотный момент в истории человечества, положив начало массовому производству и урбанизации".
Это код, который у меня есть на данный момент, но не работает.
import fitz # PyMuPDF

def remove_small_numbers(pdf_path, output_path):
doc = fitz.open(pdf_path)

for page_num in range(len(doc)):
page = doc.load_page(page_num)
blocks = page.get_text("dict")["blocks"]

for b in blocks:
if "lines" in b:
for line in b["lines"]:
for span in line["spans"]:
if span["size"] == 6 and span["text"].strip().isdigit():
rect = fitz.Rect(span["bbox"]) # Get the bounding box of the span
page.add_rect_annot(rect) # Add a transparent annotation to cover the text

# Remove all annotations (which cover the small numbers)
for annot in page.annots():
page.delete_annot(annot)

doc.save(output_path)
doc.close()

# Example usage
input_pdf = "input.pdf"
output_pdf = "output.pdf"

remove_small_numbers(input_pdf, output_pdf)


Подробнее здесь: https://stackoverflow.com/questions/786 ... ng-pymupdf

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