get() public method

Create QR Code and return its content.
public get ( string | null $format = null ) : string
$format string | null Image type (gif, png, wbmp, jpeg)
return string
Example #1
0
 /**
  * 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;
 }
Example #2
0
 /**
  * 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;
 }
Example #3
0
 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'));
 }
Example #6
0
 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);
 }
Example #7
0
 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'));
 }
Example #10
0
 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);
 }
Example #11
0
 /**
  * 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();
 }
Example #12
0
 /**
  * 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'));
 }
Example #13
0
 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;
 }
Example #14
0
 /**
  * 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);
 }
Example #16
0
 /**
  * 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;
 }
Example #17
0
 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;
 }
Example #18
0
 /**
  * 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;
 }
Example #19
0
 /**
  * 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();
 }