用x,y,w,h绘制PDF文本模式

问题描述

我很愚蠢地说这个问题,但是经过大量测试我没有结果。 我试图创建一个图案图像来表示带有矩形的文本位置,但是当我使用bBox coordonates时,结果很糟糕

我的代码


from pdfminer.layout import LAParams,LTTextBox
from pdfminer.pdfpage import pdfpage
from pdfminer.pdfinterp import PDFResourceManager
from pdfminer.pdfinterp import pdfpageInterpreter
from pdfminer.converter import pdfpageAggregator

from tkinter import *

fen_princ = Tk()
fen_princ.title("ESSAI AVEC CANVAS")
fen_princ.geometry("1500x1500")
monCanvas = Canvas(fen_princ,width=1500,height=1500,bg='white')
monCanvas.pack()

fp = open('yourpdf.pdf','rb')
rsrcmgr = PDFResourceManager()
laparams = LAParams()
device = pdfpageAggregator(rsrcmgr,laparams=laparams)
interpreter = pdfpageInterpreter(rsrcmgr,device)
pages = pdfpage.get_pages(fp)

for page in pages:
print('Processing next page...')
interpreter.process_page(page)
layout = device.get_result()
for lobj in layout:
if isinstance(lobj,LTTextBox):
print('Box : ',lobj.bBox)
x,y,text = lobj.bBox[0],lobj.bBox[3],lobj.get_text()
print('At %r is text: %s' % ((x,y),text))

        monCanvas.create_rectangle(
            lobj.bBox[0],lobj.bBox[1],lobj.bBox[2],fill="red",#activefill="red",#outline="blue",width=1
        )
break
fen_princ.mainloop()

结果:

pattern.png

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)