2013-07-24 98 views
2

我有一个包含一些链接的pdf。链接不会像http://www.example.com/abcd.pdf。但有一些链接到某个网址的文字。我只是想提取该网址。我怎样才能从PDF阅读超链接使用PHP?

+1

您是否能够从PDF文件中获取文本?如果没有,看看这个:http://stackoverflow.com/questions/1882318/search-through-pdf-files-with-php。之后,您可以使用REGEX在文本中搜索URL(例如)。 – Pieter

+0

我试着用其他pdf阅读器。我正在获取文本,但与文本关联的链接(url)没有得到。 – SHIN

+0

你想获得链接? 'preg_match_all'什么的?发布您的代码.. – Pieter

回答

0

没有必要像我最初一样单独去pdf阅读选项。我们可以通过fopen()方法或file_get_contents()方法简单地阅读pdf文件。

$pdf_content = file_get_contents($actual_pdf_file, true); 
    preg_match_all('/URI\(([^,]*?)\)\/S\/URI/', $pdf_content, $matches); 

我按照我的要求编写了这个preg_match_all函数。每个链接都会有URI。

现在我们将得到如果在$匹配数组中的任何URL。我的情况这个URL是一个PDF下载链接。从链接下载PDF的代码如下...

foreach($matches[1] as $pdfurl) 
    {  
    $CurlConnect = curl_init(); 
    curl_setopt($CurlConnect, CURLOPT_URL, $pdfurl); 
    curl_setopt($CurlConnect, CURLOPT_POST, 1); 
    curl_setopt($CurlConnect, CURLOPT_RETURNTRANSFER, 1); 
    @curl_setopt($CurlConnect, CURLOPT_POSTFIELDS, $request); 
    $Result = curl_exec($CurlConnect); 
    $new_down_pdf='new_pdf_name.pdf'; 
    file_put_contents($new_down_pdf,$Result); 
    }