public function printer() { $contents = $this->input->post('contents'); $handle = printer_open(DEFAULT_PRINTER); printer_write($handle, $contents); printer_close($handle); }
/** * print method * * @throws NotFoundException * @param string $id * @return void */ public function imprimir($id = null) { $this->autoRender = false; $this->layout = 'json'; $this->Cliente->id = $id; if (!$this->Cliente->exists()) { //Monta array de retorno Json $retorno = array('status' => false, 'mensagem' => 'Cliente informado não encontrado.', 'resposta' => ''); return json_encode($retorno); } $this->request->onlyAllow('post', 'delete'); $dadosCliente = $this->Cliente->read(null, $id); /* monta a string a imprimir */ $stringImprimir = "\n\n\n\n\n\n"; $stringImprimir .= "------------ PEDIDO (1a VIA) -------------\n"; $stringImprimir .= "Nome: {$dadosCliente['Cliente']['nome']} \n"; $stringImprimir .= "Apelido: {$dadosCliente['Cliente']['apelido']} \n"; $stringImprimir .= "Endereco: {$dadosCliente['Endereco'][0]['rua']}, {$dadosCliente['Endereco'][0]['numero']}, {$dadosCliente['Endereco'][0]['complemento']} \n"; $stringImprimir .= "Bairro: {$dadosCliente['Endereco'][0]['bairro']} \n"; $stringImprimir .= "Celular: {$dadosCliente['Cliente']['fone_celular']} \n"; $stringImprimir .= "Fixo: {$dadosCliente['Cliente']['fone_fixo']} \n"; $stringImprimir .= "Comercial: {$dadosCliente['Cliente']['fone_comercial']} \n"; $stringImprimir .= "Obs: {$dadosCliente['Endereco'][0]['observacao']} \n"; $stringImprimir .= "\n\n\n\n\n\n\n\n\n\n"; $stringImprimir .= "------------ PEDIDO (2a VIA) -------------\n"; $stringImprimir .= "Nome: {$dadosCliente['Cliente']['nome']} \n"; $stringImprimir .= "Apelido: {$dadosCliente['Cliente']['apelido']} \n"; $stringImprimir .= "Endereco: {$dadosCliente['Endereco'][0]['rua']}, {$dadosCliente['Endereco'][0]['numero']}, {$dadosCliente['Endereco'][0]['complemento']} \n"; $stringImprimir .= "Bairro: {$dadosCliente['Endereco'][0]['bairro']} \n"; $stringImprimir .= "Celular: {$dadosCliente['Cliente']['fone_celular']} \n"; $stringImprimir .= "Fixo: {$dadosCliente['Cliente']['fone_fixo']} \n"; $stringImprimir .= "Comercial: {$dadosCliente['Cliente']['fone_comercial']} \n"; $stringImprimir .= "Obs: {$dadosCliente['Endereco'][0]['observacao']} \n"; /* tratamento da string: remove a acentuação e coloca tudo em maiuscula */ $stringImprimir = preg_replace('/[`^~\'"]/', null, iconv('UTF-8', 'ASCII//TRANSLIT', $stringImprimir)); $stringImprimir = strtoupper($stringImprimir); /************************************************* IMPRIMIR DIRETO DO PHP *************************************************/ $handle = printer_open("Cozinha"); //tipo de impressora configurada no windows printer_write($handle, "{$stringImprimir}"); //imprimir as variáveis \n para nova linha printer_close($handle); //fechando a impressora utilizada $retorno = array('status' => true, 'mensagem' => 'Impressão solicitada, favor aguardar o término...', 'resposta' => ''); return json_encode($retorno); }
function imprimir($text) { /*$filename = "test.txt"; $mode = "w"; $handle = fopen($filename, $mode); fwrite($handle, $text); fclose($handle); */ $printer = "LX-300"; if ($ph = printer_open($printer)) { $content = $text; printer_set_option($ph, PRINTER_MODE, "RAW"); printer_write($ph, $content); printer_close($ph); } else { echo "Couldn't connect..."; } }
public function print_struck() { $id = $this->input->post('id'); $bayar = $this->input->post('bayar'); $discount = $this->input->post('disc'); $list = $this->ksr->get_order_payed($id); $struck = $this->ksr->get_struk($id); $disc = $struck->tagihan * $discount / 100; $tagihan = $struck->tagihan - $disc; // $tax = $tagihan/10; $total_tag = $tagihan; // + $tax; $kembalian = $bayar - $total_tag; $config = $this->config->item('astro'); $cnt = 32; $tmpdir = sys_get_temp_dir(); # ambil direktori temporary untuk simpan file. $file = tempnam($tmpdir, 'ctk'); # nama file temporary yang akan dicetak $handle = fopen($file, 'w'); $Data = align_center($cnt, $config['bas_branch_name']) . "\n"; $Data .= align_center($cnt, $config['bas_branch_address']) . "\n"; $Data .= align_center($cnt, $config['bas_branch_phone']) . "\n"; $Data .= cetak_garis($cnt) . "\n"; $Data .= align_center($cnt, "NOTA PEMBAYARAN") . "\n"; $Data .= "\n"; $Data .= align_left(28, "TANGGAL : " . tanggalIndo($struck->date)) . align_right($cnt - 28, "MEJA : " . $list[0]->meja) . "\n"; $Data .= align_left($cnt, "NO. NOTA : " . $struck->invoice) . "\n"; $Data .= cetak_garis($cnt) . "\n"; foreach ($list as $key => $value) { $Data .= $value->nama . "\n"; $Data .= "X " . align_left(3, $value->qty) . " " . align_left($cnt / 2 - 8, format_harga($value->harga)) . align_right($cnt / 2, format_harga($value->total)) . "\n"; } $Data .= cetak_garis($cnt) . "\n"; $Data .= align_left($cnt / 2, "TOTAL") . align_right($cnt / 2, format_harga($struck->tagihan)) . "\n"; $Data .= align_left($cnt / 2, "DISCOUNT(" . $discount . "%)") . align_right($cnt / 2, format_harga($disc)) . "\n"; $Data .= cetak_garis($cnt) . "\n"; $Data .= align_left($cnt / 2, "TAGIHAN") . align_right($cnt / 2, format_harga($total_tag)) . "\n"; if ($struck->cash == 1) { $Data .= align_left($cnt / 2, "BAYAR") . align_right($cnt / 2, format_harga($bayar)) . "\n"; $Data .= align_left($cnt / 2, "KEMBALIAN") . align_right($cnt / 2, format_harga($kembalian)) . "\n"; } elseif ($struck->cash == 0) { $Data .= align_center($cnt, "**Pembayaran dengan Kartu Debet**") . "\n"; $Data .= align_center($cnt, "Bank " . $struck->note); } else { $Data .= align_center($cnt, "COMPLIMENT"); } $Data .= cetak_garis($cnt) . "\n"; $Data .= align_center($cnt, "**Terima Kasih Atas Kunjungannya**") . "\n"; $this->ksr->delete_tmp_personal($id); // print_r($Data);exit(); $handle = printer_open('58 Printer'); printer_set_option($handle, PRINTER_MODE, "RAW"); printer_write($handle, $Data); printer_close($handle); autocutter('58 Printer'); }
$printTestText .= "KELAS : " . $kls . "\n\n"; $printTestText .= "========================================\n"; $printTestText .= str_pad($tgl_bayar, 20); $printTestText .= str_pad($bln, 3); $printTestText .= str_pad($jml, 10, " ", STR_PAD_LEFT) . "\n"; $printTestText .= "========================================\n"; $printTestText .= "\n"; $printTestText .= "\n"; $printTestText .= str_pad("--= TERIMA KASIH =--", 40, " ", STR_PAD_BOTH) . "\n"; $printTestText .= "\n"; //echo $printTestText; $handle = printer_open('PDFcreator'); //nama printer printer_set_option($handle, PRINTER_MODE, "TEXT"); //mode printer: RAW, TEXT printer_write($handle, $printTestText); printer_close($handle); //tutup jendela setelah cetak echo '<script>window.close();</script>'; } else { //cetak seluruh pembayaran sesuai NIS ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content=""> <meta name="author" content="">
function printfile($id, $fname) { $tmpfname = tempnam("", ""); // echo $tmpfname; $fout = fopen($tmpfname, "w"); fputs($fout, "***************************************************\r\n"); fputs($fout, "* USER: {$id}\r\n"); fputs($fout, "***************************************************\r\n"); fputs($fout, "\r\n"); $line = 0; $fp = fopen($fname, 'r'); while (!feof($fp)) { $buffer = fgets($fp, 1000); $line++; $printstr = sprintf("%3d: %s\r", $line, $buffer); fputs($fout, $printstr); } fclose($fp); fclose($fout); // $cmd = "print /d:" . PRINTERNAME . " $tmpfname"; // exec($cmd); $filename = $tmpfname; $handle = fopen($filename, "r"); $contents = fread($handle, filesize($filename)); fclose($handle); $handle = printer_open(PRINTERNAME); if ($handle == FALSE) { echo "Can't open printer<br/>"; } printer_set_option($handle, PRINTER_MODE, "raw"); //if(printer_write($handle, "Hello!")==FALSE) // echo "Print error<br/>"; printer_set_option($handle, PRINTER_PAPER_FORMAT, PRINTER_FORMAT_A4); printer_start_doc($handle, "source code"); if (printer_write($handle, $contents) == FALSE) { echo "Can't print<br/>"; } printer_end_doc($handle); /* printer_start_doc($handle,"Source Code"); printer_start_page($handle); printer_draw_text($handle,"Hello world",10,10); printer_end_page($handle); printer_end_doc($handle); */ //if(printer_write($handle, $contents)==FALSE) // echo "Can't print<br/>"; /* printer_start_doc($handle,"Source Code"); printer_start_page($handle); printer_draw_line($handle,10,10,1000,1000); printer_end_page($handle); printer_end_doc($handle); */ printer_close($handle); unlink($tmpfname); // echo $cmd; // exec($cmd); }
public function print_invoice() { // $id = $this->input->get('invoice'); // $data['hasil'] = $this->Mdl_selling->print_invoice($id); // echo $this->load->view($this->module.'/invoice',$data); $astro = $this->config->item('astro'); $param = $this->input->get(); $hasil = $this->mp->print_invoice($param); /* text */ $printTestText = " " . $astro['pot_name'] . " \n"; $printTestText .= " " . $astro['pot_city'] . " \n"; // $printTestText .= " TOKO BASMALAH CAB. WONOREJO \n"; $printTestText .= " " . $astro['pot_address'] . "/ " . $astro['pos_telp'] . " \n"; $printTestText .= "\n"; $printTestText .= "Inv. ID : " . $hasil[0]->invoice . "\n"; $printTestText .= "Date : " . date('d M Y H:i:s') . "\n"; $printTestText .= "Payment : " . $hasil[0]->status . "\n"; $printTestText .= "----------------------------------------\n"; $printTestText .= "Item Harga Jml Disc Subtotal\n"; $printTestText .= "----------------------------------------\n"; foreach ($hasil as $key => $value) { if ($value->racik == 'yes') { } else { $produk = explode(' ', $value->product_name); $nama_produk = ""; $a = 0; if (count($produk) > 2) { for ($i = 0; $i < count($produk) - 1; $i++) { if ($i == 0) { $nama_produk .= @$produk[$a] . " " . @$produk[$a + 1] . "\n"; } else { $nama_produk .= @$produk[$a + 1] . " " . @$produk[$a + 2] . "\n"; } $a++; } } else { $nama_produk = $value->product_name . "\n"; } $printTestText .= $nama_produk . " Rp." . $value->price . ",- " . $value->qty . " " . $value->satuan . " " . $value->discount . "% Rp." . $value->discount_sub . ",-\n"; } } $printTestText .= "----------------------------------------\n"; $printTestText .= " Detail Pembayaran\n"; $printTestText .= " Total : Rp. " . $hasil[0]->total . ",-\n"; $printTestText .= " Bayar : Rp. " . $hasil[0]->pay . ",-\n"; $printTestText .= " Kembali: Rp. " . $hasil[0]->pay_back . ",-\n"; // $printTestText .= " Harga sudah termasuk PPN 10%\n"; $printTestText .= "----------------------------------------\n"; $printTestText .= " Terima Kasih \n"; $printTestText .= " Barang yang sudah dibeli \n"; $printTestText .= " Tidak dapat ditukar/dikembalikan \n"; $printTestText .= "\n"; $printTestText .= "\n"; $printTestText .= "\n"; $printTestText .= "\n"; $printTestText .= "\n"; $printTestText .= "\n"; $printTestText .= "\n"; $printTestText .= "\n"; $printTestText .= "\n"; // /* tulis dan buka koneksi ke printer */ // $printer = printer_open("SP-POS76II"); // /* write the text to the print job */ // printer_set_option($handle, PRINTER_MODE, "RAW"); // printer_write($printer, $printTestText); // /* close the connection */ // printer_close($printer); $handle = printer_open('\\\\ASTROBOY-1-PC\\Canon_iP2700_series'); printer_set_option($handle, PRINTER_MODE, "RAW"); printer_write($handle, $printTestText); printer_close($handle); }
public function print_setoran($param = '') { $setoran = $this->mk->get_cashdraw_list($param); $config = $this->config->item('astro'); $cnt = 32; $tmpdir = sys_get_temp_dir(); # ambil direktori temporary untuk simpan file. $file = tempnam($tmpdir, 'ctk'); # nama file temporary yang akan dicetak $handle = fopen($file, 'w'); $Data = align_center($cnt, $config['bas_branch_name']) . "\n"; $Data .= align_center($cnt, $config['bas_branch_address']) . "\n"; $Data .= align_center($cnt, $config['bas_branch_phone']) . "\n"; $Data .= cetak_garis($cnt) . "\n"; $Data .= align_center($cnt, "RINCIAN SETORAN KASIR") . "\n"; $Data .= "\n"; $Data .= align_left(28, "TANGGAL : " . tanggalIndo($setoran->date)) . "\n"; $Data .= align_left($cnt, "BUKA : " . $setoran->checkin) . "\n"; $Data .= align_left($cnt, "TUTUP : " . $setoran->checkout) . "\n"; $Data .= cetak_garis($cnt) . "\n"; $Data .= align_left($cnt / 2, "BUKA KAS") . align_right($cnt / 2, format_harga($setoran->start_cash)) . "\n"; $Data .= align_left($cnt / 2, "OMSET") . align_right($cnt / 2, format_harga($setoran->omset)) . "\n"; $Data .= align_left($cnt / 2, "KAS AKHIR") . align_right($cnt / 2, format_harga($setoran->total_cash)) . "\n"; $Data .= align_left($cnt / 2, "SETOR") . align_right($cnt / 2, format_harga($setoran->end_cash)) . "\n"; print_r($Data); exit; $handle = printer_open('58 Printer'); printer_set_option($handle, PRINTER_MODE, "RAW"); printer_write($handle, $Data); printer_close($handle); }
function print_slip($param) { $karyawan = $this->mp->get_paramedik($param['id_karyawan']); $karyawan = $karyawan[0]; $tmpdir = sys_get_temp_dir(); # ambil direktori temporary untuk simpan file. $file = tempnam($tmpdir, 'cetak-slip'); # nama file temporary yang akan dicetak $handle = fopen($file, 'w'); $config = $this->config->item('astro'); $cnt = 40; //ata = "1234567890123456789012345678901234567890\n"; $Data = align_center($cnt, $config['bas_branch_name']) . "\n"; $Data .= align_center($cnt, $config['bas_branch_address']) . "\n"; $Data .= align_center($cnt, $config['bas_branch_phone']) . "\n"; $Data .= cetak_garis($cnt) . "\n"; $Data .= "Tanggal : " . tanggalIndo(date('Y-m-d')) . "\n"; $Data .= "Nomor : " . $param['no_slip'] . "\n"; $Data .= cetak_garis($cnt) . "\n"; $Data .= align_left($cnt / 2, "Nama") . align_right($cnt / 2, $karyawan->name) . "\n"; $Data .= align_left($cnt / 2, "NIK") . align_right($cnt / 2, $karyawan->code) . "\n"; $Data .= align_left($cnt / 2, "Gaji Pokok") . align_right($cnt / 2, format_rupiah($param['gaji'])) . "\n"; $Data .= align_left($cnt / 2, "Bonus") . align_right($cnt / 2, format_rupiah($param['bonus'])) . "\n"; $Data .= align_left($cnt / 2, "Kasbon") . align_right($cnt / 2, format_rupiah($param['casbon'])) . "\n"; $Data .= cetak_garis($cnt) . "\n"; $Data .= align_left($cnt / 2, "Total") . align_right($cnt / 2, format_rupiah($param['total'])) . "\n"; print_r($Data); //exit(); $handle = printer_open('Canon_iP2700_series'); // $handle = printer_open('Microsoft XPS Document Writer'); printer_set_option($handle, PRINTER_MODE, "TEXT"); printer_write($handle, $Data); printer_close($handle); }
/** * Write buffer contents to Printer * * @return void */ private function _write_buffer() { printer_write($this->handle, $this->buffer); return; }
public function enviar_a_impresora($data = array()) { // Envia documento a impresora via printer.dll (Windows) $this->impresora = isset($data['impresora']) ? $data['impresora'] : $this->impresora; $this->logo = isset($data['logo']) ? $data['logo'] : ''; $this->contenido = isset($data['contenido']) ? $data['contenido'] : ''; $this->formato = isset($data['formato']) ? $data['formato'] : ''; $this->codebar = isset($data['codebar']) ? $data['codebar'] : ''; $this->codeqr = isset($data['codeqr']) ? $data['codeqr'] : ''; if ($this->formato) { // Lee archivo y extrae contenido para enviarlo a la impresora $this->fh = fopen($this->contenido, "r"); while (!feof($this->fh)) { $this->texto[] = fgets($this->fh); } fclose($this->fh); $isfile = true; } else { $this->texto = $this->contenido; } if ($this->impresora && $this->texto) { if ($this->ph = printer_open($this->impresora)) { #Crea manejador de impresora #Contrucción de documento en impresora // Inicio de doc y page printer_start_doc($this->ph); printer_start_page($this->ph); // Set print mode to RAW and send PDF to printer printer_set_option($this->ph, PRINTER_MODE, "RAW"); $salto_linea = 0; if ($this->formato) { if (file_exists($this->logo)) { // Imagen BMP - Logo printer_draw_bmp($this->ph, $this->logo, $this->var['ticket']['ticket_logo_x'], $this->var['ticket']['ticket_logo_y'], $this->var['ticket']['ticket_logo_w'], $this->var['ticket']['ticket_logo_h']); $salto_linea = $this->var['ticket']['ticket_logo_salto']; } // Crear formato de texto $estilo = printer_create_font($this->var['ticket']['ticket_formato_font'], $this->var['ticket']['ticket_formato_h'], $this->var['ticket']['ticket_formato_w'], $this->var['ticket']['ticket_formato_font_w'], $this->var['ticket']['ticket_formato_font_italic'], $this->var['ticket']['ticket_formato_font_underline'], $this->var['ticket']['ticket_formato_font_strikeout'], $this->var['ticket']['ticket_formato_font_orientation']); printer_select_font($this->ph, $estilo); // Contenido if ($isfile) { $txtArray = $this->texto; for ($i = 0; $i < count($txtArray); $i++) { printer_draw_text($this->ph, $txtArray[$i], $this->var['ticket']['ticket_contenido_x'], $salto_linea); #Izq; Alto $salto_linea += $this->var['ticket']['ticket_contenido_salto']; } } else { printer_draw_text($this->ph, $this->texto, $this->var['ticket']['ticket_contenido_x'], $salto_linea); } // Eliminar formato de texto printer_delete_font($estilo); // Codigo de Barras if ($this->codebar && file_exists($this->codebar)) { printer_draw_bmp($this->ph, $this->codebar, $this->var['ticket']['ticket_barscode_x'], $salto_linea, $this->var['ticket']['ticket_barscode_w'], $this->var['ticket']['ticket_barscode_h']); $salto_linea += $this->var['ticket']['ticket_barscode_salto']; } // Codigo QR if ($this->codeqr && file_exists($this->codeqr)) { printer_draw_bmp($this->ph, $this->codeqr, $this->var['ticket']['ticket_qrcode_x'], $salto_linea, $this->var['ticket']['ticket_qrcode_w'], $this->var['ticket']['ticket_qrcode_h']); $salto_linea += $this->var['ticket']['ticket_qrcode_salto']; } // Footer if ($this->footer) { $estilo = printer_create_font($this->var['ticket']['ticket_formato_footer_font'], $this->var['ticket']['ticket_formato_footer_h'], $this->var['ticket']['ticket_formato_footer_w'], $this->var['ticket']['ticket_formato_footer_font_w'], $this->var['ticket']['ticket_formato_footer_font_italic'], $this->var['ticket']['ticket_formato_footer_font_underline'], $this->var['ticket']['ticket_formato_footer_font_strikeout'], $this->var['ticket']['ticket_formato_footer_font_orientation']); printer_select_font($this->ph, $estilo); printer_draw_text($this->ph, date('Y-m-d H:i:s'), $this->var['ticket']['ticket_footer_x'], $salto_linea); printer_delete_font($estilo); } } else { printer_write($this->ph, $this->texto); #texto sin formato } // Fin de documento y página printer_end_page($this->ph); printer_end_doc($this->ph); // Cierra archivo y envía a imprimir printer_close($this->ph); $this->respuesta = true; } } return $this->respuesta; }
function autocutter($printer = '') { $Data = "\n"; $handle = printer_open($printer); printer_set_option($handle, PRINTER_MODE, "TEXT"); printer_write($handle, $Data); printer_close($handle); }
function print_line_win($value, $dest) { $debug = _FUNCTION_ . ' - Windows Printing to dest ' . $dest . ' - line ' . $value . ' ' . "\n"; debug_msg(__FILE__, __LINE__, $debug); $title = 'SmartRestaurant'; $handle = printer_open(stripslashes($dest)); if (!$handle) { return ERR_COULD_NOT_OPEN_PRINTER; } $debug = __FUNCTION__ . ' - Windows Printing to dest ' . $dest . ' - line ' . $value . ' ' . "\n"; debug_msg(__FILE__, __LINE__, $debug); printer_set_option($handle, PRINTER_MODE, "RAW"); $value = stri_replace("\n", "\n\r", $value); printer_start_doc($handle, $title); printer_start_page($handle); if (!printer_write($handle, $value)) { return ERR_PRINTING_ERROR; } printer_end_page($handle); printer_end_doc($handle); printer_close($handle); return 0; }
public function printPdf($files) { $filecontents = ''; foreach ($files as $file) { $filecontents .= file_get_contents($file); } $handle = printer_open(); printer_write($handle, $filecontents); printer_close($handle); }
<?php /* Both these tests were takes from the php.net website and comments */ /* Basic test */ $handle = printer_open('PRINTER NAME'); printer_write($handle, "Text to print"); printer_close($handle); exit; /* Test if it can print its version of WordArt */ $handle = printer_open('PRINTER NAME'); printer_start_doc($handle, "My Document"); printer_start_page($handle); $font = printer_create_font("Arial", 148, 76, PRINTER_FW_MEDIUM, false, false, false, -50); printer_select_font($handle, $font); printer_draw_text($handle, "PHP is simply cool", 40, 40); printer_delete_font($font); printer_end_page($handle); printer_end_doc($handle); printer_close($handle); exit;
public function resident_receipt2($resident_receipt_id, $resident_id) { $lipsum = file_get_contents(base_url() . 'data/doc.pdf'); $printer = printer_open("\\\\192.168.1.100\\HP Officejet Pro 8600 Class Driver (Copy 1)"); printer_write($printer, $lipsum); printer_close($printer); ?> <script type="text/javascript"> //window.open("<?php echo base_url() . "data/resident_receipt2.php?payment_id=" . $resident_receipt_id; ?> ","Popup","height=300,width=800,,scrollbars=yes,"+"directories=yes,location=yes,menubar=yes,"+"resizable=no status=no,history=no top = 50 left = 100"); </script> <?php $current_page = 0; $resident_receipt_id = 0; $resident_bill_id = 0; $this->resident_details2($resident_id, $current_page, $resident_receipt_id, $resident_bill_id); }
<?php $printer = "zebra"; if ($ph = printer_open($printer)) { // Get file contents //abrindo o arquivo de texto $fh = fopen("teste.txt", "rb"); //llendo o arquivo de texto $content = fread($fh, filesize("teste.txt")); fclose($fh); // Set print mode to RAW and send PDF to printer printer_set_option($ph, PRINTER_MODE, "RAW"); printer_write($ph, $content); printer_close($ph); } else { "Couldn't connect..."; } ?> <html> <head> </head> <body > blablabla </body> </html>