问题遇到的现象和发生背景
提取PDF中的元素,需要元素在PDF的顺序号、位置信息及所属的Object
问题相关代码,请勿粘贴截图
pdf_name = r'C:\Users\LH\Desktop\tt06.pdf'
doc = fitz.open(pdf_name)
page = doc[0]
# 所有object
for i in range(1, doc.xref_length()):
print(doc.xref_object(i, compressed=False))
print("obj*-*"*20)
content = page.read_contents() # 文件流
运行结果及报错内容
目前没有办法将一个个的元素分开
b'\n0.06 0 0 0.06 14 48 cm\n\nq\n0 0 m\n4075 0 l\n4075 11593 l\n0 11593 l\n0 0 l W n\n0 0 0 RG\n0 0 0 rg\n /DeviceGray CS\n/GT255 gs\n12 w\r\n1 j\r\n1 J /OC /oc1 BDC\n\n2054 9155 m\n1110 7917 l\nS\n2565 8202 m\n2331 8102 l\n2565 8002 l\nS\n2565 7735 m\n2331 7735 l\nS\n2515 7735 m\n2548 7768 l\n2565 7802 l\n2565 7852 l\n2548 7885 l\n2515 7918 l\n2465 7935 l\n2431 7935 l\n2381 7918 l\n2348 7885 l\n2331 7852 l\n2331 7802 l\n2348 7768 l\n2381 7735 l\nS\n2331 7618 m\n2565 7618 l\nS\n2465 7618 m\n2515 7602 l\n2548 7568 l\n2565 7535 l\n2565 7485 l\nS\n2565 7385 m\n2331 7285 l\n2565 7185 l\nS\n2331 7285 m\n2231 7335 l\n2215 7352 l\n2215 7402 l\nS\n3414 7860 m\n2527 6490 l\nS\n1783 6762 m\n1783 6788 l\n1770 6814 l\n1731 6827 l\n1509 6827 l\nS\n1692 6866 m\n1692 6775 l\nS\n1770 6709 m\n1757 6696 l\n1770 6683 l\n1783 6696 l\n1770 6709 l\nS\n1692 6696 m\n1509 6696 l\nS\n1509 6605 m\n1692 6605 l\nS\n1640 6605 m\n1679 6566 l\n1692 6539 l\n1692 6500 l\n1679 6474 l\n1640 6461 l\n1509 6461 l\nS\n1613 6356 m\n1613 6200 l\n1640 6200 l\n1666 6213 l\n1679 6226 l\n1692 6252 l\n1692 6291 l\n1679 6317 l\n1653 6343 l\n1613 6356 l\n1587 6356 l\n1548 6343 l\n1522 6317 l\n1509 6291 l\n1509 6252 l\n1522 6226 l\n1548 6200 l\nS EMC\nQ'
我的解答思路和尝试过的方法
通过查看PDF协议标准解析PDF,PDF协议标准太多,没有办法在短时间找到解析思路
我想要达到的结果
将元素分开并标明元素属性(所属object、顺序号、颜色等)