Рисовать линии между несколькими точками с известными координатами

Моя задача: соединить точки линиями по известным координатам.

Что я уже сделал: с помощью библиотеки doctr нахожу координаты интересующих меня слов в pdf-файле. (Мой код Python не важен для этого вопроса, ниже я покажу, какие данные я получаю из конкретного файла)

Например, есть PDF-файл, в котором я ищу слово «СЧЕТ».

После запуска doctr я получаю следующие данные

((0,09370404411764705, 0,0439453125), (0,33140099789915967, 0,09765625));

((0,5925912552521009, 0,1796875), (0,6575433298319328, 0,1953125));

((0,5925912552521009, 0,2041015625), (0,6575433298319328, 0,21875));

Мой вопрос: как провести линии между этими тремя точками? Чтобы получить цифру на выходе. Для лучшего понимания ситуации для вас: рисунок в этом файле будет для меня как шаблон. Я получаю большое количество документов, и чтобы не просматривать все, я проверяю, есть ли эта цифра на полученном документе, и просматриваю только необходимый документ.

🤔 А знаете ли вы, что...
В Python есть инструменты для тестирования кода, такие как библиотека unittest.


77
1

Ответ:

Решено

Вы можете использовать PyMuPDF Библиотеку. Следующий фрагмент кода поможет вам.

import fitz  # PyMuPDF
doc = fitz.open("Document_Name_Original.pdf")
page = doc[pno]  # page number
p1 = fitz.Point(x_1, y_1)  # First point
p2 = fitz.Point(x_2, y_2)  # Second point
p3 = fitz.Point(x_3, y_3)  # Third point
page.draw_line(p1, p2, color=fitz.pdfcolor["red"], width=2)
page.draw_line(p2, p3, color=fitz.pdfcolor["red"], width=2)
page.draw_line(p3, p1, color=fitz.pdfcolor["red"], width=2)
doc.save("Document_Name_Modified.pdf")

С помощью этой библиотеки вы можете изменять, добавлять графики и любые графики. Если вы хотите узнать подробности, эта ссылка 1 и ссылка 2 поможет вам нарисовать руководство по рисованию в PDF-документе.