web-dev-qa-db-fra.com

Codeigniter comment créer PDF

Je vais créer un système de facturation, je me prépare à cela maintenant ... Je vais utiliser Codeigniter ... Je veux créer une facture dans PDF pour pouvoir l'envoyer. par e-mail.

Quel est votre conseil? Je pensais de la conversion HTML en PDF, Ou affichez la facture à l’écran et installez une imprimante PDF (lorsque vous appuyez sur print et que vous choisissez d’imprimer sur un PDF fichier) .__ Ou créez un document Word et connectez-vous au serveur MySQL, je pense, avec odbc.

Certains d'entre vous ont de l'expérience avec ça?

11
Ralph Schipper

S'il vous plaît cliquer sur ce lien cela devrait fonctionner ..

http://www.php-guru.in/2013/html-to-pdf-conversion-in-codeigniter/

Ou vous pouvez voir ci-dessous 

Il existe plusieurs bibliothèques PHP sur le Web permettant de convertir une page HTML en fichier PDF. Ils sont faciles à implémenter et à déployer lorsque vous travaillez sur n’importe quelle application Web en PHP de base. Mais lorsque nous essayons d’intégrer ces bibliothèques à n’importe quel framework ou modèle, cela devient un travail fastidieux si le framework que nous utilisons n’a pas sa propre bibliothèque pour l’intégrer à aucune bibliothèque PDF. La même situation se présentait à moi lorsqu'il était nécessaire de convertir une page HTML en fichier PDF et que le cadre que j'utilisais était codeigniter.

J'ai cherché sur le Web et obtenu le nombre de bibliothèques PHP permettant de convertir une page HTML en fichier PDF. Après beaucoup de recherches et de recherches sur Google, j'ai décidé d'utiliser la bibliothèque TCPDF PHP pour convertir la page HTML en fichier PDF selon les besoins. J'ai trouvé la bibliothèque TCPDf PHP assez facile à intégrer avec codeigniter et j'ai déclaré travailler dessus. Après avoir terminé avec succès l'intégration de codeigniter et TCPDF, j'ai pensé partager ce script sur le Web.

Maintenant, commençons par l’implémentation du code.

Téléchargez le code de la bibliothèque TCPDF, vous pouvez le télécharger depuis le site Web TCPDF http://www.tcpdf.org/ .

Créez maintenant le dossier «tcpdf» dans le répertoire «application/helpers /» de votre application Web, qui est développé dans Codeigniter. Copiez tous les fichiers de la bibliothèque TCPDF et collez-le dans le répertoire “application/helpers/tcpdf /”. Mettez à jour le fichier de configuration «tcpdf_config.php» de TCPDF, qui se trouve dans le répertoire «application/helpers/tcpdf/config», effectuez les modifications en fonction de vos besoins. Nous pouvons définir le logo, la police, la taille de la police, avec, la hauteur, l'en-tête, etc. dans le fichier cofing. Donnez des autorisations de lecture, d’écriture au dossier «cache» qui se trouve dans le dossier tcpdf. Après avoir défini la structure de votre répertoire, mis à jour le fichier de configuration et attribué les autorisations, votre partie de codage commence ici.

Créez un fichier d'aide PHP dans le répertoire “application/helpers /” de codeigniter, dites “pdf_helper.php”, puis copiez le code ci-dessous et collez-le dans le fichier d'assistance.

Aide: application/helpers/pdf_helper.php

function tcpdf()
{
    require_once('tcpdf/config/lang/eng.php');
    require_once('tcpdf/tcpdf.php');
}

Ensuite, dans le fichier de contrôleur, appelez l’assistant ci-dessus, supposons que notre fichier de contrôleur est «createpdf.php» et qu’il ait la méthode pdf (). La méthode pdf () chargera donc l’assistant «pdf_helper» et contiendra également tout autre code.

Contrôleur: application/controllers/createpdf.php

function pdf()
{
    $this->load->helper('pdf_helper');
    /*
        ---- ---- ---- ----
        your code here
        ---- ---- ---- ----
    */
    $this->load->view('pdfreport', $data);
}

Créez maintenant un fichier de vue, dites «pdfreport.php» dans le répertoire «application/views /», qui est également chargé dans la méthode pdf () dans le contrôleur. Ainsi, dans le fichier view, nous pouvons directement appeler la fonction tcpdf () définie dans l’aide «pdf_helper», qui chargera toutes les classes, fonctions, variables TCPDF requises. Nous pourrons ensuite directement utiliser les exemples de codes TCPDF tels qu’ils figurent dans notre code. contrôleur actuel ou vue. Maintenant dans la vue actuelle “pdfreport” copiez le code ci-dessous:

Voir: application/views/pdfreport.php

tcpdf();
$obj_pdf = new TCPDF('P', PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$obj_pdf->SetCreator(PDF_CREATOR);
$title = "PDF Report";
$obj_pdf->SetTitle($title);
$obj_pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, $title, PDF_HEADER_STRING);
$obj_pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$obj_pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
$obj_pdf->SetDefaultMonospacedFont('helvetica');
$obj_pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$obj_pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
$obj_pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$obj_pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$obj_pdf->SetFont('helvetica', '', 9);
$obj_pdf->setFontSubsetting(false);
$obj_pdf->AddPage();
ob_start();
    // we can have any view part here like HTML, PHP etc
    $content = ob_get_contents();
