【发布时间】:2020-02-15 14:13:36
【问题描述】:
我正在尝试使用 mpdf 生成 qrcode。但我无法以任何方式成功。我首先使用 jquery 创建了一个 qrcode,但它不允许 mpdf .. 后来我尝试使用二维码生成库创建二维码,但没有 我不能成功。
我的第一次尝试代码
use Mpdf\QrCode\QrCode;
use Mpdf\QrCode\Output;
$qrCode = new QrCode('Lorem ipsum sit dolor');
$output = new Output\Png();
// Save black on white PNG image 100px wide to filename.png
$output->output($qrCode, 100, [255, 255, 255], [0, 0, 0], 'filename.png');
错误
Fatal error: Uncaught Error: Class 'Mpdf\QrCode\QrCode' not found in E:\Xampp\htdocs\lab_allwork\certificate\certificate1\certificate.php:8 Stack trace: #0 {main} thrown in E:\Xampp\htdocs\lab_allwork\certificate\certificate1\certificate.php on line 8
我的第二次尝试代码
use Zxing\QrReader;
require __DIR__ . "/vendor/autoload.php";
$qrcode = new QrReader('test.png');
$text = $qrcode->text();
print($text);
错误
警告:file_get_contents(test.png):无法打开流:E:\Xampp\htdocs\mpdfqrcode\vendor\khanamiryan\qrcode-detector-decoder\lib\QrReader.php 中没有这样的文件或目录在第 34 行 警告:imagecreatefromstring():E:\Xampp\htdocs\mpdfqrcode\vendor\khanamiryan\qrcode-detector-decoder\lib\QrReader.php 中的空字符串或无效图像(第 35 行) 致命错误:未捕获的 InvalidArgumentException:图像源无效。在 E:\Xampp\htdocs\mpdfqrcode\vendor\khanamiryan\qrcode-detector-decoder\lib\QrReader.php:66 堆栈跟踪:#0 E:\Xampp\htdocs\mpdfqrcode\qrcode.php(4): Zxing\ QrReader->__construct('test.png') #1 {main} 在 E:\Xampp\htdocs\mpdfqrcode\vendor\khanamiryan\qrcode-detector-decoder\lib\QrReader.php 第 66 行抛出
我的第三次尝试代码
namespace Mpdf\QrCode\Output;
use Mpdf\QrCode\QrCode;
/**
* @group unit
*/
class HtmlTest extends \PHPUnit\Framework\TestCase
{
public function testOutput()
{
$code = new QrCode('LOREM IPSUM 2019');
$output = new Html();
$data = $output->output($code);
$filename = __DIR__ . '/../../reference/LOREM-IPSUM-2019-L.html';
file_put_contents($filename, $data);
$this->assertSame($data, file_get_contents($filename));
$code->disableBorder();
$data = $output->output($code);
$filename = __DIR__ . '/../../reference/LOREM-IPSUM-2019-L-noborder.html';
file_put_contents($filename, $data);
$this->assertSame($data, file_get_contents($filename));
$code = new QrCode('LOREM IPSUM 2019', QrCode::ERROR_CORRECTION_QUARTILE);
$data = $output->output($code);
$filename = __DIR__ . '/../../reference/LOREM-IPSUM-2019-Q.html';
file_put_contents($filename, $data);
$this->assertSame($data, file_get_contents($filename));
}
}
如果有人成功在 mpdf 中正确创建 qrcode 代码,或者如果 你知道正确的解决方案然后请告诉。
【问题讨论】:
-
需要通过composer安装mpdf