update printer menjadi file

This commit is contained in:
mikael-zakaria 2024-11-29 09:49:27 +07:00
parent fcea573284
commit 3057b27897

View File

@ -4,97 +4,126 @@ namespace App\Controllers;
class Prints extends BaseController { class Prints extends BaseController {
public function sample($access, $sample) { // public function sample($access, $sample) {
// Path shared printer menggunakan format yang lebih jelas // // Path shared printer menggunakan format yang lebih jelas
$printerPath = '\\\\10.148.5.20\\POSTEKCLAB'; // Path ke printer yang dibagikan // // $printerPath = '\\\\10.148.5.20\\POSTEKCLAB'; // Path ke printer yang dibagikan
// $fullPath = '\\\\10.148.5.20\\Labelshare'; // Path ke printer yang dibagikan
// // Data ZPL untuk mencetak label
// // $startSection = "^XA\n^PW400\n^LL224\n";
// // $nameSection = "^FO10,2\n^A0N,23,23\n^FD MRS. I PUTU AYU PUTRI PERTIWI ^FS\n";
// // $yearSection = "^FO12,25\n^A0N,22,22\n^FD F 24Y ^FS\n";
// // $labelBarcodeSection = "^FO85,50\n^BY2,2.0,45\n^BCN,100,N,N,N\n^FD25082257^FS\n";
// // $numberCodeSection = "^FO374,43\n^A0B,25,25\n^FD 25082257 ^FS\n";
// // $sampleSection = "^FO19,45\n^A0B,27,27\n^FD $sample ^FS\n";
// // $parameterSection = "^FO10,165\n^A0N,23,23\n^FD PSA, HDL, LDL, BUN, SGOT ^FS\n";
// // $lisNumSection = "^FO10,195\n^A0N,17,20\n^FD LIS 4112082257 ^FS\n";
// // $hisNumSection = "^FO10,210\n^A0N,20,20\n^FD HIS 01241101855 ^FS\n";
// // $numSampleSection = "^FO240,200\n^A0N,27,27\n^FD $access 115 ^FS\n";
// // $endSection = "^XZ";
// $printCoba ="N
// N
// OD
// q400
// Q224,24+0
// I8,A,001
// D10
// A10,3,0,3,1,1,N,'MRS. MIKAELA LETTA XABRIANA'
// A10,25,0,1,1,1,N,'M 22Y'
// A10,65,0,1,1,1,N,'SERUMAH'
// A288,65,0,1,1,1,N,'2402084063'
// B90,30,0,1,2,8,70,N,'2402084063'
// A10,110,0,2,1,1,N,'PSA,HDL,LDL,BUN,SGOT'
// A10,131,0,1,1,1,N,'LIS : 0978658'
// A10,145,0,1,1,1,N,'HIS : 1252434'
// A250,140,0,3,1,1,N,'2402084063'
// P1
// ";
// // $messagesToPrint = $startSection.$nameSection.$yearSection.$labelBarcodeSection.$numberCodeSection.$sampleSection.$parameterSection.$parameterSection.$lisNumSection.$hisNumSection.$numSampleSection.$endSection;
// $messagesToPrint = $printCoba;
// // Membuat file sementara untuk ZPL
// $tempFile = tempnam(sys_get_temp_dir(), 'cpcl');
// // Menulis data ZPL ke dalam file sementara
// file_put_contents($tempFile, $messagesToPrint);
// // Membuat perintah untuk mengirim file ZPL ke printer
// $command = "copy /b $tempFile $printerPath";
// // Menjalankan perintah untuk mengirimkan file ke printer
// exec($command, $output, $status);
// // Memeriksa status eksekusi dan menampilkan pesan yang sesuai
// if ($status === 0) {
// unlink($tempFile);
// return $this->response->setJSON(
// [
// 'message' => "Label Dicetak",
// 'status' => true,
// ]
// );
// } else {
// $output = json_encode($output); // Konversi ke JSON
// return $this->response->setJSON(
// [
// 'error' => $output,
// 'message' => "Label Gagal Dicetak",
// 'status' => false,
// ]
// );
// }
// $pplData = "<<<PPL // }
// SIZE 100 mm, 50 mm
// GAP 2 mm, 0
// DIRECTION 1
// REFERENCE 0,0
// CLS
// TEXT 10,2,"Arial",0,1,1,"MRS. I PUTU AYU PUTRI PERTIWI" public function sample($access, $sample) {
// TEXT 12,25,"Arial",0,1,1,"F 24Y" // Path shared printer menggunakan format yang lebih jelas
// BARCODE 85,50,"128",100,2,0,2,2,"25082257" $path = '\\\\10.148.5.20\\Labelshare\\';
// TEXT 374,43,"Arial",0,1,1,"25082257" $filename = "file_ku.txt";
// TEXT 19,45,"Arial",0,1,1,"$sample"
// TEXT 10,165,"Arial",0,1,1,"PSA, HDL, LDL, BUN, SGOT"
// TEXT 10,195,"Arial",0,1,1,"LIS 4112082257"
// TEXT 10,210,"Arial",0,1,1,"HIS 01241101855"
// TEXT 240,200,"Arial",0,1,1,"$access 115"
// PRINT 1 $sampleLable ="N
// PPL"; N
OD
// Data ZPL untuk mencetak label
// $startSection = "^XA\n^PW400\n^LL224\n";
// $nameSection = "^FO10,2\n^A0N,23,23\n^FD MRS. I PUTU AYU PUTRI PERTIWI ^FS\n";
// $yearSection = "^FO12,25\n^A0N,22,22\n^FD F 24Y ^FS\n";
// $labelBarcodeSection = "^FO85,50\n^BY2,2.0,45\n^BCN,100,N,N,N\n^FD25082257^FS\n";
// $numberCodeSection = "^FO374,43\n^A0B,25,25\n^FD 25082257 ^FS\n";
// $sampleSection = "^FO19,45\n^A0B,27,27\n^FD $sample ^FS\n";
// $parameterSection = "^FO10,165\n^A0N,23,23\n^FD PSA, HDL, LDL, BUN, SGOT ^FS\n";
// $lisNumSection = "^FO10,195\n^A0N,17,20\n^FD LIS 4112082257 ^FS\n";
// $hisNumSection = "^FO10,210\n^A0N,20,20\n^FD HIS 01241101855 ^FS\n";
// $numSampleSection = "^FO240,200\n^A0N,27,27\n^FD $access 115 ^FS\n";
// $endSection = "^XZ";
$printCoba ="N
q400 q400
Q224,24+0 Q224,24+0
I8,A,001 I8,A,001
D10
A10,2,0,3,1,1,N,'MRS. I PUTU AYU PUTRI PERTIWI' A10,3,0,3,1,1,N,'MRS. MIKAELA LETTA XABRIANA'
A12,25,0,2,1,1,N,'F 24Y' A10,25,0,1,1,1,N,'M 22Y'
B85,50,0,1,2,2,45,N,'25082257' A10,65,0,1,1,1,N,'SERUMAH'
A374,43,3,3,1,1,N,'25082257' A288,65,0,1,1,1,N,'2402084063'
A19,45,3,3,1,1,N,'SPUTUM' B90,30,0,1,2,8,70,N,'2402084063'
A10,165,0,3,1,1,N,'PSA, HDL, LDL, BUN, SGOT' A10,110,0,2,1,1,N,'PSA,HDL,LDL,BUN,SGOT'
A10,195,0,2,1,1,N,'LIS 4112082257' A10,131,0,1,1,1,N,'LIS : 0978658'
A10,210,0,2,1,1,N,'HIS 01241101855' A10,145,0,1,1,1,N,'HIS : 1252434'
A240,200,0,3,1,1,N,'20112024 115' A250,140,0,3,1,1,N,'2402084063'
P1 P1
"; ";
// $messagesToPrint = $startSection.$nameSection.$yearSection.$labelBarcodeSection.$numberCodeSection.$sampleSection.$parameterSection.$parameterSection.$lisNumSection.$hisNumSection.$numSampleSection.$endSection; $fullPath = $path . $filename;
$messagesToPrint = $printCoba; // Tulis file ke folder tujuan
if (file_put_contents($fullPath, $content)) {
// Membuat file sementara untuk ZPL // echo "File berhasil dibuat di folder $folderPath";
$tempFile = tempnam(sys_get_temp_dir(), 'ZPL');
// Menulis data ZPL ke dalam file sementara
file_put_contents($tempFile, $messagesToPrint);
// Membuat perintah untuk mengirim file ZPL ke printer
$command = "copy /b $tempFile $printerPath";
// Menjalankan perintah untuk mengirimkan file ke printer
exec($command, $output, $status);
// Memeriksa status eksekusi dan menampilkan pesan yang sesuai
if ($status === 0) {
unlink($tempFile);
return $this->response->setJSON( return $this->response->setJSON(
[ [
'message' => "Label Dicetak", 'message' => "File Berhasil di kirim",
'status' => true, 'status' => true,
] ]
); );
} else { } else {
$output = json_encode($output); // Konversi ke JSON
return $this->response->setJSON( return $this->response->setJSON(
[ [
'error' => $output, 'error' => $output,
'message' => "Label Gagal Dicetak", 'message' => "Gagal",
'status' => false, 'status' => false,
] ]
); );
} }
} }