PaddlePaddle / PaddleOCR

Awesome multilingual OCR toolkits based on PaddlePaddle (practical ultra lightweight OCR system, support 80+ languages recognition, provide data annotation and synthesis tools, support training and deployment among server, mobile, embedded and IoT devices)
https://paddlepaddle.github.io/PaddleOCR/
Apache License 2.0
44.59k stars 7.85k forks source link

使用ppstructure 命令行 解析pdf文件时,遇到res.txt中的文本与原文内容完全对应不上,表格html中为乱码等问题 #13726

Closed BG888 closed 3 months ago

BG888 commented 3 months ago

🔎 Search before asking

🐛 Bug (问题描述)

求助各位大神!

问题记录:

1.在使用ppstructure 命令行指令 paddleocr --image_dir=docs/recovery/XDGZZY.pdf --type=structure --recovery=true --lang='ch' 解析标准格式(非扫描文件)pdf文件时,报错:error in layout recovery image:XDGZZY, err msg: list index out of range。 中间过程每一页生成res.txt和jpg,但是txt中的文件和pdf不匹配,甚至为乱码,请问这是为什么呢?若输入为扫描件,生成的res.txt仍然不对,甚至生成的docx文件版式都有问题。下图为res.txt截图。

res7 txt

2.使用命令行指令:paddleocr --image_dir=ppstructure/docs/recovery/XDGZZY.pdf --type=structure --recovery=true --use_pdf2docx_api=true 解析标准格式pdf时,可以正常生成docx文件,但是无法生成中间的过程。

3.我现在想不管输入是否为标准格式pdf都可以从中间文件res.txt摘取所有的文本信息和表格html信息,请问应该如何处理呢?(大哭)

🏃‍♂️ Environment (运行环境)

