/** * Create HTML template for ticket invitation * * @param Ticket $ticket * * @return string */ public function generateHTML(Ticket $ticket) { $twig = $this->templating; $url = $this->router->generate('event_ticket_check', array('ticket' => $ticket->getId(), 'hash' => $ticket->getHash()), true); $this->qrCode->setText($url); $this->qrCode->setSize(105); $this->qrCode->setPadding(0); $qrCodeBase64 = base64_encode($this->qrCode->get()); $templateContent = $twig->loadTemplate('StfalconEventBundle:Ticket:show_pdf.html.twig'); $body = $templateContent->render(array('ticket' => $ticket, 'qrCodeBase64' => $qrCodeBase64, 'path' => realpath($this->kernel->getRootDir() . '/../web') . '/')); return $body; }
/** * Create the message body. * * @param QrCode $qrCode * @return StreamInterface */ private function createBody(QrCode $qrCode) { $body = new Stream('php://temp', 'wb+'); $body->write($qrCode->get()); $body->rewind(); return $body; }
public function getQr(Request $req) { $qrCode = new QrCode(); $qrCode->setText("http://10.0.20.55:8001/index/wel#/sys/activities/one")->setSize(300)->setPadding(10)->setErrorCorrection('high')->setForegroundColor(array('r' => 0, 'g' => 0, 'b' => 0, 'a' => 0))->setBackgroundColor(array('r' => 255, 'g' => 255, 'b' => 255, 'a' => 0)); $response = new Response($qrCode->get(), 200); $response->header('content-type', 'image/png'); return $response; }
public function testGetQrCodeWithParams() { $params = new Params(); $routeParams = array('extension' => 'png', 'size' => 123, 'message' => 'this is a long message', 'padding' => 10); $params->setController(new ControllerMock($routeParams)); $qrCode = new QrCode($routeParams['message']); $qrCode->setImageType($routeParams['extension']); $qrCode->setSize($routeParams['size']); $qrCode->setPadding($routeParams['padding']); $this->assertEquals($qrCode->get(), $this->qrCodeService->getQrCodeContent($params)); }
protected function generateQrcode($url) { $router = $this->get('router')->getRouteCollection()->get('endroid_qrcode'); if ($defaults = $router->getDefaults()) { return $this->forward($defaults['_controller'], array('text' => $url, 'extension' => 'png')); } $qrCode = new QrCode(); $qrCode->setText($url)->setSize(240)->setPadding(20); $content = $qrCode->get('png'); return new Response($content, 200, array('Content-Type' => 'image/png')); }
public function qrcodeAction(Request $request) { $text = $request->get('text'); $qrCode = new QrCode(); $qrCode->setText($text); $qrCode->setSize(250); $qrCode->setPadding(10); $img = $qrCode->get('png'); $headers = array('Content-Type' => 'image/png', 'Content-Disposition' => 'inline; filename="qrcode.png"'); return new Response($img, 200, $headers); }
public function downloadQrcodeAction(Request $request) { $url = $this->generateUrl('mobile_download', array('from' => 'qrcode'), true); $qrCode = new QrCode(); $qrCode->setText($url); $qrCode->setSize(150); $qrCode->setPadding(10); $img = $qrCode->get('png'); $headers = array('Content-Type' => 'image/png', 'Content-Disposition' => 'inline; filename="image.png"'); return new Response($img, 200, $headers); }
/** * Get QR Code Image * * @param string $name * @param string $secret * @param int $size * * @return Response */ public function getQrCode($name, $secret, $size = 400, $issuer = null) { $text = "otpauth://totp/{$name}?secret={$secret}"; if ($issuer) { $text .= "&issuer={$issuer}"; } $extension = "png"; $qrCode = new QrCode(); $qrCode->setSize($size); $qrCode->setText($text); return $qrCode->get($extension); }
/** * 生成支付二维码 * @return Response */ public function qrcodeAction(Request $request, $id) { $payManager = $this->get('glory_pay.pay_manager'); $order = $payManager->getOrder($id); $payment = $this->getPayment(); $result = $payment->prepare(new Order(['body' => $order->getBody(), 'detail' => $order->getDetail(), 'out_trade_no' => $id, 'total_fee' => floatval($order->getAmount()) * 100, 'trade_type' => 'NATIVE'])); if ($result->return_code == 'SUCCESS' && $result->result_code == 'SUCCESS') { $url = $result['code_url']; } else { } $qrCode = new QrCode(); $qrCode->setText($url)->setSize(240)->setPadding(20); $content = $qrCode->get('png'); return new Response($content, 200, array('Content-Type' => 'image/png')); }
public function indexAction(Request $request) { $user = $this->getCurrentUser(); if ($user->isLogin()) { $token = $this->createToken($user, $request); $url = $this->generateUrl('mapi_user_login_with_token', array('token' => $token), true); } else { $url = $this->generateUrl('mapi_user_login_with_site', array(), true); } $qrCode = new QrCode(); $qrCode->setText($url); $qrCode->setSize(215); $qrCode->setPadding(10); $img = $qrCode->get('png'); $headers = array('Content-Type' => 'image/png', 'Content-Disposition' => 'inline; filename="image.png"'); return new Response($img, 200, $headers); }
/** * Returns a QrCode content to be rendered or saved * If the first argument is a Params object, all the information will be tried to be fetched for it, * ignoring any other argument * @param string|Params $messageOrParams * @param string $extension * @param int $size * @param int $padding * @return mixed */ public function getQrCodeContent($messageOrParams, $extension = null, $size = null, $padding = null) { if ($messageOrParams instanceof Params) { $extension = $messageOrParams->fromRoute('extension', $this->options->getExtension()); $size = $messageOrParams->fromRoute('size', $this->options->getSize()); $padding = $messageOrParams->fromRoute('padding', $this->options->getPadding()); $messageOrParams = $messageOrParams->fromRoute('message'); } else { $extension = isset($extension) ? $extension : $this->options->getExtension(); $size = isset($size) ? $size : $this->options->getSize(); $padding = isset($padding) ? $padding : $this->options->getPadding(); } $qrCode = new QrCode($messageOrParams); $qrCode->setImageType($extension); $qrCode->setSize($size); $qrCode->setPadding($padding); return $qrCode->get(); }
/** * Add qr code * * @param string $text * @param array $options * @return PrintContent * @throws \Endroid\QrCode\Exceptions\DataDoesntExistsException * @throws \Endroid\QrCode\Exceptions\ImageFunctionFailedException * @throws \Endroid\QrCode\Exceptions\ImageFunctionUnknownException */ public function addQrCode($text, array $options = []) { $options = array_merge(['size' => null, 'padding' => null, 'logo' => null, 'logo_size' => null], $options); $qrCode = new QrCode(); $qrCode->setText($text); if (is_numeric($options['size'])) { $qrCode->setSize($options['size']); } if (is_numeric($options['padding'])) { $qrCode->setPadding($options['padding']); } if ($options['logo'] && file_exists($options['logo'])) { $qrCode->setLogo($options['logo']); if (is_numeric($options['logo_size'])) { $qrCode->setLogoSize($options['logo_size']); } } return $this->addPhoto($qrCode->get('jpg')); }
public static function createQRCode($file_path) { // get server info $protocol = isset($_SERVER['HTTPS']) && strcasecmp('off', $_SERVER['HTTPS']) !== 0; $hostname = $_SERVER['SERVER_NAME']; $port = $_SERVER['SERVER_PORT']; // Create folder $date = date('Ymd'); $upload_path = '/upload/qrcode/' . $date . '/'; $dir = public_path() . $upload_path; if (!file_exists($dir)) { mkdir($dir, 0777, true); } // QR Code $qrCode = new QrCode(); $qrCode->setText($protocol . $hostname . ':' . $port . $file_path); $image = $qrCode->get(); $fileName = md5(date('YmdHis')) . '.png'; // Save QR code to image $qrCode->render($dir . $fileName); // return $upload_path . $fileName; }
/** * For https://github.com/endroid/QrCode/issues/49. */ public function testRenderHttpAddress() { $qrCode = new QrCode(); $qrCode->setText('http://www.example.com/it/it/contact/qr/hit/id/1 ')->setExtension('png')->setSize(300)->setPadding(10)->setBackgroundColor(array('r' => 255, 'g' => 255, 'b' => 255, 'a' => 0))->setForegroundColor(array('r' => 0, 'g' => 0, 'b' => 0, 'a' => 0))->setErrorCorrection(QrCode::LEVEL_MEDIUM); $qrCode->get('png'); }
public function generateQRCode() { $qrCode = new QrCode(); $qrCode->setText($this->getOTPUrl()); $qrCode->setSize(175); $qrCode->setPadding(10); $data = $qrCode->get(QrCode::IMAGE_TYPE_GIF); $data = base64_encode($data); return sprintf('data:image/gif;base64,%s', $data); }
/** * Save QRCode image and returns path to file * @param string $seq * @return string */ private function imgQR($seq) { $qrCode = new QrCode(); $qrCode->setText($seq)->setSize(200)->setPadding(10)->setErrorCorrection('low')->setForegroundColor(array('r' => 0, 'g' => 0, 'b' => 0, 'a' => 0))->setBackgroundColor(array('r' => 255, 'g' => 255, 'b' => 255, 'a' => 0))->setLabel('')->setLabelFontSize(16); $img = $qrCode->get(); $filename = PATH_ROOT . '../images/' . date('YmdHis') . '.jpg'; file_put_contents($filename, $img); return $filename; }
protected function makeQRCode($chNFe, $url, $tpAmb, $cDest = '', $dhEmi = '', $vNF = '', $vICMS = '', $digVal = '', $idToken = '000001', $token = '') { $nVersao = '100'; //versão do QRCode $dhHex = self::str2Hex($dhEmi); $digHex = self::str2Hex($digVal); $seq = ''; $seq .= 'chNFe=' . $chNFe; $seq .= '&nVersao=' . $nVersao; $seq .= '&tpAmb=' . $tpAmb; if ($cDest != '') { $seq .= '&cDest=' . $cDest; } $seq .= '&dhEmi=' . strtoupper($dhHex); $seq .= '&vNF=' . $vNF; $seq .= '&vICMS=' . $vICMS; $seq .= '&digVal=' . strtoupper($digHex); $seq .= '&cIdToken=' . $idToken; //o hash code é calculado com o Token incluso $hash = sha1($seq . $token); $seq .= '&cHashQRCode=' . $hash; if (strpos($url, '?') === false) { $seq = $url . '?' . $seq; } else { $seq = $url . '&' . $seq; } $qrCode = new QrCode(); $qrCode->setText($seq)->setSize(200)->setPadding(10)->setErrorCorrection('low')->setForegroundColor(array('r' => 0, 'g' => 0, 'b' => 0, 'a' => 0))->setBackgroundColor(array('r' => 255, 'g' => 255, 'b' => 255, 'a' => 0))->setLabel('')->setLabelFontSize(16); $img = $qrCode->get(); $filename = $chNFe . date('YmdHis') . '.jpg'; file_put_contents($filename, $img); return $filename; }
/** * Save QRCode image and returns path to file * @param string $seq * @return string */ private function imgQR($seq, $dimensao = 165) { $dimensao = $dimensao < 100 ? 100 : $dimensao; //Dimensão mínima para leitura 100px = 26.4mm $dimensao = $dimensao > 230 ? 230 : $dimensao; //Dimensão máxima para layout 230px = 60.8mm $quietZone = $dimensao <= 100 ? 12 : $dimensao * 0.1; // Acima de 25mm quiet zone de 10% $qrCode = new QrCode(); $qrCode->setText($seq)->setSize($dimensao)->setPadding($quietZone)->setErrorCorrection('low')->setForegroundColor(array('r' => 0, 'g' => 0, 'b' => 0, 'a' => 0))->setBackgroundColor(array('r' => 255, 'g' => 255, 'b' => 255, 'a' => 0))->setLabel('')->setLabelFontSize(16); $img = $qrCode->get(); //Retorno src em Base64 para melhor utilização em ambos os formatos (PDF/HTML) //evita falhas de endereço da imagem e reduz o I/O no disco porém //aumenta o uso de memoria do servidor... $src = "data: image/png;base64," . base64_encode($img); return $src; //$filename = PATH_ROOT.'../images/'.date('YmdHis').'.jpg'; //file_put_contents($filename, $img); //return $filename; }
/** * Generate the QrCode * * @param $uri * @param $size * @param $binary * * @return mixed * @throws \Endroid\QrCode\Exceptions\ImageFunctionUnknownException */ protected function generateQrCode($uri, $size, $binary) { $qrCode = new QrCode(); $qrCode->setText($uri); $qrCode->setSize($size); $qrCode->setPadding(0); return $binary ? $qrCode->get() : $qrCode->getDataUri(); }