TXTPipe.py 1.34 KB
Newer Older
1
2
3
from loguru import logger

from magic_pdf.libs.MakeContentConfig import DropMode, MakeMode
赵小蒙's avatar
赵小蒙 committed
4
from magic_pdf.model.doc_analyze_by_custom_model import doc_analyze
kernel.h@qq.com's avatar
kernel.h@qq.com committed
5
from magic_pdf.rw.AbsReaderWriter import AbsReaderWriter
赵小蒙's avatar
赵小蒙 committed
6
7
8
9
10
11
12
from magic_pdf.libs.json_compressor import JsonCompressor
from magic_pdf.pipe.AbsPipe import AbsPipe
from magic_pdf.user_api import parse_txt_pdf


class TXTPipe(AbsPipe):

13
    def __init__(self, pdf_bytes: bytes, model_list: list, image_writer: AbsReaderWriter, is_debug: bool = False):
14
        super().__init__(pdf_bytes, model_list, image_writer, is_debug)
赵小蒙's avatar
赵小蒙 committed
15
16
17
18

    def pipe_classify(self):
        pass

19
20
21
    def pipe_analyze(self):
        self.model_list = doc_analyze(self.pdf_bytes, ocr=False)

赵小蒙's avatar
赵小蒙 committed
22
    def pipe_parse(self):
kernel.h@qq.com's avatar
kernel.h@qq.com committed
23
        self.pdf_mid_data = parse_txt_pdf(self.pdf_bytes, self.model_list, self.image_writer, is_debug=self.is_debug)
赵小蒙's avatar
赵小蒙 committed
24

25
    def pipe_mk_uni_format(self, img_parent_path: str, drop_mode=DropMode.WHOLE_PDF):
26
27
28
29
30
31
32
33
        result = super().pipe_mk_uni_format(img_parent_path, drop_mode)
        logger.info("txt_pipe mk content list finished")
        return result

    def pipe_mk_markdown(self, img_parent_path: str, drop_mode=DropMode.WHOLE_PDF, md_make_mode=MakeMode.MM_MD):
        result = super().pipe_mk_markdown(img_parent_path, drop_mode, md_make_mode)
        logger.info(f"txt_pipe mk {md_make_mode} finished")
        return result