Apa itu pdf-php?

Format Data Formulir (FDF) adalah format untuk menangani formulir dalam dokumen PDF. Anda harus membaca dokumentasi di » http. // www. adobe. com/devnet/acrobat/fdftoolkit. html untuk informasi lebih lanjut tentang apa itu FDF dan bagaimana FDF digunakan secara umum

Ide umum FDF mirip dengan bentuk HTML. Perbedaannya pada dasarnya adalah format bagaimana data ditransmisikan ke server ketika tombol submit ditekan (ini sebenarnya Format Data Formulir) dan format formulir itu sendiri (yaitu Portable Document Format, PDF). Pengolahan data FDF adalah salah satu fitur yang disediakan oleh fungsi fdf. Tapi masih ada lagi. Seseorang mungkin juga mengambil formulir PDF yang ada dan mengisi kolom input dengan data tanpa mengubah formulir itu sendiri. Dalam kasus seperti itu, seseorang akan membuat dokumen FDF (fdf_create()) menetapkan nilai dari setiap bidang input (fdf_set_value()) dan mengaitkannya dengan formulir PDF (fdf_set_file()). Akhirnya harus dikirim ke browser dengan Mime Type _______ 499 _______. Plugin pembaca Acrobat browser Anda mengenali MimeType, membaca formulir PDF terkait dan mengisi data dari dokumen FDF

Jika Anda melihat dokumen FDF dengan editor teks, Anda akan menemukan objek katalog dengan nama FDF. Objek seperti itu dapat berisi sejumlah entri seperti Fields, F, Status dll. Entri yang paling umum digunakan adalah ________ 501 _______ yang menunjuk ke daftar kolom input, dan ________ 502 ____ yang berisi nama file dokumen PDF milik data ini. Entri tersebut dirujuk dalam dokumentasi FDF sebagai /F-Key atau /Status-Key. Memodifikasi entri ini dilakukan dengan fungsi seperti fdf_set_file() dan fdf_set_status(). Bidang dimodifikasi dengan fdf_set_value(), fdf_set_opt() dll

Pada artikel ini, kita akan membahas bagaimana Anda dapat membuat file PDF dalam PHP. Kami akan menggunakan pustaka TCPDF untuk membuat dokumen PDF secara terprogram

Jika Anda sedang mengerjakan situs web yang memungkinkan pengguna mengunduh atau mencetak dokumen seperti tanda terima pesanan, tagihan, atau faktur, Anda memiliki beberapa opsi. Anda dapat menampilkan dokumen sebaris di browser atau menyediakan unduhan. Dalam hal mengunduh dokumen, PDF adalah salah satu format terbaik dan sangat baik dalam mempertahankan pemformatan teks

Jadi jika Anda ingin mempelajari cara menghasilkan file PDF di situs web PHP Anda, Anda berada di tempat yang tepat

Cara Memasang Perpustakaan TCPDF

Di bagian ini, kita akan melihat cara menginstal pustaka TCPDF

Ada berbagai cara untuk menginstal pustaka TCPDF di server Anda. Pustaka TCPDF tersedia di Packagist dan GitHub, jadi Anda bisa menggunakan Composer atau mengkloningnya dari GitHub. Dalam kasus kami, kami akan menginstalnya dengan Composer

Lanjutkan dan jalankan perintah berikut untuk menginstal pustaka TCPDF dengan Composer

1
$composer require tecnickcom/tcpdf
2
________3__4_______
./composer.json has been created
4
Loading composer repositories with package information
5
Updating dependencies (including require-dev)
$composer require tecnickcom/tcpdf
0
$composer require tecnickcom/tcpdf
1
$composer require tecnickcom/tcpdf
2
$composer require tecnickcom/tcpdf
3
$composer require tecnickcom/tcpdf
4
$composer require tecnickcom/tcpdf
1_______5
$composer require tecnickcom/tcpdf
6
$composer require tecnickcom/tcpdf
7

Setelah berhasil diinstal, Anda harus menyertakan pengisian otomatis. php dalam skrip PHP Anda, seperti yang ditunjukkan pada cuplikan berikut

1
$composer require tecnickcom/tcpdf
9
2
2
1
3
2
3
4
2
5

