我有一个带有二维码的PDF文件。我上传的文件在服务器文件夹中命名为"tmp“,现在我需要扫描和转换这个二维码通过PHP。
我找到了这个库:
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?
谢谢!
发布于 2016-03-24 23:31:09
首先,使用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_RESOURCE);
$text = $qrcode->text(); //return decoded text from QR Code
print $text;
//clear the resources used by Imagick
$image->clear();发布于 2016-03-24 22:53:51
您可能希望将PDF转换为支持的图像类型,或者查找支持PDF的二维码读取库。IMO第一个选项更简单。通过快速搜索,我找到了一个PDF -> img转换器的http://www.phpgang.com/how-to-convert-pdf-to-jpeg-in-php_498.html。
发布于 2016-03-25 01:03:43
二维码大概是作为图像嵌入到PDF中的。您可以使用命令行工具(如pdfimages )首先提取图像,然后在提取的图像上运行QRReader库。如果PDF中有多个图像,您可能需要进行一些试验才能确定哪个图像是二维码。
有关更多详细信息,请参阅extract images from PDF with PHP。
https://stackoverflow.com/questions/36202745
复制相似问题