Advertisement
ryanrafli

Untitled

Oct 5th, 2021
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.59 KB | None | 0 0
  1. <?php
  2.  
  3. class Controller extends CI_Controller
  4. {
  5.  
  6. function __construct()
  7. {
  8. parent::__construct();
  9. }
  10.  
  11. function index()
  12. {
  13. $this->load->view('view');
  14. }
  15.  
  16. function generateQr()
  17. {
  18. $string = $this->input->post('string');
  19.  
  20. $this->load->library('ciqrcode'); // pemanggilan library
  21.  
  22. $config['cacheable'] = true; // boolean, defaultnya true
  23. $config['cachedir'] = './assets/'; //string, the default is application/cache/
  24. $config['errorlog'] = './assets/'; //string, the default is application/logs/
  25. $config['imagedir'] = './assets/images/'; // direktori penyimpanan qr code
  26. $config['quality'] = true; // boolean, defaultnya true
  27. $config['size'] = 1024; // integer, defaultnya 1024;
  28. $config['black'] = array(224, 255, 255); // array, defaultnya array(255, 255, 255)
  29. $config['white'] = array(70, 130, 180); // array, defaultnya array(0, 0, 0);
  30. $this->ciqrcode->initialize($config);
  31.  
  32. $image_name = $string.'.png'; // pembuatan nama qr code
  33.  
  34. $params['data'] = $string;
  35. $params['level'] = 'L';
  36. $params['size'] = 10;
  37. $params['savename'] = FCPATH.$config['imagedir'].$image_name;
  38. $qr = $this->ciqrcode->generate($params);
  39.  
  40. $this->print_receipt($image_name);
  41.  
  42. redirect('');
  43. }
  44.  
  45. function print_receipt($string)
  46. {
  47. // load library
  48. require(FCPATH.'/vendor/autoload.php');
  49.  
  50. // membuat connector printer ke shared printer bernama "printer_a" (yang telah disetting sebelumnya)
  51. /**
  52. * cara setting printer:
  53. * 1. masuk ke control panel -> devices and printers
  54. * 2. klik kanan printer, pilih "Set as Default Printer"
  55. * 3. klik kanan printer, pilih "Printer properties"
  56. * 4. pilih tab "Sharing"
  57. * 5. centang checkbox "Share this printer"
  58. * 6. isi nama di kolom "Share name". Share name ini akan digunakan sebagai parameter connector
  59. * 7. klik apply/OK
  60. * */
  61. $connector = new Mike42\Escpos\PrintConnectors\WindowsPrintConnector("printer_a");
  62.  
  63. // membuat objek $printer agar dapat di lakukan fungsinya
  64. $printer = new Mike42\Escpos\Printer($connector);
  65.  
  66. $printer->initialize();
  67. $printer->text("QR CODE");
  68. $printer->text("\n");
  69.  
  70. $printer->initialize();
  71. $tux = Mike42\Escpos\EscposImage::load(base_url().'assets/images/'.$string, false);
  72. $printer->bitImageColumnFormat($tux, Mike42\Escpos\Printer::IMG_DOUBLE_WIDTH || Mike42\Escpos\Printer::IMG_DOUBLE_HEIGHT);
  73. $printer->text("\n");
  74.  
  75. $printer->feed(2); // mencetak 2 baris kosong, agar kertas terangkat ke atas
  76. $printer->cut();
  77.  
  78. $printer->close();
  79. }
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement