Dokumentasi Perintah Artisan untuk Pemrosesan PDF
Dokumen ini menjelaskan penggunaan perintah Artisan kustom untuk menghasilkan thumbnail PDF dan menerapkan stempel atau tanda air (watermark) pada dokumen PDF.Prasyarat Sistem
Sebelum menggunakan perintah-perintah ini, pastikan utilitas baris perintah berikut telah terinstal di server atau mesin pengembangan lokal Anda.1. Pembuatan Thumbnail PDF
Fitur ini digunakan untuk membuat pratinjau gambar dari halaman tertentu sebuah file PDF.Perintah Inti: pdf:thumbnail
Ini adalah perintah level rendah yang melakukan konversi satu PDF menjadi sebuah thumbnail.
Penggunaan:
Contoh:
Perintah Massal: documents:generate-thumbnails
Ini adalah perintah level tinggi yang mencari dokumen di database yang belum memiliki thumbnail dan membuatnya untuk setiap dokumen.
Penggunaan:
Contoh:
2. Stempel & Tanda Air (Watermark) PDF
Fitur ini digunakan untuk menerapkan stempel kode QR dan/atau tanda air teks pada dokumen PDF. Hasil akhirnya disimpan sebagai file baru, dan URL-nya disimpan di fieldStampedFileUrl pada model dokumen, tanpa mengubah file asli.
Perintah Inti: pdf:stamp
Ini adalah perintah level rendah yang melakukan operasi stempel/watermark pada satu PDF.
Penggunaan:
Catatan Penting: Perintah ini memerlukan file font di
public/fonts/Calibri/Calibri.ttf untuk me-render watermark.
Perintah Massal: documents:generate-stamp
Ini adalah perintah level tinggi yang memproses dokumen dari database, menerapkan stempel/watermark yang ditentukan, dan mencatat setiap operasi.
Penggunaan:
- Opsi Terusan: Untuk menggunakan opsi-opsi detail dari
pdf:stamp(seperti--stamp-positionatau--watermark-color), Anda harus menggunakan flag-O. - Placeholder: Opsi
--stamp-qr-stringdan--watermark-textmendukung placeholder dinamis yang akan diganti dengan data dari dokumen yang sedang diproses. Placeholder yang didukung:{id}(atau_id) dan{FCallCode}. - Pencatatan (Logging): Setiap operasi (baik sukses maupun gagal) dicatat dalam koleksi
stamp_logsdi MongoDB. - Debugging: Jalankan perintah dengan flag
-vuntuk melihat output detail secara real-time dari perintahpdf:stamp.
Contoh:
