Reputation: 197
My task: to connect points with lines using known coordinates.
What I have already done: using the doctr library, I find the coordinates of the words I am interested in on a pdf file. (My python code is not important for this question, below I will show what data I get from a specific file)
For example, there is a pdf file in which I am looking for the word "INVOICE"
After doctr has run, I get the following data
((0.09370404411764705, 0.0439453125), (0.33140099789915967, 0.09765625));
((0.5925912552521009, 0.1796875), (0.6575433298319328, 0.1953125));
((0.5925912552521009, 0.2041015625), (0.6575433298319328, 0.21875));
My question: how can I draw lines between these three points? To get a figure at the output. For a better understanding of the situation for you: the figure on this file will be like a template for me. I receive a large number of documents, and in order not to look through everything, I will check whether this figure is on the received document, and look through only the necessary document.
Upvotes: -3
Views: 119
Reputation: 126
You can use PyMuPDF Library. The following code snippet will help you.
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")
Through this library, you can modify, add graph and add any plotting. If you want to know detail, this link 1 and link 2 help you for guide drawing on PDF document.
Upvotes: 1