_tmp_render_contracts.py 881 B

1234567891011121314151617181920212223242526
  1. # -*- coding: utf-8 -*-
  2. """把各合同首页渲成图片,便于人工/视觉识别项目名称与金额。"""
  3. import io
  4. import os
  5. import sys
  6. import fitz
  7. sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding="utf-8")
  8. BASE = r"C:\Users\skygu\OneDrive\Projects\AIDOP\项目\项目招投标\相关准备材料"
  9. CON = os.path.join(BASE, "过往业绩合同")
  10. OUT = os.path.join(os.path.dirname(os.path.abspath(__file__)),
  11. "_bid_assets", "contract_scan")
  12. os.makedirs(OUT, exist_ok=True)
  13. for n in sorted(os.listdir(CON)):
  14. d = fitz.open(os.path.join(CON, n))
  15. for pi in (0, 1):
  16. if pi >= d.page_count:
  17. break
  18. pm = d[pi].get_pixmap(matrix=fitz.Matrix(150 / 72, 150 / 72))
  19. p = os.path.join(OUT, f"{n[:-4]}_p{pi + 1}.png")
  20. pm.save(p)
  21. print(f"{os.path.basename(p)} {pm.width}×{pm.height}")
  22. d.close()