to_markdown.rst 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. Convert To Markdown
  2. ========================
  3. .. code:: python
  4. import os
  5. from magic_pdf.data.data_reader_writer import FileBasedDataWriter, FileBasedDataReader
  6. from magic_pdf.libs.MakeContentConfig import DropMode, MakeMode
  7. from magic_pdf.pipe.OCRPipe import OCRPipe
  8. ## args
  9. model_list = []
  10. pdf_file_name = "abc.pdf" # replace with the real pdf path
  11. ## prepare env
  12. local_image_dir, local_md_dir = "output/images", "output"
  13. os.makedirs(local_image_dir, exist_ok=True)
  14. image_writer, md_writer = FileBasedDataWriter(local_image_dir), FileBasedDataWriter(
  15. local_md_dir
  16. ) # create 00
  17. image_dir = str(os.path.basename(local_image_dir))
  18. reader1 = FileBasedDataReader("")
  19. pdf_bytes = reader1.read(pdf_file_name) # read the pdf content
  20. pipe = OCRPipe(pdf_bytes, model_list, image_writer)
  21. pipe.pipe_classify()
  22. pipe.pipe_analyze()
  23. pipe.pipe_parse()
  24. pdf_info = pipe.pdf_mid_data["pdf_info"]
  25. md_content = pipe.pipe_mk_markdown(
  26. image_dir, drop_mode=DropMode.NONE, md_make_mode=MakeMode.MM_MD
  27. )
  28. if isinstance(md_content, list):
  29. md_writer.write_string(f"{pdf_file_name}.md", "\n".join(md_content))
  30. else:
  31. md_writer.write_string(f"{pdf_file_name}.md", md_content)
  32. Check :doc:`../data/data_reader_writer` for more [reader | writer] examples