我有一个带有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?
谢谢!
答案 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。