Untuk menyimpan data Base64 ke file PDF dalam misalkan di anda akan menentukan lokasi tempat simpen pdfnya difolder `/image/surat/` menggunakan framework Yii 1, Anda dapat mengikuti langkah-langkah berikut:1. Pastikan Anda telah menginstal Yii 1 framework dan mengatur konfigurasi dasar seperti koneksi database.2. Buat sebuah fungsi atau aksi di dalam controller Yii 1 yang akan menangani proses menyimpan file PDF. Contoh:
public function actionSaveBase64ToPDF()
{
// Data Base64 yang ingin disimpan sebagai file PDF
$base64Data = 'JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PCAvVHlwZSAvRXh0R1N0YXRlIC9JbWFnZUMgNiAwIFIvSW1hZ2VDIC9JbWJl...';
// Generate nama file untuk PDF
$fileName = 'file.pdf';
// Path folder tujuan
$folderPath = 'image/surat/';
// Decode data Base64 menjadi string biner
$pdfData = base64_decode($base64Data);
// Simpan data PDF ke file
$filePath = Yii::getPathOfAlias('webroot') . DIRECTORY_SEPARATOR . $folderPath . $fileName;
file_put_contents($filePath, $pdfData);
echo 'File PDF berhasil disimpan di ' . $filePath;
}
3. Pastikan bahwa path folder `/image/surat/` ada dalam struktur direktori proyek Yii 1. Jika tidak, buat folder tersebut dengan izin tulis.4. Panggil aksi `actionSaveBase64ToPDF` yang telah dibuat melalui URL pada browser atau dalam bagian kode lainnya, seperti melalui form submission atau AJAX request. Contoh: http://localhost/path/to/controller/saveBase64ToPDF
Pastikan Anda mengganti `path/to/controller` dengan path yang sesuai menuju controller tempat aksi `actionSaveBase64ToPDF` didefinisikan. Setelah kode dijalankan, akan muncul pesan bahwa file PDF berhasil disimpan di folder `/image/surat/` dengan nama file yang telah ditentukan. Pastikan folder `/image/surat/` ada dan memiliki izin yang cukup untuk menulis file di dalamnya. Jika folder tidak ada, pastikan Anda membuatnya terlebih dahulu.Contoh Function Save ke PDF menggunakan fungsi loadModel public function actionSaveToPDF($id)
{
$model=$this->loadModel($id);
$model->file_pdf = $_POST['base64'];
$model->file_name = $_POST['fileName'];
$model->file_url = '/image/surat/' . $model->file_name . '.pdf';
if($model->save()){
// Tentukan Direktori Ubah Base64 ke PDF
$data = str_replace("application/pdf;base64,", '', $model->file_pdf);
$pdf_decoded = base64_decode($data);
// Simpan data PDF ke file
$filePath = Yii::getPathOfAlias('webroot') . DIRECTORY_SEPARATOR . $model->file_url;
file_put_contents($filePath, $pdf_decoded);
// Output JSON
$hasil = array(
'status' => "success",
'header' => "Berhasil",
'icon' => "info",
'message' => "Dokumen Berhasil di Dibuat",
'url' => YII::app()->getbaseUrl(true) . $model->file_url
);
header('Content-type: application/json');
echo CJSON::encode($hasil);
}
}