2013-02-08 122 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