Kelas manipulasi template Docx untuk Laravel 10.x, berdasarkan bahasa template kumis. Kelas ini masih dalam pengembangan besar-besaran dan saat ini berfungsi lebih seperti pembuktian konsep. Segalanya akan berubah dengan cepat dan mungkin merusak segalanya.
Paket ini membantu Anda menggunakan file docx dengan sintaks kumis sebagai templat untuk menggabungkan dokumen bergaya kaya dengan informasi dari sumber data apa pun. Itu dapat menggantikan teks dan gambar dan mendukung gaya dasar html (tebal, miring, garis bawah).
composer require wrklst/ docxmustache
Silakan periksa ketergantungan di bawah dan contoh folder untuk konfigurasi dan penggunaan.
Konversi HTML saat ini bersifat dasar dan hanya mendukung teks tebal, miring, dan bergaris bawah tunggal dan tidak ada kombinasi keduanya. Ini mengharuskan semua nilai non html untuk di-escape dengan htmlspecialchars($value, ENT_COMPAT, 'UTF-8');
dan awalan *[[DONOTESCAPE]]*
sehingga kelas tahu untuk tidak keluar dari html sebelum dikonversi ke openXML.
Gambar harus berupa URL yang dapat dijangkau dengan gambar dalam format yang didukung. Nilai url perlu ditempatkan di kolom deskripsi teks alt gambar. Gambar akan diambil sampelnya ulang sesuai batasan gambar placeholder. Nilai Gambar perlu diformat dengan tag semu, seperti: [IMG-REPLACE]http://placehold.it/350x150[/IMG-REPLACE]
Silakan periksa juga contoh di folder contoh untuk mendapatkan pemahaman dasar tentang cara menggunakan kelas ini.
Konversi ke PDF memerlukan libreoffice-common
untuk diinstal di server (digunakan untuk konversi). Gunakan sudo apt install libreoffice-common
di server berbasis ubuntu/debian Anda. Instal juga ttf-mscorefonts jika Anda memerlukan dukungan untuk font Arial saat mengonversi dokumen docx ke pdf sudo apt-get install ttf-mscorefonts-installer
Paket ini bergantung pada beberapa fungsi spesifik Laravel. Itu dapat dengan mudah di-porting ke kerangka kerja lain atau di-porting menjadi kerangka kerja agnostik. Selain ketergantungan Laravel, halaman tersebut menggunakan paket-paket berikut:
Ketergantungan spesifik Laravel (hanya relevan jika di-porting ke lingkungan non Laravel):
Jika Anda ingin menyumbangkan sesuatu untuk paket ini, silakan membuat permintaan penarikan dan masalah terkait dan kami akan dengan senang hati meninjau dan berdiskusi.
Ada beberapa kelas di luar sana yang membantu menulis dan atau mengubah konten dokumen Word, beberapa dengan lisensi komersial dan beberapa gratis. Untuk tujuan khusus kami, kami tidak memerlukan sebagian besar fitur yang dimiliki banyak perpustakaan di luar sana – kami memerlukan solusi sederhana yang memungkinkan penggantian nilai dan gambar serta menelusuri data dengan cara yang mudah dan lugas.
Banyak perpustakaan lain menggunakan kloning untuk mengulangi blok dengan beberapa sintaks templat khusus alih-alih menggunakan sintaks templat yang sudah ada. Kami menggunakan sintaks kumis biasa, juga untuk mencapai konten berulang dalam dimensi sebanyak yang diperlukan.
Kelas PHP lain untuk memanipulasi dokumen word openXML: