|
1 | 1 | # GEN_PDF |
2 | | -GEN_PDF is PL/SQL based generator for PDF |
| 2 | + |
| 3 | +## Demo |
| 4 | +A demo application is available on apex.oracle.com<br/> |
| 5 | +https://apex.oracle.com/pls/apex/f?p=89939 |
| 6 | + |
| 7 | + |
| 8 | +## Changelog |
| 9 | +V 1.0. |
| 10 | +<ul> |
| 11 | +<li>Release date : 14/10/2015</li> |
| 12 | +</ul> |
| 13 | + |
| 14 | + |
| 15 | +## About |
| 16 | + |
| 17 | +GEN_PDF is PL/SQL based generator for PDF. |
| 18 | + |
| 19 | +GEN_PDF is mix of WPDF(1.4.8b) and AS_PDF3. |
| 20 | + |
| 21 | +Why ? |
| 22 | +- WPDF is great for setting position of custom tables, colors, borders ... |
| 23 | +- AS_PDF3 is great for importing fonts into PDF |
| 24 | + |
| 25 | +GEN_PDF is set to work on apex. Fonts and images are stored in WWV_FLOW_FILES or CUSTOM table, so there is no need to use UTL.FILE package (like in AS_PDF3) |
| 26 | +and there is also no need for "ordsys.ordImage" (like in PL_FPDF which don't work on XE db). |
| 27 | + |
| 28 | +You can find more info inside "GEN_PDF.pks" |
| 29 | + |
| 30 | + |
| 31 | + |
| 32 | +## How to use it |
| 33 | + |
| 34 | +Inside package are few samples which demonstrate almost all functionality of GEN_PDF tool. |
| 35 | + |
| 36 | + |
| 37 | +### List of samples inside package : |
| 38 | +<ul> |
| 39 | +<li>procedure emp_demo</li> |
| 40 | +<li>procedure fonts_demo</li> |
| 41 | +<li>procedure barcode_demo</li> |
| 42 | +<li>procedure rotate_demo</li> |
| 43 | +<li>procedure images_demo</li> |
| 44 | +<li>procedure testHeader</li> |
| 45 | +<li>procedure chart_demo</li> |
| 46 | +</ul> |
| 47 | + |
| 48 | +### Run sample: |
| 49 | + |
| 50 | + Add apex Non-Modal dialog page and before header in process add PL/SQL code |
| 51 | + ```sql |
| 52 | +BEGIN |
| 53 | + gen_pdf.emp_demo(); |
| 54 | + apex_application.stop_apex_engine; |
| 55 | +END; |
| 56 | +``` |
| 57 | + |
| 58 | +### Needed Rights |
| 59 | +For last sample "chart_demo" to work you need : |
| 60 | +1. Grant on UTL_HTTP |
| 61 | +```sql |
| 62 | + GRANT EXECUTE ON UTL_HTTP TO <USER>; |
| 63 | +``` |
| 64 | +2. ACL permissions to get Google chart and QR code |
| 65 | + |
| 66 | +```sql |
| 67 | + BEGIN |
| 68 | + DBMS_NETWORK_ACL_ADMIN.CREATE_ACL ( |
| 69 | + acl => 'chart.xml', |
| 70 | + description => 'Permissions to get chart image', |
| 71 | + principal => 'APEX_050000', -- APEX_SCHEMA depands on APEX version |
| 72 | + is_grant => TRUE, |
| 73 | + privilege => 'connect'); |
| 74 | + COMMIT; |
| 75 | + END; |
| 76 | + / |
| 77 | + BEGIN |
| 78 | + DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL ( |
| 79 | + acl => 'chart.xml', |
| 80 | + host => 'chart.googleapis.com'); |
| 81 | + COMMIT; |
| 82 | + END; |
| 83 | + / |
| 84 | + BEGIN |
| 85 | + DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL ( |
| 86 | + acl => 'chart.xml', |
| 87 | + host => 'zxing.org'); |
| 88 | + COMMIT; |
| 89 | + END; |
| 90 | + / |
| 91 | +``` |
| 92 | + |
| 93 | +In case you need to save file on server you can enable procedure "save_pdf". |
| 94 | + |
| 95 | +If you need reed file from server "font or pdf" than enable function "file2blob". |
| 96 | + |
| 97 | +For this to work you need grant on UTL_FILE.<br/> |
| 98 | +```sql |
| 99 | + GRANT EXECUTE ON UTL_FILE TO <USER>; |
| 100 | +``` |
| 101 | + |
| 102 | + |
| 103 | + |
| 104 | +## About me |
| 105 | +Andrej Grlica<br/> |
| 106 | +I’m a oracle apex developer since 2008.<br/> |
| 107 | +Work email : [andrej.grlica@abakus.si](mailto:andrej.grlica@abakus.si)<br/> |
| 108 | +Private email : [andrej.grlica@gmail.com](mailto:andrej.grlica@gmail.com)<br/> |
| 109 | +Twitter : [@AndrejGrlica](https://twitter.com/AndrejGrlica)<br/> |
| 110 | +Linked-in : [Link](https://www.linkedin.com/in/andrej-grlica-303998a4/)<br/> |
| 111 | +Slack (#orclapex) PM:[@grlicaa](https://orclapex.slack.com/messages/@grlicaa/) |
| 112 | + |
0 commit comments