Skip to content

Latest commit

 

History

History
90 lines (66 loc) · 2.93 KB

README_zh.md

File metadata and controls

90 lines (66 loc) · 2.93 KB

PDF Parser

简介

这是一个集成了多个pdf解析器的脚本工具,可以解析PDF的图片、结构信息、表格、引用等。开发进度详见最后的表格。

运行要求

使用此项目需要保证环境中有python3.6+,Java1.8+。如使用grobid后端,需要保证当前网络能够访问到Grobid的服务器。

安装

使用pip安装。

git clone https://github.com/Acemap/pdf_parser.git
cd pdf_parser
pip install -r requirements.txt
python setup install

使用方法

命令行用法

执行python脚本,参数参考下面例子。backend和type的取值见最后表格。

python -m pdf_parser --backend=grobid --type=text <pdf_file|directory> output_directory

接口API

Parser类,传入参数backend指定所使用的后端。

class pdf_parser.Parser(backend='grobid')

解析input_dir中所有pdf文件的结构信息,将结果存入output_dir。解析使用n_threads个线程并发,默认为0,代表使用所有cpu核心数

pdf_parser.Parser.parse('text', input_dir, output_dir, n_threads=0)

解析input_dir中所有pdf文件的图片信息,将结果存入output_dir。解析使用n_threads个线程并发,默认为0,代表使用所有cpu核心数

pdf_parser.Parser.parse('figure', input_dir, output_dir, n_threads=0)

代码示例:

from pdf_parser import Parser
parser = Parser('cermine')
parser.parse('text', '/path/to/xxx.pdf', '/path/to/output', 50)
parser.parse('figure', '/path/to/pdf_dir    ', '/path/to/output', 50)

目前进度

Backend↓ / Type→ text image reference
grobid × ×
cermine ×
scienceparse × ×
pdffigures × ×
pdffigures2 ×

各后端对平台、环境需求

Backend↓ / Requirements→ OS java Other
grobid All (Windows/Linux/Mac) Not Need No
cermine All (Windows/Linux/Mac) Need No
scienceparse All (Windows/Linux/Mac) Need No
pdffigures Linux/Mac Not Need leptonica & poppler (Ubuntu: sudo apt install libpoppler-private-dev libleptonica-dev)
pdffigures2 All (Windows/Linux/Mac) Need No

Citation

@misc{sciparser,
  author = {Cheng Deng, Yuting Jia, Shuhao Li},
  title = {pdf_parser: All in one PDF Parser Toolkits},
  year = {2023},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/Acemap/pdf_parser}},
}