@@ -17,7 +17,7 @@ from depdf import DePDF
17
17
from depdf import DePage
18
18
19
19
# general
20
- with DePDF.load(' test/test_general .pdf' ) as pdf
20
+ with DePDF.load(' test/test .pdf' ) as pdf
21
21
pdf_html = pdf.to_html
22
22
print (pdf_html)
23
23
@@ -27,7 +27,7 @@ c = Config(
27
27
verbose_flag = True ,
28
28
add_line_flag = True
29
29
)
30
- pdf = DePDF.load(' test/test_general .pdf' , config = c)
30
+ pdf = DePDF.load(' test/test .pdf' , config = c)
31
31
page_index = 23 # start from zero
32
32
page = pdf_file.pages[page_index]
33
33
page_soup = page.soup
@@ -62,12 +62,12 @@ print(page_soup.text)
62
62
| ` bbox ` | bounding box region |
63
63
| ` save_html ` | write html tag to local file|
64
64
65
- ## DePDf HTML structure
65
+ ## DePDF HTML structure
66
66
``` html
67
67
<div class =" {pdf_class}" >
68
68
%for <!-- page-{pid}-->
69
- <div id =" page-{}" class =" {}" >
70
- %for {html_elements } endfor%
69
+ <div id =" page-{pid }" class =" {page_class }" >
70
+ %for {in_page_elements } endfor%
71
71
</div >
72
72
endfor%
73
73
</div >
@@ -78,7 +78,7 @@ print(page_soup.text)
78
78
### Paragraph
79
79
``` html
80
80
<p >
81
- {paragraph -content}
81
+ {text -content}
82
82
<span > {span-content} </span >
83
83
...
84
84
</p >
@@ -93,7 +93,7 @@ print(page_soup.text)
93
93
...
94
94
</tr >
95
95
<tr colspan =2 >
96
- <td > {cell_1_0 } </td >
96
+ <td > {merged_cell_1_0 } </td >
97
97
...
98
98
</tr >
99
99
...
@@ -104,15 +104,119 @@ print(page_soup.text)
104
104
```
105
105
<img src="temp_depdf/$prefix.png"></img>
106
106
```
107
+
108
+ # Configuration encyclopedia
109
+
110
+ ## PDF 解析
111
+
112
+ | ** keyword** | detail | default |
113
+ | :---| ---| ---|
114
+ | logo_flag | 是否分析不同页面共有的水印信息 | ` True ` |
115
+ | header_footer_flag | 是否分析不同页面共有的页眉页脚信息 | ` True ` |
116
+ | temp_dir_prefix | 是否分析不同页面共有的页眉页脚信息 | temp_depdf |
117
+ | unique_prefix | 生成临时文件图片的文件名称(一般会自动生成) | |
118
+
119
+ ## 页面解析
120
+
121
+ | ** keyword** | detail | default |
122
+ | :---| ---| ---|
123
+ | table_flag | 是否解析表格 | ` True ` |
124
+ | paragraph_flag | 是否解析段落 | ` True ` |
125
+ | image_flag | 是否解析图片 | ` True ` |
126
+ | resolution | debug 模式下生成页面预览图的分辨率 | 300 |
127
+ | main_frame_tolerance | 识别页面内主要文字区域的阈值 | |
128
+ | x_tolerance | 识别页面内文本行的横向阈值 | |
129
+ | y_tolerance | 识别页面内文本行的纵向阈值 | |
130
+ | page_num_top_fraction | 识别页面内页码信息上边界距离和页面的高度比例 | |
131
+ | page_num_left_fraction | 识别页面内页码信息 | |
132
+ | page_num_right_fraction | 识别页面内页码信息 | |
133
+
134
+ ## 页面分栏识别
135
+
136
+ | ** keyword** | detail | default |
137
+ | :---| ---| ---|
138
+ | multiple_columns_flag | 是否识别多栏页面 | ` True ` |
139
+ | max_columns | 识别多栏页面栏数上限 | 3 |
140
+ | column_region_half_width | 识别多栏页面栏分界宽度 | |
141
+ | min_column_region_objects | 识别多栏页面栏分界内的对象数目上限 | |
142
+
143
+ ## 字符提取
144
+
145
+ | ** keyword** | detail | default |
146
+ | :---| ---| ---|
147
+ | char_overlap_size | 判断字符是否重叠的阈值 | |
148
+ | default_char_size | 默认的字符大小 | |
149
+ | char_size_upper | 探测到字符大小的上限 | |
150
+ | char_size_lower | 探测到字符大小的下限 | |
151
+
152
+ ## 表格提取
153
+
154
+ | ** keyword** | detail | default |
155
+ | :---| ---| ---|
156
+ | dotted_line_flag | 是否分析页面内的虚线 | |
157
+ | curved_line_flag | 是否分析页面内的曲线 | |
158
+ | snap_flag | 是否合并表格线段| |
159
+ | add_line_flag | 是否为表格增加横竖线 | |
160
+ | min_double_line_tolerance | 判断线段是否为临近双线的距离下限 | |
161
+ | max_double_line_tolerance | 判断线段是否为临近双线的距离上限 | |
162
+ | vertical_double_line_tolerance | 判断线段是否为垂直临近双线的距离上限 | |
163
+ | table_cell_merge_tolerance | 合并单元格的宽度差别容错值 | |
164
+ | skip_empty_table | 是否忽略空白表格 | |
165
+ | add_vertical_lines_flag | 是否增加竖线 | |
166
+ | add_horizontal_lines_flag | 是否增加横线 | |
167
+ | add_horizontal_line_tolerance | 增加横线的阈值 | |
168
+
169
+ ## 图片提取
170
+
171
+ | ** keyword** | detail | default |
172
+ | :---| ---| ---|
173
+ | min_image_size | 识别图片的边长最小像素值 | 80 |
174
+ | image_resolution | 提取图片的分辨率 | 300 |
175
+
176
+ ## 页眉页脚识别
177
+
178
+ | ** keyword** | detail | default |
179
+ | :---| ---| ---|
180
+ | default_head_tail_page_offset_percent | 页眉页脚的错位比例 | |
181
+
182
+ ## 日志输出
183
+
184
+ | ** keyword** | detail | default |
185
+ | :---| ---| ---|
186
+ | log_level | 日志的级别 | ` WARNING ` |
187
+ | verbose_flag | 是否输出运行中间过程信息 | ` False ` |
188
+ | debug_flag | 是否打开调试(生成解析对象的边界信息)| ` False ` |
189
+
190
+ ## 生成的网页标签
191
+
192
+ | ** keyword** | detail | default |
193
+ | :---| ---| ---|
194
+ | span_class | 生成 HTML 的 span 节点的 class | pdf-span |
195
+ | paragraph_class | 生成 HTML 的 p 节点的 class | pdf-paragraph |
196
+ | table_class | 生成 HTML 的 table 节点的 class | pdf-table |
197
+ | pdf_class | 生成 HTML 的最外层 pdf div 节点的 class | pdf-content |
198
+ | image_class | 生成 HTML 的 img 节点的 class | pdf-image |
199
+ | page_class | 生成 HTML 的 page div 的 class | pdf-page |
200
+ | mini_page_class | 生成 HTML 的 mini-page div 的 class | pdf-mini-page |
201
+
202
+
203
+ # Update log
204
+
205
+ * ` 2020-03-18 ` add support for multiple-column PDFs
206
+ * ` 2020-03-12 ` initial depdf realease
207
+
208
+
107
209
# Appendix
108
210
211
+ ## todo
212
+
213
+ * [x] add support for multiple-column pdf page
214
+ * [x] better table structure recognition
215
+ * [x] recognize embedded objects inside page elements
216
+
217
+
109
218
## DePage element denotations
110
219
> Useful element properties within page
111
220
112
221
![ page element] ( annotations.jpg )
113
222
114
- ## todo
115
-
116
- * [ ] add support for multiple-column pdf page
117
- * [ ] better table structure recognition
118
- * [x] recognize embedded objects inside page elements
0 commit comments