_libgcc_mutex 0.1 main https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main _openmp_mutex 5.1 1_gnu https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main albucore 0.0.13 pypi_0 pypi albumentations 1.4.13 pypi_0 pypi annotated-types 0.7.0 pypi_0 pypi anyio 4.4.0 pypi_0 pypi astor 0.8.1 pypi_0 pypi attrdict 2.0.1 pypi_0 pypi babel 2.15.0 pypi_0 pypi bce-python-sdk 0.9.17 pypi_0 pypi beautifulsoup4 4.12.3 pypi_0 pypi blinker 1.8.2 pypi_0 pypi bzip2 1.0.8 h5eee18b_6 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main ca-certificates 2024.7.2 h06a4308_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main cachetools 5.3.3 pypi_0 pypi certifi 2024.7.4 pypi_0 pypi charset-normalizer 3.3.2 pypi_0 pypi click 8.1.7 pypi_0 pypi contourpy 1.2.1 pypi_0 pypi cssselect 1.2.0 pypi_0 pypi cssutils 2.11.1 pypi_0 pypi cycler 0.12.1 pypi_0 pypi cython 3.0.10 pypi_0 pypi decorator 5.1.1 pypi_0 pypi easydict 1.13 pypi_0 pypi et-xmlfile 1.1.0 pypi_0 pypi eval-type-backport 0.2.0 pypi_0 pypi faiss-cpu 1.8.0.post1 pypi_0 pypi fire 0.6.0 pypi_0 pypi flask 3.0.3 pypi_0 pypi flask-babel 4.0.0 pypi_0 pypi fonttools 4.53.0 pypi_0 pypi future 1.0.0 pypi_0 pypi gast 0.3.3 pypi_0 pypi h11 0.14.0 pypi_0 pypi httpcore 1.0.5 pypi_0 pypi httpx 0.27.0 pypi_0 pypi idna 3.7 pypi_0 pypi imageio 2.34.2 pypi_0 pypi imgaug 0.4.0 pypi_0 pypi itsdangerous 2.2.0 pypi_0 pypi jinja2 3.1.4 pypi_0 pypi joblib 1.4.2 pypi_0 pypi json5 0.9.25 pypi_0 pypi kiwisolver 1.4.5 pypi_0 pypi lazy-loader 0.4 pypi_0 pypi ld_impl_linux-64 2.38 h1181459_1 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main libffi 3.4.4 h6a678d5_1 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main libgcc-ng 11.2.0 h1234567_1 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main libgomp 11.2.0 h1234567_1 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main libstdcxx-ng 11.2.0 h1234567_1 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main libuuid 1.41.5 h5eee18b_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main lmdb 1.5.1 pypi_0 pypi lxml 5.2.2 pypi_0 pypi markdown 3.6 pypi_0 pypi markupsafe 2.1.5 pypi_0 pypi matplotlib 3.9.1 pypi_0 pypi more-itertools 10.3.0 pypi_0 pypi ncurses 6.4 h6a678d5_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main networkx 3.3 pypi_0 pypi numpy 1.26.0 pypi_0 pypi opencv-contrib-python 4.6.0.66 pypi_0 pypi opencv-python 4.6.0.66 pypi_0 pypi opencv-python-headless 4.10.0.84 pypi_0 pypi openpyxl 3.1.5 pypi_0 pypi openssl 3.0.14 h5eee18b_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main opt-einsum 3.3.0 pypi_0 pypi packaging 24.1 pypi_0 pypi paddleclas 2.5.2 pypi_0 pypi paddleocr 2.8.1 pypi_0 pypi paddlepaddle 2.6.1 pypi_0 pypi pandas 2.2.2 pypi_0 pypi pandoc 2.4 pypi_0 pypi pdf2docx 0.0.0 pypi_0 pypi pdf2image 1.17.0 pypi_0 pypi pillow 10.4.0 pypi_0 pypi pip 24.0 py311h06a4308_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main plumbum 1.8.3 pypi_0 pypi ply 3.11 pypi_0 pypi poppler-utils 0.1.0 pypi_0 pypi premailer 3.10.0 pypi_0 pypi prettytable 3.11.0 pypi_0 pypi protobuf 5.27.2 pypi_0 pypi psutil 6.0.0 pypi_0 pypi pyclipper 1.3.0.post5 pypi_0 pypi pycryptodome 3.20.0 pypi_0 pypi pydantic 2.8.2 pypi_0 pypi pydantic-core 2.20.1 pypi_0 pypi pymupdf 1.24.7 pypi_0 pypi pymupdf4llm 0.0.8 pypi_0 pypi pymupdfb 1.24.6 pypi_0 pypi pyparsing 3.1.2 pypi_0 pypi python 3.11.9 h955ad1f_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main python-dateutil 2.9.0.post0 pypi_0 pypi python-docx 1.1.2 pypi_0 pypi pytz 2024.1 pypi_0 pypi pyyaml 6.0.1 pypi_0 pypi rapidfuzz 3.9.4 pypi_0 pypi rarfile 4.2 pypi_0 pypi readline 8.2 h5eee18b_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main requests 2.32.3 pypi_0 pypi scikit-image 0.24.0 pypi_0 pypi scikit-learn 1.5.1 pypi_0 pypi scipy 1.14.0 pypi_0 pypi setuptools 69.5.1 py311h06a4308_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main shapely 2.0.4 pypi_0 pypi six 1.16.0 pypi_0 pypi sniffio 1.3.1 pypi_0 pypi soupsieve 2.5 pypi_0 pypi sqlite 3.45.3 h5eee18b_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main termcolor 2.4.0 pypi_0 pypi threadpoolctl 3.5.0 pypi_0 pypi tifffile 2024.7.2 pypi_0 pypi tk 8.6.14 h39e8969_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main tomli 2.0.1 pypi_0 pypi tqdm 4.66.4 pypi_0 pypi typing-extensions 4.12.2 pypi_0 pypi tzdata 2024.1 pypi_0 pypi ujson 5.10.0 pypi_0 pypi urllib3 2.2.2 pypi_0 pypi visualdl 2.5.3 pypi_0 pypi wcwidth 0.2.13 pypi_0 pypi werkzeug 3.0.3 pypi_0 pypi wheel 0.43.0 py311h06a4308_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main xz 5.4.6 h5eee18b_1 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main zlib 1.2.13 h5eee18b_1 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main

