Sebelum menulis dan memberikan contoh ini untuk membuat laporan PDF menggunakan PL/SQL di Oracle, saya banyak meneliti di Google, tetapi saya tidak menemukan contoh yang tepat. Jadi saya pikir saya harus memberikan contoh untuk menghasilkan file laporan PDF menggunakan PL/SQL. Untuk melakukannya pertama, Anda perlu menginstal paket database pdf_builder_pkg di skema Anda . Anda dapat mengunduh paket ini dari tautan berikut pdf_builder_pkg.
Setelah menjalankan skrip paket di atas dalam skema Anda, Anda perlu membuat objek direktori database untuk lokasi file PDF Anda, seperti yang ditunjukkan di bawah ini:
CREATE OR REPLACE DIRECTORY MY_PDF_DIR AS 'D:\abc\plsql_pdfs' /
Ubah jalur pada perintah di atas sesuai jalur direktori windows Anda atau jika Anda menggunakan Linux atau Unix maka sesuai dengan lokasinya, seperti yang ditunjukkan pada contoh di bawah ini:
CREATE OR REPLACE DIRECTORY MY_PDF_DIR AS '/usr09/oracle/files/' /
Anda dapat mengubah nama direktori MY_PDF_DIR menjadi nama apa pun karena kami harus meneruskan nama direktori ini sebagai parameter ke prosedur save_pdf, yang akan saya tunjukkan pada contoh di bawah ini.
Sekarang Anda telah menginstal paket database dan membuat objek direktori. Sekarang Anda dapat menulis prosedur untuk membuat laporan PDF menggunakan PL/SQL . Berikut di bawah ini adalah contoh blok PL/SQL.
DECLARE CURSOR c_emp IS SELECT empno, ename, job, mgr, hiredate, sal, comm, deptno FROM employee; v_hdr VARCHAR (1000); v_dtl VARCHAR (1000); v_rec NUMBER (10) := 0; v_sal NUMBER (10) := 0; v_comm NUMBER (10) := 0; BEGIN /* First line to initialize the package*/ pdf_builder_pkg.init; /* Set the font to bold for heading*/ pdf_builder_pkg.set_font ('helvetica', 'b'); /* Write a line using pdf_builder_pkg.write procedure*/ pdf_builder_pkg.write ('Employee Report'); /* Set the font to normal */ pdf_builder_pkg.set_font ('helvetica'); pdf_builder_pkg. write ('Printed Date: ' || SYSDATE, -1, p_alignment => 'right'); pdf_builder_pkg. write ( '________________________________________________________________________________'); pdf_builder_pkg.write (' ' || CHR (10) || CHR (13)); /* Setting font courier for better alignment*/ pdf_builder_pkg.set_font ('courier'); v_hdr := RPAD ('Emp No.', 10, ' ') || RPAD ('Emp Name', 12, ' ') || RPAD ('Job', 10, ' ') || RPAD ('Manager', 10, ' ') || RPAD ('Hire Date', 12, ' ') || RPAD ('Salary', 10, ' ') || RPAD ('Comm', 10, ' '); pdf_builder_pkg.write (v_hdr); pdf_builder_pkg.set_font ('helvetica'); pdf_builder_pkg. write ( '________________________________________________________________________________'); pdf_builder_pkg.write (CHR (10) || CHR (13)); pdf_builder_pkg.set_font ('courier'); FOR c IN c_emp LOOP v_dtl := RPAD (c.empno, 10, ' ') || RPAD (c.ename, 12, ' ') || RPAD (c.job, 10, ' ') || RPAD (c.mgr, 10, ' ') || RPAD (c.hiredate, 12, ' ') || RPAD (c.sal, 10, ' ') || RPAD (c.comm, 10, ' ') || CHR (10) || CHR (13); pdf_builder_pkg.write (v_dtl); v_rec := v_rec + 1; v_sal := v_sal + c.sal; v_comm := v_comm + NVL (c.comm, 0); END LOOP; pdf_builder_pkg.set_font ('helvetica'); pdf_builder_pkg. write ( '________________________________________________________________________________'); pdf_builder_pkg.set_font ('courier'); pdf_builder_pkg.write ('Records Count:' || v_rec); pdf_builder_pkg.write ('Total Salary:' || v_sal); pdf_builder_pkg.write ('Total Comm:' || v_comm); /* Saving the PDF file by passing directory name and file name */ pdf_builder_pkg.save_pdf ('MY_PDF_DIR', 'emp_report.pdf'); END; /
Anda dapat menemukan file PDF bernama emp_report.pdf di lokasi direktori Anda . Jika Anda ingin lebih banyak referensi perintah untuk paket pdf_builder_pkg, Anda dapat memeriksa tautan berikut untuk mengunduh. Laporan PDF akan terlihat seperti di bawah ini:
Anda juga dapat memeriksa utilitas ini yang dibuat oleh saya untuk menghasilkan templat prosedur PL/SQL sesuai pernyataan SQL Anda. Silakan periksa Buat Template Prosedur PL/SQL.
Lihat juga:
- Membuat File Excel Menggunakan PL/SQL
- Membuat File ZIP Menggunakan PL/SQL
- Ekspor Data ke File JSON di Oracle 11g Menggunakan PL/SQL
-
Hubungkan OEM Anda ke Grafana menggunakan Aplikasi Manajer Perusahaan untuk Grafana
-
Bagaimana cara mengubah skema default di pengembang sql?
-
Oracle - Tampilan Terwujud masih dapat diakses selama penyegaran lengkap. Bagaimana cara kerjanya?
-
Oracle:cara mengurangi dua tanggal dan mendapatkan menit dari hasilnya
-
Bagaimana cara menghapus Mesin Virtual dari VirtualBox