使用Linux -poppler-utils-pdftohtml从pdf生成带有图像的html

时间:2013-04-28 19:30:58

标签: html linux pdf pdf-to-html

目前我正在使用CentOS,poppler-utils下的pdftohtml。概念很简单 - 用户上传PDF文件并查看该文件的HTML版本。我使用简单的命令 -

$> pdftohtml source.pdf target.html 

但它不起作用!稍后,我尝试使用没有框架的复杂开关创建html:

$> pdftohtml -c - noframes source.pdf target.html 

仍然没有运气!问题是 - pdf文件的图像(图像在该pdf文件中)不能出现在html中,有时图像会重叠!有什么想法吗?

这是PHP代码 -

Add.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link href="css/style.css" rel="stylesheet" type="text/css"/>
<title>CompleteView</title>
</head>
<body>
 <form method="post" action="save.php" enctype="multipart/form-data">
       <input type="hidden" name="action" value="add">
        <tr class="dark_bgcolor text-content">
         <td align="left" width="20%">Upload</td>
         <td align="left" width="1%">:</td>
         <td align="left">
         <input type="file" name="img_full" class="look" size="50"> 
         (Only .pdf)
         </td>
       </tr>

       <tr class="bottom_bgcolor">
         <td align="center" colspan="3"><input type="submit" name="" value="Upload" class="look"></td>
       </tr>
       </form>
</body>
</html>

Save.php

<?php
$myNewFolderPath=rand();
mkdir($myNewFolderPath);
$fname="full_".uniqid("");
$filename=$fname.'.pdf';
//$uploadpath=SPL_IMG_UPLOADPATH.$filename;
move_uploaded_file($_FILES['img_full']['tmp_name'], $myNewFolderPath.'/'.$filename);
chmod($myNewFolderPath.'/'.$filename, 0777);
echo ('/usr/local/bin/pdftohtml '.$myNewFolderPath.'/'.$filename);
exec('/usr/local/bin/pdftohtml -c -noframes'.$myNewFolderPath.'/'.$filename);
header('Location:'.$fname.'.html');
//exec('/usr/local/bin/pdftohtml 2098602105/EssentialC.pdf');
?>

还有一件事 - pdftohtml版本是-0.36

这是截图 -

enter image description here

结果 - enter image description here

1 个答案:

答案 0 :(得分:0)

$ pdftohtml -c source.pdf target.html 

这将以复杂模式输出。您不能将-noframe用于复杂标记。

$ man pdftohtml

 -noframes   generate no frames. Not supported in complex output mode.