PHP QR码扫描PDF文件

时间:2016-03-24 14:34:44

标签: php pdf qr-code

我有一个带有QR码的PDF文件。在名为" tmp"的服务器文件夹上载入文件。现在我需要通过PHP扫描并转换这个QR。

我找到了这个库:

include_once('lib/QrReader.php');
$qrcode = new QrReader('/var/tmp/qrsample.png');

$text = $qrcode->text(); //return decoded text from QR Code
print $text;

但这仅适用于png / jpeg文件。 有没有办法扫描PDF?有没有办法只在我需要的时候将PDF转换为png?

谢谢!

3 个答案:

答案 0 :(得分:1)

首先,使用Imagick将PDF转换为图像,然后使用your library从中解码QRcode:

include_once('lib/QrReader.php');
//the PDF file
$pdf = 'mypdf.pdf';
//retrieve the first page of the PDF as image
$image = new imagick($pdf.'[0]');
//pass it to the QRreader library
$qrcode = new QrReader($image, QrReader::SOURCE_TYPE_BLOB);

$text = $qrcode->text(); //return decoded text from QR Code
print $text;
//clear the resources used by Imagick
$image->clear();

答案 1 :(得分:0)

您可能希望将PDF转换为支持的图像类型,或者查找支持PDF的QR码阅读库。 IMO的第一个选择更容易。快速搜索引导我http://www.phpgang.com/how-to-convert-pdf-to-jpeg-in-php_498.html获取PDF格式 - > img转换器。

答案 2 :(得分:0)

据推测,QR码作为图像嵌入PDF中。您可以使用pdfimages等命令行工具首先提取图像,然后在提取的图像上运行QRReader库。如果PDF中有多个图像,您可能需要一些试验和错误来确定哪个图像是QR码。

有关详细信息,请参阅extract images from PDF with PHP