{"id":3070,"date":"2018-12-11T15:04:33","date_gmt":"2018-12-11T09:34:33","guid":{"rendered":"https:\/\/pheonixsolutions.com\/blog\/?p=3070"},"modified":"2019-02-07T15:41:50","modified_gmt":"2019-02-07T10:11:50","slug":"dompdf-codeigniter","status":"publish","type":"post","link":"https:\/\/pheonixsolutions.com\/blog\/dompdf-codeigniter\/","title":{"rendered":"dompdf codeigniter"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>Date Posted : 10-12-2018<\/strong><br><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>What is Dompdf?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dompdf&nbsp; is a HTML to PDF converter. It is a great library and can create a PDF from HTML markup and CSS styles (it\u2019s mostly CSS 2.1 compliant and has support for some CSS3 properties).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Step 1<\/strong>: Initially, download the fresh version of Codeigniter 3 and configure it in xampp.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Step 2<\/strong>: Create the file&nbsp; &nbsp;name called &#8220;<strong>&nbsp;Pdf.php<\/strong>&nbsp;&#8221; . Place this file inside the <strong>application\/libraries\/<\/strong> and copy the following code.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: php; title: ; notranslate\" title=\"\">\n&lt;?php defined(&#039;BASEPATH&#039;) OR exit(&#039;No direct script access allowed&#039;);\n\trequire_once(dirname(__FILE__) . &#039;\/dompdf\/dompdf_config.inc.php&#039;);\n\tclass Pdf extends DOMPDF\n\t{\n\t\t\/**\n\t\t * Get an instance of CodeIgniter\n\t\t *\n\t\t * @access\tprotected\n\t\t * @return\tvoid\n\t\t *\/\n\t\tprotected function ci()\n\t\t{\n\t\t\treturn get_instance();\n\t\t}\n\t\t\/**\n\t\t * Load a CodeIgniter view into domPDF\n\t\t *\n\t\t * @access\tpublic\n\t\t * @param\tstring\t$view The view to load\n\t\t * @param\tarray\t$data The view data\n\t\t * @return\tvoid\n\t\t *\/\n\t\tpublic function load_view($view, $data = array())\n\t\t{\n\t\t\t$html = $this-&gt;ci()-&gt;load-&gt;view($view, $data, TRUE);\n\t\t\t$this-&gt;load_html($html);\n\t\t}\n\t}\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\"><strong>Step 3<\/strong>: Dompdf: we have to download dompdf library from GitHub, So let&#8217;s download from here : <a href=\"https:\/\/github.com\/dompdf\/dompdf\" target=\"_blank\" rel=\"noopener\">Click Here <\/a>to download dompdf. After download extract it to your &#8220;application\/libraries&#8221; folder and rename it to &#8220;dompdf&#8221;.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Step 4:<\/strong> In this step, we will add one route &#8220;<strong>mypdf<\/strong>&#8221; for <strong>demo<\/strong>, that way when we run this route we will download pdf file, So let&#8217;s add following route on your <strong>routes.php<\/strong> file.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">application\/config\/routes.php<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&amp;lt;?php\ndefined(&#039;BASEPATH&#039;) OR exit(&#039;No direct script access allowed&#039;);\n\n\n$route&#x5B;&#039;default_controller&#039;] = &#039;welcome&#039;;\n$route&#x5B;&#039;404_override&#039;] = &#039;&#039;;\n$route&#x5B;&#039;translate_uri_dashes&#039;] = FALSE;\n$route&#x5B;&#039;mypdf&#039;] = &quot;welcome\/mypdf&quot;;\n\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\"><strong>Step 5<\/strong>: In this step we require to add &#8220;mypdf&#8221; method on welcome controller, So let&#8217;s add with following code. you have to just copy of <strong>welcome.php<\/strong> controller file:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">application\/controllers\/Welcome.php<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&amp;lt;?php\ndefined(&#039;BASEPATH&#039;) OR exit(&#039;No direct script access allowed&#039;);\n\n\nclass Welcome extends CI_Controller {\n\n\n  \/**\n    * Get All Data from this method.\n    *\n    * @return Response\n   *\/\n   public function index()\n   {\n\t$this-&amp;gt;load-&amp;gt;view(&#039;welcome_message&#039;);\n   }\n\n\n   \/**\n    * Get Download PDF File\n    *\n    * @return Response\n   *\/\n   function mypdf(){\n\n\n\t$this-&amp;gt;load-&amp;gt;library(&#039;pdf&#039;);\n\n\n  \t$this-&amp;gt;pdf-&amp;gt;load_view(&#039;mypdf&#039;);\n  \t$this-&amp;gt;pdf-&amp;gt;render();\n\n\n  \t$this-&amp;gt;pdf-&amp;gt;stream(&quot;welcome.pdf&quot;);\n   }\n}\n\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\"><strong>Step 6:<\/strong> Adding View File<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now at last step we require to create &#8220;<strong>mypdf.php<\/strong>&#8221; view file for generate pdf file. So now as below i created &#8220;<strong>mypdf.php<\/strong>&#8221; with some html code, so you have to copy below code and create on view folder:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">application\/views\/mypdf.php<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&amp;lt;!DOCTYPE html&amp;gt;\n&amp;lt;html&amp;gt;\n&amp;lt;head&amp;gt;\n\t&amp;lt;title&amp;gt;Codeigniter 3 - Generate PDF from view using dompdf library with example&amp;lt;\/title&amp;gt;\n&amp;lt;\/head&amp;gt;\n&amp;lt;body&amp;gt;\n\n\n&amp;lt;h1&amp;gt;Codeigniter 3 - Generate PDF from view using dompdf library with example&amp;lt;\/h1&amp;gt;\n&amp;lt;table style=&quot;border:1px solid red;width:100%;&quot;&amp;gt;\n\t&amp;lt;tr&amp;gt;\n\t\t&amp;lt;th style=&quot;border:1px solid red&quot;&amp;gt;Id&amp;lt;\/th&amp;gt;\n\t\t&amp;lt;th style=&quot;border:1px solid red&quot;&amp;gt;Name&amp;lt;\/th&amp;gt;\n\t\t&amp;lt;th style=&quot;border:1px solid red&quot;&amp;gt;Email&amp;lt;\/th&amp;gt;\n\t&amp;lt;\/tr&amp;gt;\n\t&amp;lt;tr&amp;gt;\n\t\t&amp;lt;td style=&quot;border:1px solid red&quot;&amp;gt;1&amp;lt;\/td&amp;gt;\n\t\t&amp;lt;td style=&quot;border:1px solid red&quot;&amp;gt;Hardik&amp;lt;\/td&amp;gt;\n\t\t&amp;lt;td style=&quot;border:1px solid red&quot;&amp;gt;user@email.com&amp;lt;\/td&amp;gt;\n\t&amp;lt;\/tr&amp;gt;\n\t&amp;lt;tr&amp;gt;\n\t\t&amp;lt;td style=&quot;border:1px solid red&quot;&amp;gt;2&amp;lt;\/td&amp;gt;\n\t\t&amp;lt;td style=&quot;border:1px solid red&quot;&amp;gt;Paresh&amp;lt;\/td&amp;gt;\n\t\t&amp;lt;td style=&quot;border:1px solid red&quot;&amp;gt;user@email.com&amp;lt;\/td&amp;gt;\n\t&amp;lt;\/tr&amp;gt;\n&amp;lt;\/table&amp;gt;\n\n\n&amp;lt;\/body&amp;gt;\n&amp;lt;\/html&amp;gt;\n\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Ok, now we are ready to run our <strong>PDF generator example<\/strong>. So let&#8217;s run below command on your root directory for quick run:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nhttp:\/\/localhost\/mypdf\n<\/pre><\/div>","protected":false},"excerpt":{"rendered":"<p>Date Posted : 10-12-2018 What is Dompdf? Dompdf&nbsp; is a HTML to PDF converter. It is a great library and [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"status","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[1022],"tags":[509,511,510,273],"class_list":["post-3070","post","type-post","status-publish","format-status","hentry","category-web-architecture","tag-codeiginiter","tag-dompdf","tag-html-to-pdf","tag-php","post_format-post-format-status","psol-cat-web-architecture"],"jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/phn2x7-Nw","jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/3070","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/comments?post=3070"}],"version-history":[{"count":0,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/3070\/revisions"}],"wp:attachment":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/media?parent=3070"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/categories?post=3070"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/tags?post=3070"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}