ob_end_clean();
$obj_pdf->writeHTML($content, true, false, true, false, '');
$obj_pdf->Output('output.pdf', 'I');

Ainsi, notre page HTML sera convertie en PDF à l'aide de TCPDF dans CodeIgniter. Nous pouvons également incorporer des images, des CSS, des modifications dans un fichier PDF à l’aide de la bibliothèque TCPDF.

25
Siraj Khan

TCPDF est la classe PHP pour générer des documents pdf. Ici, nous allons apprendre l'intégration TCPDF avec CodeIgniter. 

Étape 1

Pour télécharger TCPDF Cliquez ici

Étape 2

Décompressez le téléchargement ci-dessus dans application/libraries/tcpdf.

Étape 3

Créez un nouveau fichier dans application/libraries/Pdf.php

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require_once dirname(__FILE__) . '/tcpdf/tcpdf.php';
class Pdf extends TCPDF
{ function __construct() { parent::__construct(); }
}
/*Author:Tutsway.com */
/* End of file Pdf.php */
/* Location: ./application/libraries/Pdf.php */

Étape 4

Créer un fichier contrôleur dans application/controllers/pdfexample.php.

 <?php
    class pdfexample extends CI_Controller{ 
    function __construct()
    { parent::__construct(); } function index() {
    $this->load->library('Pdf');
    $pdf = new Pdf('P', 'mm', 'A4', true, 'UTF-8', false);
    $pdf->SetTitle('Pdf Example');
    $pdf->SetHeaderMargin(30);
    $pdf->SetTopMargin(20);
    $pdf->setFooterMargin(20);
    $pdf->SetAutoPageBreak(true);
    $pdf->SetAuthor('Author');
    $pdf->SetDisplayMode('real', 'default');
    $pdf->Write(5, 'CodeIgniter TCPDF Integration');
    $pdf->Output('pdfexample.pdf', 'I'); }
    }
    ?>

Ça marche pour moi. J'ai pris référence à http://www.tutsway.com/codeignitertcpdf.php

6
Manish

J'ai utilisé MPDF library. Pour plus d'informations, voir ce tutoriel https://arjunphp.com/generating-a-pdf-in-codeigniter-using-mpdf/

5
Sudhir Khadka

J'ai utilisé dompdf avec un certain succès auparavant. Bien que le code HTML mal formé soit parfois un peu délicat, il reste encore certaines méthodes CSS non prises en charge (par exemple, css float ne fonctionne pas).

Téléchargez le paquet depuis github et placez-le dans un dossier appelé dompdf dans votre répertoire application/thirdparty.

Vous pouvez ensuite créer un assistant avec certaines fonctions pour utiliser la bibliothèque dompdf, en voici un exemple:

dompdf_helper.php:

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

function pdf_create($html, $filename='', $stream=TRUE) 
{
    include APPPATH.'thirdparty/dompdf/dompdf_config.inc.php';

    $dompdf = new DOMPDF();
    $dompdf->load_html($html);
    $dompdf->render();
    if ($stream) {
        $dompdf->stream($filename.".pdf", array("Attachment" => 0));
    } else {
        return $dompdf->output();
    }
}

Il vous suffit de transmettre à la méthode pdf_create votre code HTML sous forme de chaîne, le nom du fichier pdf qu’il va générer, puis un troisième paramètre facultatif. Le troisième paramètre est un indicateur true/false permettant de déterminer s’il doit enregistrer le fichier sur votre serveur avant d’inviter l’utilisateur à le télécharger ou non.

2
Jeemusu

Créez un nouveau fichier d'aide pdf dans le dossier application\helpers et nommez-le pdf_helper.php. Ajoutez le code ci-dessous dans le fichier pdf_helper.php:

        function tcpdf()
      {
        require_once('tcpdf/config/lang/eng.php');
        require_once('tcpdf/tcpdf.php');
      }
     ?>

Pour plus S'il vous plaît suivez le lien ci-dessous:

 http://www.ccode4u.com/how-to-generate-pdf-file-in-codeigniter.html
0
Ajay Malhotra

J'ai utilisé mpdf dans mon projet. Dans Codeigniter-3, les fichiers mpdf placés sous application/third_party et ensuite utilisés de cette manière:

 /**
 * This function is used to display data in PDF file.
 * function is using mpdf api to generate pdf.
 * @param number $id : This is unique id of table.
 */
function generatePDF($id){
    require APPPATH . '/third_party/mpdf/vendor/autoload.php';
    //$mpdf=new mPDF();
    $mpdf = new mPDF('utf-8', 'Letter', 0, '', 0, 0, 7, 0, 0, 0);

    $checkRecords =  $this->user_model->getCheckInfo($id);      
    foreach ($checkRecords as $key => $value) {
        $data['info'] = $value;
        $filename = $this->load->view(CHEQUE_VIEWS.'index',$data,TRUE);
        $mpdf->WriteHTML($filename); 
    }

    $mpdf->Output(); //output pdf document.
    //$content = $mpdf->Output('', 'S'); //get pdf document content's as variable. 

}
0
Avnish alok