🌰 Minimal Reproducible Example (最小可复现问题的Demo)

paddleocr --image_dir=docs/recovery/随便一个非扫描的odf.pdf --type=structure --recovery=true --lang='ch'

GreatV commented 3 months ago

输出的是unicode编码的字符串,不是乱码。

GreatV commented 3 months ago

无法复现

 paddleocr --image_dir=ppstructure/docs/recovery/UnrealText.pdf --type=structure --recovery=true --lang='ch'
[2024/08/23 02:47:36] ppocr DEBUG: Namespace(help='==SUPPRESS==', use_gpu=True, use_xpu=False, use_npu=False, use_mlu=False, ir_optim=True, use_tensorrt=False, min_subgraph_size=15, precision='fp32', gpu_mem=500, gpu_id=0, image_dir='ppstructure/docs/recovery/UnrealText.pdf', page_num=0, det_algorithm='DB', det_model_dir='/home/greatx/.paddleocr/whl/det/ch/ch_PP-OCRv4_det_infer', det_limit_side_len=960, det_limit_type='max', det_box_type='quad', det_db_thresh=0.3, det_db_box_thresh=0.6, det_db_unclip_ratio=1.5, max_batch_size=10, use_dilation=False, det_db_score_mode='fast', det_east_score_thresh=0.8, det_east_cover_thresh=0.1, det_east_nms_thresh=0.2, det_sast_score_thresh=0.5, det_sast_nms_thresh=0.2, det_pse_thresh=0, det_pse_box_thresh=0.85, det_pse_min_area=16, det_pse_scale=1, scales=[8, 16, 32], alpha=1.0, beta=1.0, fourier_degree=5, rec_algorithm='SVTR_LCNet', rec_model_dir='/home/greatx/.paddleocr/whl/rec/ch/ch_PP-OCRv4_rec_infer', rec_image_inverse=True, rec_image_shape='3, 48, 320', rec_batch_num=6, max_text_length=25, rec_char_dict_path='/home/greatx/repos/PaddleOCR/venv/lib/python3.10/site-packages/paddleocr-2.8.0-py3.10.egg/paddleocr/ppocr/utils/ppocr_keys_v1.txt', use_space_char=True, vis_font_path='./doc/fonts/simfang.ttf', drop_score=0.5, e2e_algorithm='PGNet', e2e_model_dir=None, e2e_limit_side_len=768, e2e_limit_type='max', e2e_pgnet_score_thresh=0.5, e2e_char_dict_path='./ppocr/utils/ic15_dict.txt', e2e_pgnet_valid_set='totaltext', e2e_pgnet_mode='fast', use_angle_cls=False, cls_model_dir=None, cls_image_shape='3, 48, 192', label_list=['0', '180'], cls_batch_num=6, cls_thresh=0.9, enable_mkldnn=False, cpu_threads=10, use_pdserving=False, warmup=False, sr_model_dir=None, sr_image_shape='3, 32, 128', sr_batch_num=1, draw_img_save_dir='./inference_results', save_crop_res=False, crop_res_save_dir='./output', use_mp=False, total_process_num=1, process_id=0, benchmark=False, save_log_path='./log_output/', show_log=True, use_onnx=False, return_word_box=False, output='./output', table_max_len=488, table_algorithm='TableAttn', table_model_dir='/home/greatx/.paddleocr/whl/table/ch_ppstructure_mobile_v2.0_SLANet_infer', merge_no_span_structure=True, table_char_dict_path='/home/greatx/repos/PaddleOCR/venv/lib/python3.10/site-packages/paddleocr-2.8.0-py3.10.egg/paddleocr/ppocr/utils/dict/table_structure_dict_ch.txt', layout_model_dir='/home/greatx/.paddleocr/whl/layout/picodet_lcnet_x1_0_fgd_layout_cdla_infer', layout_dict_path='/home/greatx/repos/PaddleOCR/venv/lib/python3.10/site-packages/paddleocr-2.8.0-py3.10.egg/paddleocr/ppocr/utils/dict/layout_dict/layout_cdla_dict.txt', layout_score_threshold=0.5, layout_nms_threshold=0.5, kie_algorithm='LayoutXLM', ser_model_dir=None, re_model_dir=None, use_visual_backbone=True, ser_dict_path='../train_data/XFUND/class_list_xfun.txt', ocr_order_method=None, mode='structure', image_orientation=False, layout=True, table=True, ocr=True, recovery=True, use_pdf2docx_api=False, invert=False, binarize=False, alphacolor=(255, 255, 255), lang='ch', det=True, rec=True, type='structure', savefile=False, ocr_version='PP-OCRv4', structure_version='PP-StructureV2')
[2024/08/23 02:47:38] ppocr INFO: **********ppstructure/docs/recovery/UnrealText.pdf**********
[2024/08/23 02:47:38] ppocr INFO: processing 1/13 page:
[2024/08/23 02:47:39] ppocr DEBUG: dt_boxes num : 95, elapsed : 0.07776641845703125
[2024/08/23 02:47:39] ppocr DEBUG: rec_res num  : 95, elapsed : 0.19507169723510742
[2024/08/23 02:47:39] ppocr INFO: processing 2/13 page:
[2024/08/23 02:47:39] ppocr DEBUG: dt_boxes num : 106, elapsed : 0.019535541534423828
[2024/08/23 02:47:39] ppocr DEBUG: rec_res num  : 106, elapsed : 0.1618940830230713
[2024/08/23 02:47:39] ppocr INFO: processing 3/13 page:
[2024/08/23 02:47:39] ppocr DEBUG: dt_boxes num : 100, elapsed : 0.018796205520629883
[2024/08/23 02:47:40] ppocr DEBUG: rec_res num  : 100, elapsed : 0.15997529029846191
[2024/08/23 02:47:40] ppocr INFO: processing 4/13 page:
[2024/08/23 02:47:40] ppocr DEBUG: dt_boxes num : 66, elapsed : 0.015527725219726562
[2024/08/23 02:47:40] ppocr DEBUG: rec_res num  : 66, elapsed : 0.10407710075378418
[2024/08/23 02:47:40] ppocr INFO: processing 5/13 page:
[2024/08/23 02:47:40] ppocr DEBUG: dt_boxes num : 94, elapsed : 0.018471240997314453
[2024/08/23 02:47:40] ppocr DEBUG: rec_res num  : 94, elapsed : 0.13001155853271484
[2024/08/23 02:47:40] ppocr INFO: processing 6/13 page:
[2024/08/23 02:47:40] ppocr DEBUG: dt_boxes num : 130, elapsed : 0.021069049835205078
[2024/08/23 02:47:40] ppocr DEBUG: rec_res num  : 130, elapsed : 0.1625807285308838
[2024/08/23 02:47:40] ppocr DEBUG: dt_boxes num : 36, elapse : 0.032251596450805664
[2024/08/23 02:47:40] ppocr DEBUG: rec_res num  : 36, elapse : 0.026166200637817383
[2024/08/23 02:47:40] ppocr INFO: processing 7/13 page:
[2024/08/23 02:47:40] ppocr DEBUG: dt_boxes num : 192, elapsed : 0.02681279182434082
[2024/08/23 02:47:41] ppocr DEBUG: rec_res num  : 192, elapsed : 0.19193792343139648
[2024/08/23 02:47:41] ppocr DEBUG: dt_boxes num : 32, elapse : 0.018146991729736328
[2024/08/23 02:47:41] ppocr DEBUG: rec_res num  : 32, elapse : 0.02353525161743164
[2024/08/23 02:47:41] ppocr DEBUG: dt_boxes num : 86, elapse : 0.016065120697021484
[2024/08/23 02:47:41] ppocr DEBUG: rec_res num  : 86, elapse : 0.060243844985961914
[2024/08/23 02:47:41] ppocr INFO: processing 8/13 page:
[2024/08/23 02:47:41] ppocr DEBUG: dt_boxes num : 89, elapsed : 0.01822185516357422
[2024/08/23 02:47:41] ppocr DEBUG: rec_res num  : 89, elapsed : 0.12642908096313477
[2024/08/23 02:47:41] ppocr INFO: processing 9/13 page:
[2024/08/23 02:47:41] ppocr DEBUG: dt_boxes num : 196, elapsed : 0.027379274368286133
[2024/08/23 02:47:41] ppocr DEBUG: rec_res num  : 196, elapsed : 0.18229937553405762
[2024/08/23 02:47:42] ppocr DEBUG: dt_boxes num : 56, elapse : 0.008293628692626953
[2024/08/23 02:47:42] ppocr DEBUG: rec_res num  : 56, elapse : 0.03614187240600586
[2024/08/23 02:47:42] ppocr DEBUG: dt_boxes num : 77, elapse : 0.013345479965209961
[2024/08/23 02:47:42] ppocr DEBUG: rec_res num  : 77, elapse : 0.04675006866455078
[2024/08/23 02:47:42] ppocr INFO: processing 10/13 page:
[2024/08/23 02:47:42] ppocr DEBUG: dt_boxes num : 116, elapsed : 0.020303010940551758
[2024/08/23 02:47:42] ppocr DEBUG: rec_res num  : 116, elapsed : 0.16542482376098633
[2024/08/23 02:47:42] ppocr INFO: processing 11/13 page:
[2024/08/23 02:47:42] ppocr DEBUG: dt_boxes num : 67, elapsed : 0.015918970108032227
[2024/08/23 02:47:42] ppocr DEBUG: rec_res num  : 67, elapsed : 0.09900403022766113
[2024/08/23 02:47:42] ppocr INFO: processing 12/13 page:
[2024/08/23 02:47:42] ppocr DEBUG: dt_boxes num : 72, elapsed : 0.016057252883911133
[2024/08/23 02:47:42] ppocr DEBUG: rec_res num  : 72, elapsed : 0.09022784233093262
[2024/08/23 02:47:42] ppocr INFO: processing 13/13 page:
[2024/08/23 02:47:42] ppocr DEBUG: dt_boxes num : 108, elapsed : 0.01996016502380371
[2024/08/23 02:47:42] ppocr DEBUG: rec_res num  : 108, elapsed : 0.13285279273986816
[2024/08/23 02:47:43] ppocr DEBUG: dt_boxes num : 45, elapse : 0.01066732406616211
[2024/08/23 02:47:43] ppocr DEBUG: rec_res num  : 45, elapse : 0.02948451042175293
[2024/08/23 02:47:43] ppocr INFO: docx save to ./output/UnrealText_ocr.docx
[2024/08/23 02:47:43] ppocr INFO: {'type': 'title', 'bbox': [163, 214, 1060, 239], 'img_idx': 0, 'layout': 'single'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [263, 293, 925, 370], 'img_idx': 0, 'layout': 'single'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [34, 414, 75, 624], 'img_idx': 0, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'figure', 'bbox': [93, 438, 1101, 661], 'img_idx': 0, 'layout': 'single'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'figure_caption', 'bbox': [101, 676, 1087, 719], 'img_idx': 0, 'layout': 'single'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'title', 'bbox': [292, 741, 380, 757], 'img_idx': 0, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [97, 789, 572, 1286], 'img_idx': 0, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'title', 'bbox': [101, 1313, 254, 1331], 'img_idx': 0, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [99, 1354, 573, 1418], 'img_idx': 0, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'footer', 'bbox': [590, 1468, 598, 1482], 'img_idx': 0, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [615, 743, 1091, 1419], 'img_idx': 0, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [98, 153, 574, 1419], 'img_idx': 1, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [616, 150, 1090, 334], 'img_idx': 1, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'title', 'bbox': [617, 367, 784, 385], 'img_idx': 1, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'title', 'bbox': [617, 408, 818, 426], 'img_idx': 1, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [614, 447, 1091, 1427], 'img_idx': 1, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [98, 149, 573, 573], 'img_idx': 2, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'title', 'bbox': [98, 601, 490, 620], 'img_idx': 2, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [98, 639, 573, 1426], 'img_idx': 2, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'header', 'bbox': [616, 149, 746, 168], 'img_idx': 2, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'title', 'bbox': [617, 200, 960, 220], 'img_idx': 2, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'title', 'bbox': [617, 243, 745, 258], 'img_idx': 2, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [615, 282, 1091, 778], 'img_idx': 2, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'title', 'bbox': [617, 806, 758, 822], 'img_idx': 2, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [615, 846, 1089, 1103], 'img_idx': 2, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'title', 'bbox': [617, 1151, 1032, 1169], 'img_idx': 2, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [615, 1192, 1090, 1424], 'img_idx': 2, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'figure', 'bbox': [125, 134, 1072, 509], 'img_idx': 3, 'layout': 'single'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'figure_caption', 'bbox': [101, 524, 996, 590], 'img_idx': 3, 'layout': 'single'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [98, 611, 573, 892], 'img_idx': 3, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'title', 'bbox': [99, 931, 389, 949], 'img_idx': 3, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [98, 970, 573, 1253], 'img_idx': 3, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'title', 'bbox': [99, 1274, 409, 1291], 'img_idx': 3, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [99, 1311, 573, 1426], 'img_idx': 3, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'figure', 'bbox': [612, 604, 1087, 844], 'img_idx': 3, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [615, 854, 1089, 992], 'img_idx': 3, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [615, 1043, 1091, 1109], 'img_idx': 3, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'title', 'bbox': [636, 1130, 861, 1149], 'img_idx': 3, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [615, 1169, 1089, 1426], 'img_idx': 3, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [99, 149, 573, 284], 'img_idx': 4, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'title', 'bbox': [99, 321, 469, 340], 'img_idx': 4, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [99, 359, 573, 663], 'img_idx': 4, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'title', 'bbox': [99, 697, 436, 715], 'img_idx': 4, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [99, 736, 574, 1111], 'img_idx': 4, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'title', 'bbox': [100, 1130, 283, 1148], 'img_idx': 4, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [99, 1167, 573, 1352], 'img_idx': 4, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'reference', 'bbox': [99, 1371, 569, 1425], 'img_idx': 4, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'figure', 'bbox': [611, 136, 1090, 384], 'img_idx': 4, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [615, 401, 1089, 681], 'img_idx': 4, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [619, 711, 1091, 774], 'img_idx': 4, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [615, 778, 1090, 919], 'img_idx': 4, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'title', 'bbox': [618, 940, 877, 957], 'img_idx': 4, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [615, 977, 1090, 1233], 'img_idx': 4, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'title', 'bbox': [616, 1260, 1020, 1317], 'img_idx': 4, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [616, 1335, 1090, 1425], 'img_idx': 4, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [98, 150, 573, 571], 'img_idx': 5, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'title', 'bbox': [100, 594, 332, 614], 'img_idx': 5, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [99, 631, 572, 1389], 'img_idx': 5, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'reference', 'bbox': [126, 1409, 410, 1426], 'img_idx': 5, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'table', 'bbox': [622, 138, 1107, 369], 'img_idx': 5, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [617, 378, 1090, 421], 'img_idx': 5, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [616, 475, 1090, 1381], 'img_idx': 5, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'reference', 'bbox': [630, 1409, 1083, 1427], 'img_idx': 5, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'table_caption', 'bbox': [220, 146, 448, 161], 'img_idx': 6, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'table', 'bbox': [101, 158, 570, 738], 'img_idx': 6, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'figure_caption', 'bbox': [113, 742, 562, 783], 'img_idx': 6, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [99, 833, 573, 1040], 'img_idx': 6, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'table', 'bbox': [100, 1060, 573, 1222], 'img_idx': 6, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'reference', 'bbox': [99, 1232, 571, 1274], 'img_idx': 6, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'title', 'bbox': [98, 1322, 435, 1341], 'img_idx': 6, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [99, 1359, 574, 1426], 'img_idx': 6, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [617, 148, 1090, 1424], 'img_idx': 6, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'figure', 'bbox': [109, 136, 552, 315], 'img_idx': 7, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'figure_caption', 'bbox': [98, 316, 571, 359], 'img_idx': 7, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [100, 410, 564, 452], 'img_idx': 7, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'title', 'bbox': [99, 485, 528, 508], 'img_idx': 7, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [99, 529, 574, 595], 'img_idx': 7, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'title', 'bbox': [101, 659, 223, 675], 'img_idx': 7, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [99, 699, 573, 1054], 'img_idx': 7, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [109, 1061, 430, 1078], 'img_idx': 7, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [98, 1087, 572, 1366], 'img_idx': 7, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'reference', 'bbox': [113, 1389, 417, 1425], 'img_idx': 7, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'title', 'bbox': [618, 149, 846, 167], 'img_idx': 7, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [615, 198, 1090, 724], 'img_idx': 7, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'title', 'bbox': [616, 764, 998, 823], 'img_idx': 7, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [615, 857, 1091, 1365], 'img_idx': 7, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'reference', 'bbox': [632, 1408, 904, 1427], 'img_idx': 7, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'table', 'bbox': [129, 138, 1053, 282], 'img_idx': 8, 'layout': 'single'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [98, 292, 1088, 335], 'img_idx': 8, 'layout': 'single'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'table', 'bbox': [97, 375, 587, 523], 'img_idx': 8, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'reference', 'bbox': [101, 533, 572, 555], 'img_idx': 8, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'title', 'bbox': [99, 615, 328, 633], 'img_idx': 8, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [98, 667, 573, 994], 'img_idx': 8, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'title', 'bbox': [99, 1048, 418, 1066], 'img_idx': 8, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [98, 1096, 573, 1426], 'img_idx': 8, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'title', 'bbox': [617, 380, 755, 398], 'img_idx': 8, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [616, 421, 1091, 605], 'img_idx': 8, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'title', 'bbox': [619, 631, 804, 652], 'img_idx': 8, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [618, 660, 1088, 700], 'img_idx': 8, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'title', 'bbox': [617, 727, 728, 744], 'img_idx': 8, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'reference', 'bbox': [626, 767, 1089, 1421], 'img_idx': 8, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'reference', 'bbox': [101, 152, 574, 1423], 'img_idx': 9, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'reference', 'bbox': [620, 151, 1091, 1421], 'img_idx': 9, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'reference', 'bbox': [101, 150, 574, 1422], 'img_idx': 10, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'reference', 'bbox': [619, 151, 1091, 366], 'img_idx': 10, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'title', 'bbox': [99, 147, 268, 165], 'img_idx': 11, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [98, 187, 573, 297], 'img_idx': 11, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'title', 'bbox': [99, 327, 571, 375], 'img_idx': 11, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [98, 398, 573, 912], 'img_idx': 11, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'title', 'bbox': [100, 939, 214, 958], 'img_idx': 11, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [100, 976, 571, 1017], 'img_idx': 11, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'title', 'bbox': [100, 1037, 380, 1054], 'img_idx': 11, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [99, 1076, 574, 1331], 'img_idx': 11, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'reference', 'bbox': [101, 1352, 416, 1426], 'img_idx': 11, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'figure', 'bbox': [611, 143, 1091, 419], 'img_idx': 11, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'figure_caption', 'bbox': [683, 435, 1023, 453], 'img_idx': 11, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'text', 'bbox': [616, 502, 1087, 542], 'img_idx': 11, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'figure', 'bbox': [93, 250, 1113, 863], 'img_idx': 12, 'layout': 'single'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'figure_caption', 'bbox': [376, 868, 813, 885], 'img_idx': 12, 'layout': 'double'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'table', 'bbox': [178, 1121, 1005, 1256], 'img_idx': 12, 'layout': 'single'}
[2024/08/23 02:47:43] ppocr INFO: {'type': 'reference', 'bbox': [162, 1265, 1059, 1307], 'img_idx': 12, 'layout': 'single'}
[2024/08/23 02:47:43] ppocr INFO: result save to ./output
BG888 commented 3 months ago

输出的是unicode编码的字符串,不是乱码。

感谢!就是Unicode编码。但是是否可以生成中文呢?如果这样的话需要在每个txt文件里摘取,转换为中文并做拼接。目前用的paddleocr2.8.1,是否之前的某个版本可以生成中文?