2013-02-08 166 views
7

我希望能够通过PHP将PDF文件转换为HTML文件,但我遇到了一些麻烦。在PDF中将PDF转换为HTML?

我发现了一个基本的方法来使用Saaspose,它可以将PDF转换为HTML文件。然而,这存在一些问题,例如使用SVG,图像,定位,字体等。

我只需要从PHP文件和任何与其关联的图像中获取文本的能力,然后以线性格式显示它,而不是用绝对定位进行格式化。

我的意思是,如果PDF是这样的:

enter image description here

我想把它转换成单柱设计的HTML文件。如果有图像,我想让它们返回。

这是可能的PHP?我知道我可以简单地从PDF文件中抓取文本,但抓取图像又如何呢?

另一个问题是我希望一切都是内联的,因为它在单个文件中被提供给客户端。目前,我可以通过一些代码,使我的设置做到这一点:

for ($i = 0; $i < $object_number; $i++) { 
       $object = $html->find("object")->find("embed")->eq($i); 
       $embed = file_get_contents("Output/OutputHtml/" . $object->attr("src")); 
       array_push($converted_obj, $embed); 
       array_push($original_obj, $object); 
      } 

      for ($i = 0; $i < $object_number; $i++){ 
       pq($original_obj[$i])->replaceWith($converted_obj[$i]); 
      } 

这抓住所有SVG文件和内嵌显示它们。图像会更容易,因为我可以使用base64

回答

6

1)下载并解压缩。exe文件到文件夹:http://sourceforge.net/projects/pdftohtml/

2)创建一个PHP文件,并把这个代码(假设,该pdftohtml.exe是该文件夹的内部,与源极sample.pdf太):

<?php 
$source_pdf="sample.pdf"; 
$output_folder="MyFolder"; 

    if (!file_exists($output_folder)) { mkdir($output_folder, 0777, true);} 
$a= passthru("pdftohtml $source_pdf $output_folder/new_file_name",$b); 
var_dump($a); 
?> 

3)进入MyFolder中,你会看到转换的文件(取决于)的页面数..

PS我不知道,但也存在许多商业或试验apis。

+0

这对我很有帮助,并且非常感谢。但如何给这里的页面范围转换?我尝试添加** passthru(“pdftohtml $ source_pdf 3-5 $ output_folder/new_file_name”,$ b)**,但它不起作用。你能告诉吗? – Hydrogirl 2014-02-18 21:47:19

+1

也许它转换完整的PDF,你必须添加一个delte php命令(在脚本执行后),删除所有不需要的页面...不知怎的,像这样的概念: '$ unwanted_pa​​ges = array(5,6,7,8 ); foreach($ unwanted_pa​​ges as $ eachPageIndex){unlink('filename'。$ eachPageIndex);}' – 2014-03-07 09:58:32

+1

有指定页面的pdf脚本的参数:http://linux.die.net/man/1/pdftohtml $ a = passthru(“pdftohtml -f $ firstpage -l $ lastpage $ source_pdf $ output_folder/new_file_name”,$ b); 也检查编码选项 – mameluc 2015-06-10 07:53:58

2

你基本上想要做的是回流PDF文件。我不确定这是否存在,并且至多很难做到。

可以编写一些代码来执行您的特定文件所需的代码,但对于我认为不可能的一般情况,这样做是可行的。

我已经写在这里,解释为什么我相信回流PDF的文章是有缺陷的:http://www.planetpdf.com/enterprise/article.asp?ContentID=PDF_Reflow_in_Microsoft_Word_2012_Is_it_any_good

特别感兴趣的是开头的一段“让我们用报纸故事来说明这个问题。”

您可能想了解一下IDRsolutions(透明度,是我工作的地方!)必须提供的。

目前,我们正在把我们的PDF格式的HTML5和PDF转换软件在云计算的过程:http://www.idrsolutions.com/cloud-pdf-converter/

什么可能是一个更适合你的是JPedal的PDF文本提取和PDF图像提取功能。如果PDF到HTML5顺利进行,我们很可能会考虑将其纳入云端。

文本提取:http://www.idrsolutions.com/pdf-to-text-conversion/

图像提取:http://www.idrsolutions.com/extract-images-from-pdf/

+0

IDR的产品看起来很有趣,但许可证非常昂贵。不适合单个网站所需的小规模转换。 – squarecandy 2017-06-29 17:09:08