102 lines
3.3 KiB
PHP
102 lines
3.3 KiB
PHP
<?php
|
|
|
|
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
|
|
|
|
|
|
// $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"
|
|
|
|
// 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
|
|
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'
|
|
|
|
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);
|
|
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,
|
|
]
|
|
);
|
|
}
|
|
|
|
|
|
}
|
|
|
|
}
|