demo.py 1.2 KB

12345678910111213141516171819202122232425262728293031
  1. import os
  2. import json
  3. from loguru import logger
  4. from magic_pdf.pipe.UNIPipe import UNIPipe
  5. from magic_pdf.rw.DiskReaderWriter import DiskReaderWriter
  6. import magic_pdf.model as model_config
  7. model_config.__use_inside_model__ = True
  8. try:
  9. current_script_dir = os.path.dirname(os.path.abspath(__file__))
  10. demo_name = "demo1"
  11. pdf_path = os.path.join(current_script_dir, f"{demo_name}.pdf")
  12. model_path = os.path.join(current_script_dir, f"{demo_name}.json")
  13. pdf_bytes = open(pdf_path, "rb").read()
  14. # model_json = json.loads(open(model_path, "r", encoding="utf-8").read())
  15. model_json = [] # model_json传空list使用内置模型解析
  16. jso_useful_key = {"_pdf_type": "", "model_list": model_json}
  17. local_image_dir = os.path.join(current_script_dir, 'images')
  18. image_dir = str(os.path.basename(local_image_dir))
  19. image_writer = DiskReaderWriter(local_image_dir)
  20. pipe = UNIPipe(pdf_bytes, jso_useful_key, image_writer)
  21. pipe.pipe_classify()
  22. pipe.pipe_parse()
  23. md_content = pipe.pipe_mk_markdown(image_dir, drop_mode="none")
  24. with open(f"{demo_name}.md", "w", encoding="utf-8") as f:
  25. f.write(md_content)
  26. except Exception as e:
  27. logger.exception(e)