- Saya sedang mengerjakan di kantor untuk membuat ulang dan menggantikan formulir yang sebelumnya ditulis tangan di kertas/Excel menjadi alat berbasis web menggunakan HTML, jadi saya merangkum hal-hal ini
- Menjelaskan dasar-dasar CSS untuk mengontrol bagaimana halaman web terlihat saat dicetak, beserta beberapa tip dan trik
@page
@page adalah aturan CSS yang memberi tahu browser pengaturan pencetakan untuk sebuah situs web.
@page mencakup DOM, dan di web elemen <html> dibatasi oleh tepi layar, tetapi saat dicetak dibatasi oleh @page.
- Pengaturan
@page kira-kira sesuai dengan pengaturan yang didapat di dialog cetak browser saat menekan Ctrl+P.
@media print
- Ada media query
print yang memungkinkan Anda menulis style yang hanya diterapkan saat mencetak.
- Tambahkan
display:none pada header, opsi, teks bantuan pengguna, dan elemen lain yang tidak seharusnya muncul di hasil cetak.
Lebar, tinggi, margin, padding
- Diperlukan pemahaman tentang box model, dan alasan menetapkan @page
margin: 0 adalah karena lebih memilih menangani margin pada elemen DOM.
- Lebih mudah untuk mengingat bahwa
<html> menempati seluruh kertas fisik dan margin berada di dalam DOM.
Menentukan posisi elemen
- Saat mendesain dokumen, elemen ditempatkan menggunakan HTML/CSS yang sesuai.
- Anda juga dapat menggunakan absolute positioning saat perlu membuat kotak yang pas untuk kertas stiker berukuran tertentu, atau mencetak data pada kertas dengan label khusus.
Dokumen multi-halaman dan elemen berulang
- Saat menulis generator cetak yang memuat data tabel seperti invoice, jika
<table> berlanjut ke halaman kedua, browser akan otomatis menggandakan <thead> di bagian atas setiap halaman.
- Halaman dibuat dengan membagi tabel menjadi beberapa tabel kecil menggunakan JavaScript.
Mode potret/lanskap
- Pengguna dapat menimpa aturan @page jika mereka mau.
- Anda dapat membuat elemen
<style> terpisah untuk mode potret dan lanskap lalu beralih di antaranya menggunakan JavaScript.
Sumber data
- Ada beberapa cara untuk membawa data ke halaman, seperti mengemas semua data ke parameter URL atau mengambil record database melalui API menggunakan JavaScript.
- Atur
contenteditable agar pengguna dapat melakukan perubahan kecil sebelum mencetak.
Opini GN⁺
- Artikel ini memberikan panduan yang berguna bagi pengembang web tentang cara menulis CSS untuk pencetakan. Ini akan sangat membantu terutama bagi pengembang yang bekerja mengubah halaman web menjadi dokumen fisik.
- CSS untuk pencetakan sering kali menjadi topik yang diabaikan, tetapi di banyak perusahaan masih sering ada kebutuhan untuk mencetak dokumen penting, sehingga pengetahuan ini bernilai.
- Pendekatan teknis yang disajikan dalam artikel tampaknya telah diuji dan divalidasi di lingkungan kerja nyata, serta memberikan solusi praktis untuk menyelesaikan masalah nyata.
- Penggunaan aturan CSS
@page dan query @media print penting untuk mengontrol ukuran kertas dan margin saat mencetak halaman web, dan ini adalah hal yang wajib diketahui pengembang web.
- Artikel ini melampaui pemahaman dasar tentang CSS untuk pencetakan dengan memberikan contoh dan tip praktis tentang bagaimana itu benar-benar diterapkan, sehingga membantu menjembatani kesenjangan antara teori dan praktik.
2 komentar
Lain kali saya ingin mencoba membuat proyek iseng dengan ini.
Komentar Hacker News
Penjelasan tentang gaya cetak yang disukai untuk situs web pribadi:
Pengalaman menyusun buku menggunakan Pagedjs.org:
Masalah dukungan browser untuk CSS cetak:
Kemudahan mencetak menggunakan CSS:
Situasi ketika dukungan browser untuk pencetakan begitu buruk hingga perlu membuat aplikasi native:
Refleksi tentang sejarah dan kondisi CSS saat ini:
Cara membuat invoice dan beberapa ebook menggunakan HTML & CSS:
Menyebut paper-css yang digunakan untuk menghasilkan PDF melalui browser.
Kelebihan membuat materi cetak dengan HTML/CSS:
Pengalaman memanfaatkan keterampilan CSS untuk menyediakan profil jejaring sosial dalam format cetak: