Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Cara Membuat Laporan PDF Menggunakan PL/SQL

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hubungkan OEM Anda ke Grafana menggunakan Aplikasi Manajer Perusahaan untuk Grafana

  2. Bagaimana cara mengubah skema default di pengembang sql?

  3. Oracle - Tampilan Terwujud masih dapat diakses selama penyegaran lengkap. Bagaimana cara kerjanya?

  4. Oracle:cara mengurangi dua tanggal dan mendapatkan menit dari hasilnya

  5. Bagaimana cara menghapus Mesin Virtual dari VirtualBox