import os import json from loguru import logger from magic_pdf.pipe.UNIPipe import UNIPipe from magic_pdf.rw.DiskReaderWriter import DiskReaderWriter import magic_pdf.model as model_config model_config.__use_inside_model__ = True try: current_script_dir = os.path.dirname(os.path.abspath(__file__)) demo_name = "demo1" pdf_path = os.path.join(current_script_dir, f"{demo_name}.pdf") model_path = os.path.join(current_script_dir, f"{demo_name}.json") pdf_bytes = open(pdf_path, "rb").read() # model_json = json.loads(open(model_path, "r", encoding="utf-8").read()) model_json = [] # model_json传空list使用内置模型解析 jso_useful_key = {"_pdf_type": "", "model_list": model_json} local_image_dir = os.path.join(current_script_dir, 'images') image_dir = str(os.path.basename(local_image_dir)) image_writer = DiskReaderWriter(local_image_dir) pipe = UNIPipe(pdf_bytes, jso_useful_key, image_writer) pipe.pipe_classify() pipe.pipe_parse() md_content = pipe.pipe_mk_markdown(image_dir, drop_mode="none") with open(f"{demo_name}.md", "w", encoding="utf-8") as f: f.write(md_content) except Exception as e: logger.exception(e)