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 {
public function sample($access, $sample) {
// Path shared printer menggunakan format yang lebih jelas
$printerPath = '\\\\10.148.5.20\\POSTEKCLAB'; // Path ke printer yang dibagikan
// public function sample($access, $sample) {
// // Path shared printer menggunakan format yang lebih jelas
// // $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"
// TEXT 12,25,"Arial",0,1,1,"F 24Y"
// BARCODE 85,50,"128",100,2,0,2,2,"25082257"
// TEXT 374,43,"Arial",0,1,1,"25082257"
// 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"
public function sample($access, $sample) {
// Path shared printer menggunakan format yang lebih jelas
$path = '\\\\10.148.5.20\\Labelshare\\';
$filename = "file_ku.txt";
// PRINT 1
// PPL";
// 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
$sampleLable ="N
N
OD
q400
Q224,24+0
I8,A,001
A10,2,0,3,1,1,N,'MRS. I PUTU AYU PUTRI PERTIWI'
A12,25,0,2,1,1,N,'F 24Y'
B85,50,0,1,2,2,45,N,'25082257'
A374,43,3,3,1,1,N,'25082257'
A19,45,3,3,1,1,N,'SPUTUM'
A10,165,0,3,1,1,N,'PSA, HDL, LDL, BUN, SGOT'
A10,195,0,2,1,1,N,'LIS 4112082257'
A10,210,0,2,1,1,N,'HIS 01241101855'
A240,200,0,3,1,1,N,'20112024 115'
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(), '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);
$fullPath = $path . $filename;
// Tulis file ke folder tujuan
if (file_put_contents($fullPath, $content)) {
// echo "File berhasil dibuat di folder $folderPath";
return $this->response->setJSON(
[
'message' => "Label Dicetak",
'message' => "File Berhasil di kirim",
'status' => true,
]
);
} else {
$output = json_encode($output); // Konversi ke JSON
return $this->response->setJSON(
[
'error' => $output,
'message' => "Label Gagal Dicetak",
'message' => "Gagal",
'status' => false,
]
);
}
}