Dan dengan itu, Anda siap menggunakan semua metode utilitas yang disediakan oleh pustaka TCPDF

Cara Menggunakan Perpustakaan TCPDF

Di bagian ini, kami akan membuat contoh dunia nyata, yang menunjukkan cara membuat faktur PDF. Pustaka TCPDF menyediakan banyak template siap pakai yang dapat Anda gunakan sebagai referensi untuk menghasilkan dokumen PDF. Namun, kami akan membuat faktur dari awal

Seperti yang telah saya sebutkan di bagian sebelumnya, pustaka TCPDF menyediakan banyak templat siap pakai yang memungkinkan Anda menghasilkan file PDF generik dengan header dan footer. Dan itu sangat berguna jika Anda senang dengan pemformatan dan pengaturan default. Tetapi jika Anda ingin menyesuaikan header dan footer bersama dengan konten, Anda harus memperluas kelas

3
57 dan mengganti metode yang sesuai

Dalam contoh kami, kami akan membuat dua file. customPdfGenerator. php dan contoh. php. Di customPdfGenerator. php, kami akan membuat kelas

3
_58, yang akan memperluas kelas inti
3
57 dan mengganti beberapa metode. Dalam contoh. php, kita akan melihat bagaimana menggunakan kelas
3
58

Kelas
3
_58

Lanjutkan dan buat customPdfGenerator. php dengan isi sebagai berikut

1
$composer require tecnickcom/tcpdf
9
2
2
9
3
Using version ^6.3 for tecnickcom/tcpdf
1
4
Using version ^6.3 for tecnickcom/tcpdf
3
5
Using version ^6.3 for tecnickcom/tcpdf
5
$composer require tecnickcom/tcpdf
0
Using version ^6.3 for tecnickcom/tcpdf
7
$composer require tecnickcom/tcpdf
2
Using version ^6.3 for tecnickcom/tcpdf
9
$composer require tecnickcom/tcpdf
4
3
1
$composer require tecnickcom/tcpdf
6
3
3
3
4
3
5
3
6
3
7
3
8
3
9
./composer.json has been created
0
./composer.json has been created
1
./composer.json has been created
2
./composer.json has been created
3
Using version ^6.3 for tecnickcom/tcpdf
5
./composer.json has been created
5
./composer.json has been created
6
./composer.json has been created
7
./composer.json has been created
8
./composer.json has been created
9
4
0
4
1
3
9
4
3
4
4
4
5
4
6
Using version ^6.3 for tecnickcom/tcpdf
5
4
8
4
9
Loading composer repositories with package information
0
Loading composer repositories with package information
1
Loading composer repositories with package information
2
Loading composer repositories with package information
3
Loading composer repositories with package information
4
Loading composer repositories with package information
5
Loading composer repositories with package information
6
Loading composer repositories with package information
7
Loading composer repositories with package information
8
Loading composer repositories with package information
9
5
0
5
1
5
2
5
3
5
4__

Hal penting yang perlu diperhatikan adalah bahwa kelas

3
_58 memperluas kelas
3
57, sehingga kita dapat menggunakan semua metode utilitas yang disediakan oleh kelas
3
57 untuk memformat dan menghasilkan dokumen PDF

Satu-satunya tujuan membuat kelas kita sendiri daripada langsung menggunakan kelas

3
57 adalah bahwa kita tidak ingin menggunakan komponen header dan footer bawaan. Dan dengan demikian, kami telah mengganti metode
3
66 dan
3
67 di kelas kami

Metode
3
68

Di header, kami ingin menampilkan logo perusahaan beserta nama pemiliknya. Mari kita telusuri metode tajuk untuk memahami cara kerjanya

1
$composer require tecnickcom/tcpdf
56
2
Using version ^6.3 for tecnickcom/tcpdf
1
3
$composer require tecnickcom/tcpdf
60
4
_______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________g EX

Pertama, kami telah menggunakan untuk menggambar logo perusahaan di sisi kiri. Penting bahwa Anda harus melewati jalur absolut dari gambar logo ke metode

3
69. Selanjutnya, kami telah menggunakan untuk mengatur font-family dan font-size teks, yang akan ditambahkan di header. Terakhir, kami menggunakan untuk mencetak nama pemilik di sisi kanan

