1首先下一個phpexcel
為廣昌等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及廣昌網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為做網(wǎng)站、成都網(wǎng)站設(shè)計、廣昌網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
2下載完成的是一個壓縮文件,解壓放到你的項目目錄里
3.下面進(jìn)入代碼;
4.
//引入PHPExcel庫文件(路徑根據(jù)自己情況)
include './phpexcel/Classes/PHPExcel.php';
//創(chuàng)建對象
$excel = new PHPExcel();
//Excel表格式,這里簡略寫了8列
$letter = array('A','B','C','D','E','F','F','G');
//表頭數(shù)組
$tableheader = array('學(xué)號','姓名','性別','年齡','班級');
//填充表頭信息
for($i = 0;$i count($tableheader);$i++) {
$excel-getActiveSheet()-setCellValue("$letter[$i]1","$tableheader[$i]");
}
5.
//表格數(shù)組
$data = array(
array('1','小王','男','20','100'),
array('2','小李','男','20','101'),
array('3','小張','女','20','102'),
array('4','小趙','女','20','103')
);
//填充表格信息
for ($i = 2;$i = count($data) + 1;$i++) {
$j = 0;
foreach ($data[$i - 2] as $key=$value) {
$excel-getActiveSheet()-setCellValue("$letter[$j]$i","$value");
$j++;
}
}
6.
//創(chuàng)建Excel輸入對象
$write = new PHPExcel_Writer_Excel5($excel);
header("Pragma: public");
header("Expires: 0");
header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
header("Content-Type:application/force-download");
header("Content-Type:application/vnd.ms-execl");
header("Content-Type:application/octet-stream");
header("Content-Type:application/download");;
header('Content-Disposition:attachment;filename="testdata.xls"');
header("Content-Transfer-Encoding:binary");
$write-save('php://output');
7.打開頁面,刷新的時候會彈出對話框,讓你選擇文件保存路徑和文件名稱,
8.打開表格后,數(shù)據(jù)和格式跟代碼中的一致,說明PHP導(dǎo)出的Excel是正確的。如果出現(xiàn)錯誤,檢查一下你的表格數(shù)組和數(shù)據(jù)數(shù)組吧。
I 先來取模操作,實(shí)現(xiàn)步驟:
1.定位圖片需要識別區(qū)域,從圖片中取出此部分
2.將此部分的字模提取出來,記錄到字模文件中,供以后匹配使用(為了得到完整的字模,所以需要多張圖片進(jìn)行測試)
II進(jìn)行圖片文字提取,實(shí)現(xiàn)步驟:
1.定位圖片需要識別區(qū)域,從圖片中取出此部分
2.將此部分的字模提取出來,與已經(jīng)保存好的字模文件中數(shù)據(jù)對比,找出此字模對應(yīng)的數(shù)據(jù)即可
我們在工作中經(jīng)常能碰到表格存儲在pdf文檔里的情況,要編輯文檔就需要將表格提取出來,通過tabula軟件提取表格然后使用openrefine來將表格整理成原來的結(jié)構(gòu)是很好的方法,小伙伴們學(xué)起來吧,再也不用為碰到pdf表格發(fā)愁啦。
1.在tabula中打開 2-China_Factsheet_compressed.pdf文件。
2.框選site information 中的表格
3.點(diǎn)擊 preview and export extract data 按鈕
4.導(dǎo)出.csv 文件
5.在openrefine中打開 tabula-2-China_Factsheet_compressed (2)文件
6.編碼選擇 utf-8,Parse next 3 line(s) as column headers 將前三行組合作為列名,并創(chuàng)建項目
7.分析 city列 如chongqing有兩個觀測站的數(shù)據(jù),但chongqing字段在兩個觀測值中間,無法使用edit cells - fill down 命令。
觀察數(shù)據(jù)在維度列(longitude)每個城市的所有觀察值的維度相同,產(chǎn)生想法,根據(jù)維度列 新建一個城市列 提取數(shù)值,然后根據(jù)數(shù)值應(yīng)用facet-text facet 批量更改城市名稱。
8.點(diǎn)擊longitude列,選擇edit column - add columns based on this column,輸入正則表達(dá)式 value.match(/(\d+)o\d*’E/)[0],新建列名字是city_new。
9.點(diǎn)擊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 在左邊點(diǎn)edit將longitude值批量修改為城市名稱
13.選經(jīng)度、維度列 editcells -transform 正則表達(dá)式處理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文件
你可以從網(wǎng)上找一些為PHP語言編寫的 pdf 擴(kuò)展庫,數(shù)量不少,比如:
PHP的PDF解析庫 PdfParser
PdfParser 是一個標(biāo)準(zhǔn)的 PHP 庫提供個用于從 PDF 文件中抽取數(shù)據(jù)的工具。它加載 PDF 文件并解析文件中對象、頭和元數(shù)據(jù),可抽取其中的文本信息,支持壓縮的 PDF、MAC OS 羅馬字符集編碼、8進(jìn)制和16進(jìn)制編碼。兼容 PSR-0 和 PSR-1。
示例代碼:
$document?=?\Smalot\PdfParser\Document::parseFile('document.pdf');
$pages????=?$document-getPages();
$text?????=?$pages[1]-getText();
PHP官方里也有一個對PDF支持的庫 :?PDFlib, 你可以根據(jù)自己的需要和喜好來使用。
PHP程序pdf格式文件函數(shù)庫
本函數(shù)庫共有65個函數(shù)
PDF是Adobe所發(fā)展的可攜式文件格式,它的文件可以在網(wǎng)絡(luò)上傳輸、瀏覽,甚至使用印表機(jī)印出,或使用其它輸出裝置輸出,都可以保存原來的文字及圖片的編排。詳細(xì)的信息可以參考 Adobe 的網(wǎng)站。參考其中有關(guān) PDF 或 Acrobat 的部份。
在 UNIX 系統(tǒng)中,可以使用 Thomas Merz 開發(fā)的 PDF 函數(shù)庫。將它編譯安裝完成后,再編譯 PHP 程序方可供 PHP 使用 pdflib。編譯時可能要 JPEG library 及 TIFF library。
除了用這個函數(shù)庫可以建立 PDF 文件外,F(xiàn)astIO 公司發(fā)展的產(chǎn)品 ClibPDF 也可以處理 PDF 文件。
以下為處理 PDF 文件的范例,本例對 test.pdf 加工后等待用戶讀取。
?php
$fp = fopen("test.pdf", "w");
$pdf = PDF_open($fp);
pdf_set_info_author($pdf, "Uwe Steinmann");
PDF_set_info_title($pdf, "Test for PHP wrapper of PDFlib 2.0");
PDF_set_info_author($pdf, "Name of Author");
pdf_set_info_creator($pdf, "See Author");
pdf_set_info_subject($pdf, "Testing");
PDF_begin_page($pdf, 595, 842);
PDF_add_outline($pdf, "Page 1");
pdf_set_font($pdf, "Times-Roman", 30, 4);
pdf_set_text_rendering($pdf, 1);
PDF_show_xy($pdf, "Times Roman outlined", 50, 750);
pdf_moveto($pdf, 50, 740);
pdf_lineto($pdf, 330, 740);
pdf_stroke($pdf);
PDF_end_page($pdf);
PDF_close($pdf);
fclose($fp);
echo "A HREF=getpdf.php3finished/A";
?
上例中的 gettest.php3 可能像下面的樣子
?php
$fp = fopen("test.pdf", "r");
header("Content-type: application/pdf");
fpassthru($fp);
fclose($fp);
?
PDF_get_info: 返回文件信息。
PDF_set_info_creator: 配置建檔者字符串。
PDF_set_info_title: 配置文件標(biāo)題。
PDF_set_info_subject: 配置文件主題。
PDF_set_info_keywords: 配置文件的關(guān)鍵字。
PDF_set_info_author: 配置文件作者。
PDF_open: 建立新的 PDF 檔。
PDF_close: 關(guān)閉 PDF 檔。
PDF_begin_page: 啟始 PDF 文件頁面。
PDF_end_page: 關(guān)閉 PDF 文件頁面。
PDF_show: 輸出字符串到 PDF 文件。
PDF_show_xy: 輸出字符串到指定坐標(biāo)。
PDF_set_font: 配置使用的字型及大小。
PDF_set_leading: 配置行距。
PDF_set_text_rendering: 配置文字表現(xiàn)方式。
PDF_set_horiz_scaling: 配置文字水平間距。
PDF_set_text_rise: 配置文字高度。
PDF_set_text_matrix: 配置文字矩陣。
PDF_set_text_pos: 配置文字位置。
PDF_set_char_spacing: 配置字符間距。
PDF_set_word_spacing: 配置字間距。
PDF_continue_text: 輸出文字。
PDF_stringwidth: 計算字符串的寬度。
PDF_save: 儲存環(huán)境變量。
PDF_restore: 還原環(huán)境變量。
PDF_translate: 移動原點(diǎn)。
PDF_scale: 縮放類。
PDF_rotate: 旋轉(zhuǎn)類。
PDF_setflat: 配置平滑值。
PDF_setlinejoin: 配置連接參數(shù)。
PDF_setlinecap: 配置 linecap 參數(shù)。
PDF_setmiterlimit: 配置斜邊界限。
PDF_setlinewidth: 配置線寬。
PDF_setdash: 配置虛線樣式。
PDF_moveto: 配置處理的坐標(biāo)點(diǎn)。
PDF_curveto: 繪貝氏曲線。
PDF_lineto: 繪直線。
PDF_circle: 繪圓。
PDF_arc: 繪弧。
PDF_rect: 繪長方形。
PDF_closepath: 形成封閉的向量形狀。
PDF_stroke: 沿向量繪線。
PDF_closepath_stroke: 形成封閉的向量形狀并沿向量繪線。
PDF_fill: 填滿目前的向量。
PDF_fill_stroke: 填滿目前的向量并沿向量繪線。
PDF_closepath_fill_stroke: 形成封閉的向量形狀沿向量繪線并填滿。
PDF_endpath: 關(guān)閉目前向量。
PDF_clip: 組合所有向量。
PDF_setgray_fill: 指定填入的顏色為灰階。
PDF_setgray_stroke: 指定繪圖的顏色為灰階。
PDF_setgray: 指定繪圖的顏色為灰階并填入。
PDF_setrgbcolor_fill: 指定填入的顏色為彩色。
PDF_setrgbcolor_stroke: 指定繪圖的顏色為彩色。
PDF_setrgbcolor: 指定繪圖的顏色為彩色并填入。
PDF_add_outline: 目前頁面加入書簽。
PDF_set_transition: 配置頁的轉(zhuǎn)換。
PDF_set_duration: 配置二頁的切換時間。
PDF_open_gif: 打開 GIF 圖檔。
PDF_open_memory_image: 打開內(nèi)存圖檔。
PDF_open_jpeg: 打開 JPEG 圖檔。
PDF_close_image: 關(guān)閉圖檔。
PDF_place_image: 放置圖片到 PDF 檔指定位置。
PDF_put_image: 放置圖片到 PDF 檔。
PDF_execute_image: 放置 PDF 檔中圖片到指定位置。
PDF_add_annotation: 加入注釋。
新聞標(biāo)題:php提取pdf表格數(shù)據(jù) php讀取pdf數(shù)據(jù)
瀏覽地址:http://m.newbst.com/article30/dodhjso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、網(wǎng)站收錄、移動網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站排名、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)