php提取pdf表格数据 php读取pdf文件内容( 二 )


PDF_closepath_fill_stroke: 形成封闭的向量形状沿向量绘线并填满 。
PDF_endpath: 关闭目前向量 。
PDF_clip: 组合所有向量 。
PDF_setgray_fill: 指定填入的颜色为灰阶 。
PDF_setgray_stroke: 指定绘图的颜色为灰阶 。
PDF_setgray: 指定绘图的颜色为灰阶并填入 。
PDF_setrgbcolor_fill: 指定填入的颜色为彩色 。
PDF_setrgbcolor_stroke: 指定绘图的颜色为彩色 。
PDF_setrgbcolor: 指定绘图的颜色为彩色并填入 。
PDF_add_outline: 目前页面加入书签 。
PDF_set_transition: 配置页的转换 。
PDF_set_duration: 配置二页的切换时间 。
PDF_open_gif: 打开 GIF 图档 。
PDF_open_memory_image: 打开内存图档 。
PDF_open_jpeg: 打开 JPEG 图档 。
PDF_close_image: 关闭图档 。
PDF_place_image: 放置图片到 PDF 档指定位置 。
PDF_put_image: 放置图片到 PDF 档 。
PDF_execute_image: 放置 PDF 档中图片到指定位置 。
PDF_add_annotation: 加入注释 。
我想用PHP读取PDF文件的内容,尤其是现在很多的扫描后转为PDF的文件,请问怎么读?你可以从网上找一些为PHP语言编写的 pdf 扩展库,数量不少,比如:
PHP的PDF解析库 PdfParser
PdfParser 是一个标准的 PHP 库提供个用于从 PDF 文件中抽取数据的工具 。它加载 PDF 文件并解析文件中对象、头和元数据,可抽取其中的文本信息 , 支持压缩的 PDF、MAC OS 罗马字符集编码、8进制和16进制编码 。兼容 PSR-0 和 PSR-1 。
示例代码:
$document = \Smalot\PdfParser\Document::parseFile('document.pdf');
$pages= $document-getPages();
$text= $pages[1]-getText();
PHP官方里也有一个对PDF支持的库 : PDFlib,你可以根据自己的需要和喜好来使用 。
提取PDF表格?方法很简单!我们在工作中经常能碰到表格存储在pdf文档里的情况,要编辑文档就需要将表格提取出来,通过tabula软件提取表格然后使用openrefine来将表格整理成原来的结构是很好的方法,小伙伴们学起来吧,再也不用为碰到pdf表格发愁啦 。
1.在tabula中打开 2-China_Factsheet_compressed.pdf文件 。
2.框选site information 中的表格
3.点击 preview and export extract data 按钮
4.导出.csv 文件
5.在openrefine中打开 tabula-2-China_Factsheet_compressed (2)文件
6.编码选择 utf-8,Parse next 3 line(s) as column headers 将前三行组合作为列名,并创建项目
7.分析 city列 如chongqing有两个观测站的数据,但chongqing字段在两个观测值中间,无法使用edit cells - fill down 命令 。
观察数据在维度列(longitude)每个城市的所有观察值的维度相同,产生想法,根据维度列 新建一个城市列 提取数值,然后根据数值应用facet-text facet 批量更改城市名称 。
8.点击longitude列,选择edit column - add columns based on this column,输入正则表达式 value.match(/(\d+)o\d*’E/)[0],新建列名字是city_new 。
9.点击edit column- move column to beginning 将city_new列移到最前面,删除原来的city列
10.选择 city_new列 facet - text facet 在左边选择blank 3
[图片上传失败...(image-f6e176-1605105762721)]\14.JPG)
11.选择 all列 edit rows - remove matching rows
12.选择 city_new列 facet - text facet 在左边点edit将longitude值批量修改为城市名称
13.选经度、维度列 editcells -transform 正则表达式处理value.replace("o",".").replace('’N','').toNumber()
value.replace("o",".").replace('’E','').toNumber()
14.选择Altitude列 , edit cells - transform 正则 value.toNumber(),修改观察值类型 。
\PDF table extract(tabula+openrefine)\25.JPG)
15.选择export - comma-seprated value 保持csv文件

推荐阅读