Anda akan melihat bahwa ada banyak argumen yang dapat Anda sampaikan dalam metode ini, dan saya akan mendorong Anda untuk menjelajahinya secara mendetail karena tidak mungkin membahas setiap argumen dalam artikel ini.

Dengan pengaturan di atas, tajuk akan terlihat seperti ini

Apa itu pdf-php?
Apa itu pdf-php?
Apa itu pdf-php?

Metode Footer

Di footer, kami ingin menampilkan beberapa teks statis, jadi cukup mudah, seperti yang ditunjukkan pada cuplikan berikut

1
$composer require tecnickcom/tcpdf
74
2
Using version ^6.3 for tecnickcom/tcpdf
1
3
$composer require tecnickcom/tcpdf
78
4
$composer require tecnickcom/tcpdf
80
5
$composer require tecnickcom/tcpdf
82
$composer require tecnickcom/tcpdf
0
$composer require tecnickcom/tcpdf
54

Bagian footer akan terlihat seperti ini

Apa itu pdf-php?
Apa itu pdf-php?
Apa itu pdf-php?

Terakhir, ada metode

3
72, dan kita akan membahasnya lagi nanti. Metode
3
72 tidak terkait dengan kelas
3
57. Sebaliknya, itu adalah metode utilitas khusus kami, yang akan kami gunakan untuk menggambar tabel untuk menampilkan informasi item

Jadi itulah kelas

3
_58. Di bagian selanjutnya, kita akan melihat cara menggunakannya bersama dengan beberapa metode lain untuk membuat faktur PDF lengkap

Contoh. File php

Di bagian sebelumnya, kami telah membuat kelas pembungkus

3
58, yang dapat kami gunakan untuk menghasilkan file PDF dengan header dan footer khusus. Di bagian ini, kami akan mendemonstrasikan bagaimana Anda dapat menggunakannya

Lanjutkan dan buat contoh. php dengan isi sebagai berikut

1
$composer require tecnickcom/tcpdf
9
2
2
1
3
$composer require tecnickcom/tcpdf
90
4
5
$composer require tecnickcom/tcpdf
93
$composer require tecnickcom/tcpdf
0
$composer require tecnickcom/tcpdf
95
$composer require tecnickcom/tcpdf
2
$composer require tecnickcom/tcpdf
97
$composer require tecnickcom/tcpdf
4
$composer require tecnickcom/tcpdf
99
$composer require tecnickcom/tcpdf
6
2
01
3
4
2
03
3
6
2
05
3
8
./composer.json has been created
0
2
08
./composer.json has been created
1
2
10
./composer.json has been created
3
./composer.json has been created
5
2
13
./composer.json has been created
7
2
15
./composer.json has been created
9
2
17
4
1
2
19
4
3
2
15
4
4
4
6
2
24
4
8
2
26
Loading composer repositories with package information
0
2
28
Loading composer repositories with package information
2
2
30
Loading composer repositories with package information
4
2
15
Loading composer repositories with package information
6
Loading composer repositories with package information
8
2
35
Loading composer repositories with package information
9
2
37
5
1
2
39
5
3
2
41________8___

Mari kita telusuri cuplikan penting dalam file di atas

Pertama, kami telah menyertakan pengisian otomatis. php untuk memastikan bahwa kelas

3
_57 dimuat secara otomatis. Selanjutnya, kami menyertakan customPdfGenerator. php untuk memuat kelas khusus kami

Selanjutnya, kami membuat instance kelas

3
_58 bersama dengan pengaturan default. Kami juga telah memanggil beberapa metode untuk melakukan pengaturan default sebelum kami benar-benar mulai menulis ke dalam file PDF

1
$composer require tecnickcom/tcpdf
93
2
$composer require tecnickcom/tcpdf
95
3
$composer require tecnickcom/tcpdf
97
4
$composer require tecnickcom/tcpdf
99
5
2
01
$composer require tecnickcom/tcpdf
0
2
03
$composer require tecnickcom/tcpdf
2________2______05

