Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

पीएल/एसक्यूएल का उपयोग करके पीडीएफ रिपोर्ट कैसे बनाएं

ओरेकल में पीएल/एसक्यूएल का उपयोग करके पीडीएफ रिपोर्ट बनाने के लिए इस उदाहरण को लिखने और देने से पहले, मैंने Google पर बहुत शोध किया, लेकिन मुझे कोई उचित उदाहरण नहीं मिला। तो मैंने सोचा कि मुझे पीएल/एसक्यूएल का उपयोग कर पीडीएफ रिपोर्ट फाइल जेनरेट करने के लिए एक उदाहरण देना चाहिए। ऐसा करने के लिए सबसे पहले, आपको अपने स्कीमा में pdf_builder_pkg डेटाबेस पैकेज इंस्टॉल करना होगा . आप इस पैकेज को नीचे दिए गए लिंक pdf_builder_pkg से डाउनलोड कर सकते हैं।

अपने स्कीमा में उपरोक्त पैकेज स्क्रिप्ट को निष्पादित करने के बाद, आपको अपनी पीडीएफ फाइलों के स्थान के लिए एक डेटाबेस निर्देशिका ऑब्जेक्ट बनाने की आवश्यकता है, जैसा कि नीचे दिखाया गया है:

 MY_PDF_DIR 'D:\abc\plsql_pdfs'/
के रूप में MY_PDF_DIR बनाएं या बदलें

उपरोक्त कमांड में पथ को अपने विंडोज़ निर्देशिका पथ के अनुसार बदलें या यदि आप लिनक्स या यूनिक्स का उपयोग कर रहे हैं तो उनके स्थान के अनुसार, जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है:

निर्देशिका बनाएं या बदलें MY_PDF_DIR AS '/usr09/oracle/files/'/

आप निर्देशिका नाम MY_PDF_DIR को किसी भी नाम में बदल सकते हैं क्योंकि हमें इस निर्देशिका नाम को save_pdf प्रक्रिया के पैरामीटर के रूप में पास करने की आवश्यकता है, जिसे मैं आपको नीचे दिए गए उदाहरण में दिखाऊंगा।

अब आप पहले से ही डेटाबेस पैकेज स्थापित कर चुके हैं और डायरेक्टरी ऑब्जेक्ट बना चुके हैं। अब आप PL/SQL का उपयोग करके PDF रिपोर्ट बनाने की प्रक्रिया लिख ​​सकते हैं . पीएल/एसक्यूएल ब्लॉक का उदाहरण नीचे दिया गया है।

घोषणा कर्सर c_emp है चयन empno, नाम, नौकरी, mgr, काम पर रखना, साल, कॉम, कर्मचारी से विभाग;v_hdr VARCHAR (1000); v_dtl वचरर (1000); v_rec संख्या (10):=0; v_sal संख्या (10):=0; v_comm संख्या (10):=0; BEGIN /* पैकेज आरंभ करने के लिए पहली पंक्ति*/ pdf_builder_pkg.init; /* शीर्षक के लिए फ़ॉन्ट को बोल्ड पर सेट करें*/ pdf_builder_pkg.set_font ('हेल्वेटिका', 'बी'); /* pdf_builder_pkg.लिखने की प्रक्रिया का उपयोग करके एक पंक्ति लिखें*/ pdf_builder_pkg.write ('कर्मचारी रिपोर्ट'); /* फ़ॉन्ट को सामान्य पर सेट करें */ pdf_builder_pkg.set_font ('हेल्वेटिका'); पीडीएफ_बिल्डर_पीकेजी। लिखें ('मुद्रित तिथि:' || SYSDATE, -1, p_alignment => 'दाएं'); पीडीएफ_बिल्डर_पीकेजी। लिखना ( '________________________________________________________________________________'); pdf_builder_pkg.लिखें (' ' || सीएचआर (10) || सीएचआर (13)); /* बेहतर संरेखण के लिए फ़ॉन्ट कूरियर सेट करना*/ pdf_builder_pkg.set_font ('कूरियर'); v_hdr :=RPAD ('Emp No.', 10, ' ') || आरपीएडी ('एम्प नेम', 12, '' ') || आरपीएडी ('नौकरी', 10, ' ') || आरपीएडी ('प्रबंधक', 10, '') || आरपीएडी ('किराया तिथि', 12, '') || आरपीएडी ('वेतन', 10, '') || आरपीएडी ('कॉम', 10, ''); pdf_builder_pkg.लिखें (v_hdr); pdf_builder_pkg.set_font ('हेल्वेटिका'); पीडीएफ_बिल्डर_पीकेजी। लिखना ( '________________________________________________________________________________'); pdf_builder_pkg.लिखें (सीएचआर (10) || सीएचआर (13)); pdf_builder_pkg.set_font ('कूरियर'); c_emp लूप में c के लिए v_dtl:=RPAD (c.empno, 10, '') || आरपीएडी (सी. नाम, 12, '') || आरपीएडी (सी.जॉब, 10, '') || आरपीएडी (सी.एमजीआर, 10, '') || आरपीएडी (सी. हायरडेट, 12, '') || आरपीएडी (सी.साल, 10, '') || आरपीएडी (सी.कॉम, 10, '') || सीएचआर (10) || सीएचआर (13); pdf_builder_pkg.लिखें (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 ('हेल्वेटिका'); पीडीएफ_बिल्डर_पीकेजी। लिखना ( '________________________________________________________________________________'); pdf_builder_pkg.set_font ('कूरियर'); pdf_builder_pkg.write ('रिकॉर्ड्स काउंट:' || v_rec); pdf_builder_pkg.लिखें ('कुल वेतन:' || v_sal); pdf_builder_pkg.लिखें ('कुल कॉम:' || v_comm); /* निर्देशिका नाम और फ़ाइल नाम पास करके PDF फ़ाइल सहेजना */ pdf_builder_pkg.save_pdf ('MY_PDF_DIR', 'emp_report.pdf'); अंत; // पूर्व> 

आप अपने निर्देशिका स्थान पर emp_report.pdf नाम की पीडीएफ फाइल ढूंढ सकते हैं . यदि आप पैकेज pdf_builder_pkg के लिए अधिक कमांड संदर्भ चाहते हैं, तो आप डाउनलोड करने के लिए निम्न लिंक की जांच कर सकते हैं। पीडीएफ रिपोर्ट नीचे दिखाए अनुसार दिखेगी:

आप अपने एसक्यूएल स्टेटमेंट के अनुसार पीएल/एसक्यूएल प्रक्रिया टेम्पलेट जेनरेट करने के लिए मेरे द्वारा बनाई गई इस उपयोगिता को भी देख सकते हैं। कृपया जनरेट करें PL/SQL प्रक्रिया टेम्पलेट देखें।

यह भी देखें:

  • पीएल/एसक्यूएल का उपयोग करके एक्सेल फाइलें बनाएं
  • PL/SQL का उपयोग करके ज़िप फ़ाइलें बनाएं
  • PL/SQL का उपयोग करके Oracle 11g में JSON फ़ाइल में डेटा निर्यात करें

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle में कुछटेबल से COUNT(*) चुनने के लिए तेज़ विकल्प

  2. क्या हम किसी तालिका के प्राथमिक कुंजी मान अपडेट कर सकते हैं?

  3. JDBC का उपयोग करके संग्रहीत कार्यविधि से Oracle तालिका प्रकार प्राप्त करें

  4. Oracle:कैसे पता करें कि कोई लेन-देन लंबित है या नहीं?

  5. CTE से सम्मिलित करें