demo.py 926 B

12345678910111213141516171819202122232425
  1. import os
  2. from loguru import logger
  3. from magic_pdf.data.data_reader_writer import FileBasedDataWriter
  4. from magic_pdf.pipe.UNIPipe import UNIPipe
  5. try:
  6. current_script_dir = os.path.dirname(os.path.abspath(__file__))
  7. demo_name = 'demo1'
  8. pdf_path = os.path.join(current_script_dir, f'{demo_name}.pdf')
  9. pdf_bytes = open(pdf_path, 'rb').read()
  10. jso_useful_key = {'_pdf_type': '', 'model_list': []}
  11. local_image_dir = os.path.join(current_script_dir, 'images')
  12. image_dir = str(os.path.basename(local_image_dir))
  13. image_writer = FileBasedDataWriter(local_image_dir)
  14. pipe = UNIPipe(pdf_bytes, jso_useful_key, image_writer)
  15. pipe.pipe_classify()
  16. pipe.pipe_analyze()
  17. pipe.pipe_parse()
  18. md_content = pipe.pipe_mk_markdown(image_dir, drop_mode='none')
  19. with open(f'{demo_name}.md', 'w', encoding='utf-8') as f:
  20. f.write(md_content)
  21. except Exception as e:
  22. logger.exception(e)