Konstanta yang kami gunakan di cuplikan di atas sudah ditentukan di tcpdf_autoconfig. file php. Untuk mengganti salah satu konstanta ini, Anda hanya perlu mendefinisikannya di skrip Anda, dan pustaka TCPDF akan menggunakan nilai Anda. Misalnya, nilai default konstanta

3
_79 adalah
3
80 (potret), dan jika Anda ingin mengubahnya menjadi
3
81 (lanskap), Anda hanya perlu menyertakan
3
82 dalam skrip Anda

Selanjutnya, ada cuplikan penting yang memanggil , yang sebenarnya menambahkan halaman baru di dokumen PDF

1
2
08
2
2
10

Jadi kami telah menambahkan halaman sekarang, dan kami dapat mulai menulis di halaman ini

Selanjutnya, kami menggunakan metode dan untuk mencetak tanggal dan nomor faktur di sisi kiri

1
2
13
2
2
15
3
2
17
4
2
19
5
2
15

Metode

3
84 mencetak teks dari posisi saat ini, dan Anda dapat menggunakannya untuk mencetak teks biasa. Di sisi lain, metode
3
_85 memungkinkan Anda mempertahankan pemformatan HTML dalam teks. Meskipun metode
3
_85 menyediakan dukungan pemformatan HTML terbatas, ini mencakup semua tag HTML yang sering digunakan dalam pengembangan sehari-hari

Demikian pula, kami telah mencetak alamat dan tagihan ke alamat dengan bantuan metode

3
85

1
2
24
2
2
26
3
2
28
4
2
30
5
2
15
$composer require tecnickcom/tcpdf
0
$composer require tecnickcom/tcpdf
2
2
35
$composer require tecnickcom/tcpdf
4
2
37
$composer require tecnickcom/tcpdf
6
2
39
3
4
2
41
3
6
2
43
3
8
2
15

Secara default, metode

3
_85 mencetak teks di sisi kiri. Jika Anda ingin mencetak teks rata kanan, Anda dapat meneruskan
3
91 sebagai argumen terakhir dari metode
3
85, seperti yang ditunjukkan pada cuplikan di atas. Dalam kasus kami, kami ingin menampilkan alamat tagihan ke kanan

Mari kita lihat dengan cepat apa yang telah kita bangun sejauh ini

Apa itu pdf-php?
Apa itu pdf-php?
Apa itu pdf-php?

Selanjutnya, kami memiliki cuplikan yang melakukan tugas berat untuk mencetak tabel informasi item

1
2
48
2
2
50
3
2
52_______6_______
2
54
5
2
56
$composer require tecnickcom/tcpdf
0
2
58
$composer require tecnickcom/tcpdf
2________2______60_______1___2____4
2

Ingat metode

3
_72 yang kita definisikan di customPdfGenerator. kelas php? . Mari tarik kode metode ________4______72

1
Using version ^6.3 for tecnickcom/tcpdf
53
2
Using version ^6.3 for tecnickcom/tcpdf
1
3
Using version ^6.3 for tecnickcom/tcpdf
57
4
Using version ^6.3 for tecnickcom/tcpdf
59
5
Using version ^6.3 for tecnickcom/tcpdf
61
$composer require tecnickcom/tcpdf
0
Using version ^6.3 for tecnickcom/tcpdf
63
$composer require tecnickcom/tcpdf
2
Using version ^6.3 for tecnickcom/tcpdf
65
$composer require tecnickcom/tcpdf
4
$composer require tecnickcom/tcpdf
6
Using version ^6.3 for tecnickcom/tcpdf
68
3
4
Using version ^6.3 for tecnickcom/tcpdf
70
3
6
Using version ^6.3 for tecnickcom/tcpdf
72
3
8
Using version ^6.3 for tecnickcom/tcpdf
74
./composer.json has been created
0
3
9
./composer.json has been created
1
$composer require tecnickcom/tcpdf
68
./composer.json has been created
3
./composer.json has been created
5
Using version ^6.3 for tecnickcom/tcpdf
81
./composer.json has been created
7
Using version ^6.3 for tecnickcom/tcpdf
83
./composer.json has been created
9
Using version ^6.3 for tecnickcom/tcpdf
85
4
1
Using version ^6.3 for tecnickcom/tcpdf
87
4
3
4
4
Using version ^6.3 for tecnickcom/tcpdf
90
4
6
Using version ^6.3 for tecnickcom/tcpdf
92
4
8
Using version ^6.3 for tecnickcom/tcpdf
94
Loading composer repositories with package information
0
Loading composer repositories with package information
2
Using version ^6.3 for tecnickcom/tcpdf
97
Loading composer repositories with package information
4
Using version ^6.3 for tecnickcom/tcpdf
99
Loading composer repositories with package information
6
3
01
Loading composer repositories with package information
8
3
03
Loading composer repositories with package information
9
3
05
5
1
3
5
5
3________4____

