TXTPipe.py 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. from loguru import logger
  2. from magic_pdf.libs.MakeContentConfig import DropMode, MakeMode
  3. from magic_pdf.model.doc_analyze_by_custom_model import doc_analyze
  4. from magic_pdf.rw.AbsReaderWriter import AbsReaderWriter
  5. from magic_pdf.libs.json_compressor import JsonCompressor
  6. from magic_pdf.pipe.AbsPipe import AbsPipe
  7. from magic_pdf.user_api import parse_txt_pdf
  8. class TXTPipe(AbsPipe):
  9. def __init__(self, pdf_bytes: bytes, model_list: list, image_writer: AbsReaderWriter, is_debug: bool = False,
  10. start_page_id=0, end_page_id=None, lang=None,
  11. layout_model=None, formula_enable=None, table_enable=None):
  12. super().__init__(pdf_bytes, model_list, image_writer, is_debug, start_page_id, end_page_id, lang,
  13. layout_model, formula_enable, table_enable)
  14. def pipe_classify(self):
  15. pass
  16. def pipe_analyze(self):
  17. self.model_list = doc_analyze(self.pdf_bytes, ocr=False,
  18. start_page_id=self.start_page_id, end_page_id=self.end_page_id,
  19. lang=self.lang, layout_model=self.layout_model,
  20. formula_enable=self.formula_enable, table_enable=self.table_enable)
  21. def pipe_parse(self):
  22. self.pdf_mid_data = parse_txt_pdf(self.pdf_bytes, self.model_list, self.image_writer, is_debug=self.is_debug,
  23. start_page_id=self.start_page_id, end_page_id=self.end_page_id,
  24. lang=self.lang, layout_model=self.layout_model,
  25. formula_enable=self.formula_enable, table_enable=self.table_enable)
  26. def pipe_mk_uni_format(self, img_parent_path: str, drop_mode=DropMode.WHOLE_PDF):
  27. result = super().pipe_mk_uni_format(img_parent_path, drop_mode)
  28. logger.info("txt_pipe mk content list finished")
  29. return result
  30. def pipe_mk_markdown(self, img_parent_path: str, drop_mode=DropMode.WHOLE_PDF, md_make_mode=MakeMode.MM_MD):
  31. result = super().pipe_mk_markdown(img_parent_path, drop_mode, md_make_mode)
  32. logger.info(f"txt_pipe mk {md_make_mode} finished")
  33. return result