draw_bbox.py 1.9 KB

123456789101112131415161718192021
  1. from magic_pdf.libs.commons import fitz # PyMuPDF
  2. # PDF文件路径
  3. pdf_path = r"D:\projects\Magic-PDF\ocr_demo\ocr_1_org.pdf"
  4. doc = fitz.open(pdf_path) # Open the PDF
  5. # 你的数据
  6. data = [[(294.7569528415961, 776.8430953398889, 300.8827085852479, 786.922616502779), (460.1523579201934, 776.8430953398889, 509.51874244256345, 787.2825994014537)], [(294.03627569528413, 779.7229585292861, 301.24304715840384, 788.3625480974777), (85.76058041112454, 781.882855921334, 156.74727932285367, 789.8024796921762)], [(293.6759371221282, 779.7229585292861, 301.60338573155985, 788.7225309961523), (459.43168077388145, 779.7229585292861, 508.7980652962515, 789.8024796921762)], [(295.8379685610641, 780.0829414279607, 301.24304715840384, 788.0025651988029), (85.76058041112454, 781.5228730226593, 156.74727932285367, 790.1624625908509)], [(294.03627569528413, 779.7229585292861, 301.60338573155985, 789.0825138948269), (459.79201934703747, 779.7229585292861, 508.4377267230955, 789.4424967935015)], [(86.4812575574365, 781.882855921334, 156.0266021765417, 789.8024796921762)], [(294.39661426844015, 779.7229585292861, 301.24304715840384, 788.3625480974777), (459.43168077388145, 779.7229585292861, 508.7980652962515, 789.4424967935015)], [(294.03627569528413, 779.7229585292861, 301.24304715840384, 788.3625480974777), (85.76058041112454, 781.5228730226593, 156.74727932285367, 789.8024796921762)], [(294.39661426844015, 779.7229585292861, 300.8827085852479, 788.3625480974777)]]
  7. # 对每个页面进行处理
  8. for i, page in enumerate(doc):
  9. # 获取当前页面的数据
  10. page_data = data[i]
  11. for img in page_data:
  12. # x0, y0, x1, y1, _ = img
  13. x0, y0, x1, y1 = img
  14. rect_coords = fitz.Rect(x0, y0, x1, y1) # Define the rectangle
  15. page.draw_rect(rect_coords, color=(1, 0, 0), fill=None, width=1.5, overlay=True) # Draw the rectangle
  16. # Save the PDF
  17. doc.save(r"D:\projects\Magic-PDF\ocr_demo\ocr_1_new2.pdf")