Pertama, kami memanggil beberapa metode untuk mengatur ukuran font, warna isian, lebar garis, dan warna teks sebelum kami benar-benar mulai mencetak baris tajuk tabel faktur. Selanjutnya, kita mengulang array

3
_95 dan mencetak judul header tabel dengan bantuan metode
3
70

Metode

3
70 memungkinkan Anda untuk mencetak sel (area persegi panjang) dengan batas opsional, warna latar belakang, dan string karakter. Anda juga bisa menentukan perataan teks yang dicetak dalam sel. Dan dengan demikian, metode
3
_70 adalah kandidat yang sempurna untuk membuat tabel

Setelah kami mencetak judul tajuk tabel, kami mengulangi larik

3
99 dan mencetaknya untuk melengkapi seluruh tabel. Terakhir, kami telah memanggil metode
3
70 beberapa kali untuk mencetak jumlah total

Pratinjau cepat tabel akan terlihat seperti ini

Apa itu pdf-php?
Apa itu pdf-php?
Apa itu pdf-php?

Sekarang, mari kita kembali ke contoh. php untuk menelusuri beberapa baris kode terakhir

Di akhir invoice, kami akan mencetak beberapa komentar dan informasi kontak seperti yang ditunjukkan pada cuplikan berikut

1
2
65
2
2
67
3
2
69
4
2
71
5
2
73
$composer require tecnickcom/tcpdf
0
2
75
$composer require tecnickcom/tcpdf
2________2______77_______1___2____4________9

Terakhir, kami menggunakan untuk menyimpan file PDF ke disk. Jika Anda tidak ingin menyimpan file PDF di disk, dan hanya ingin mengirimkannya ke browser, Anda perlu menggunakan

./composer.json has been created
02 dalam argumen kedua dari metode
./composer.json has been created
01

Lanjutkan dan jalankan file

./composer.json has been created
_04, dan itu akan menghasilkan file PDF seperti yang ditunjukkan pada tangkapan layar berikut

Apa itu pdf-php?
Apa itu pdf-php?
Apa itu pdf-php?

Kesimpulan

Nah itulah cara menggunakan library TCPDF untuk membuat dokumen PDF di PHP. Kami membuat contoh dunia nyata untuk mendemonstrasikan beberapa API berbeda yang disediakan oleh pustaka TCPDF

Dokumentasi resmi TCPDF menyediakan banyak template siap pakai yang dapat Anda jelajahi untuk memahami API bawaan, dan saya mendorong Anda untuk menjelajahinya

Apa itu file PDF php?

Ini adalah kelas PHP gratis yang berisi banyak fungsi untuk membuat dan memodifikasi PDF . Kelas FPDF mencakup banyak fitur seperti format halaman, header halaman, footer, jeda halaman otomatis, jeda baris, dukungan gambar, warna, tautan, dan banyak lagi.

Bagaimana cara menulis PDF di php?

php membutuhkan('. /fpdf. php'); . '); . Upon execution, the PHP script will generate a PDF file in your browser.

Bisakah php membaca file PDF?

Catatan. PHP sebenarnya tidak membaca file PDF . Itu tidak mengenali File sebagai pdf. Itu hanya meneruskan file PDF ke browser untuk dibaca di sana.

Pustaka apa yang digunakan untuk PDF di php?

mPDF adalah pustaka PHP yang menghasilkan file PDF dari HTML berenkode UTF-8. Ini didasarkan pada FPDF dan HTML2FPDF (lihat KREDIT), dengan sejumlah penyempurnaan.