原創|其它|編輯:郝浩|2012-10-18 13:55:18.000|閱讀 888 次
概述:本文介紹了如何在PHP中使用PDFlib TET提取PDF中的文本。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
本文介紹了如何在PHP中使用PDFlib TET提取PDF中的文本:
<?php /* 全局參數表*/ $globaloptlist = "searchpath=../../../resource/cmap"; /* 文檔參數表 */ $docoptlist = ""; /* 頁面參數表 */ $pageoptlist = "granularity=page"; $infile = $_GET['infile']; /* 將提取出的文本以UTF-8 編碼傳送的瀏覽器 */ header("Content-type: text/html; charset=UTF-8"); print("<pre>"); $tet = TET_new(); if ($infile == "") { die("<i>usage:</i> add ?infile=filename.pdf to the URL/n"); } TET_set_option($tet, $globaloptlist); $doc = TET_open_document($tet, $infile, $docoptlist); if ($doc == -1) { die("Error ". TET_get_errnum($tet) . " in " . TET_get_apiname($tet) . "(): " . TET_get_errmsg($tet) . "/n"); } /* 獲取文檔的頁數*/ $n_pages = TET_pcos_get_number($tet, $doc, "length:pages"); for ($pageno = 1; $pageno <= $n_pages; ++$pageno) /* 逐頁循環*/ { $page = TET_open_page($tet, $doc, $pageno, $pageoptlist); if ($page == -1) { print("Error " . TET_get_errnum($tet) . "in " . TET_get_apiname($tet) . "() on page " . $pageno . ": " . TET_get_errmsg($tet) . "/n"); continue; } /* 提取所有的文本段 */ while (($text = TET_get_text($tet, $page)) != "") { /* 遍歷所有字符*/ while (($ci = TET_get_char_info($tet, $page))) { /* 提取字體名稱;字符位置可以通過ci->x和ci->y取得*/ $fontname = TET_pcos_get_string($tet, $doc,"fonts[" . $ci->fontid . "]/name"); } print($text); } if (TET_get_errnum($tet) != 0) { print("Error " . TET_get_errnum($tet) . " in " . TET_get_apiname($tet) . " on page " . $pageno . ": " . TET_get_errmsg($tet) . "/n"); } TET_close_page($tet, $page); print("/n<p>"); /* add a delimiter between each zone */ } print("</pre>"); TET_close_document($tet, $doc); TET_delete($tet); ?>
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:Lyd518de專欄——CSDN