易捷 > PDF教程 > PDF开发/编程技术 >

PHP PDFlib 脚本将PDF转换成TXT文字

分享到:
发布时间:2013-05-15 14:06   浏览次数:

PDFlib TET允许您在PHP中操作PDF文档中的文本数据,下面的代码演示了在PHP4中利用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);
?>

 

相关文章推荐

易捷服务大全

在线PDF转换工具

Word

在线Word转PDF

http://wordtopdf.yjpdf.com
 
Excel

在线Excel转PDF

http://exceltopdf.yjpdf.com
 
PPT

在线PPT转PDF

http://ppttopdf.yjpdf.com

本类最新文章

本类本月热门

大家在关注…