Maison développement back-end tutoriel php Le framework TP présente les étapes et les solutions du plug-in tcpdf pour les caractères chinois tronqués TCPD

Le framework TP présente les étapes et les solutions du plug-in tcpdf pour les caractères chinois tronqués TCPD

Apr 26, 2019 pm 05:31 PM
pdf文件 tcpdf thinkphp5

Cet article parle principalement des étapes pour introduire le plug-in tcpdf dans le framework TP et de la solution aux caractères chinois tronqués TCPD. Il a une certaine valeur d'apprentissage. Les amis dans le besoin peuvent y jeter un œil. .

Lors de la réalisation de projets, j'ai utilisé HTML pour générer des PDF et j'ai trouvé que la fonction du plug-in TCPDF était plus adaptée, j'ai donc choisi ce plug-in. Le processus spécifique est le suivant :

1. Téléchargez la dernière version de TCPDF via Composer et basculez vers le programme. Exécutez la commande suivante dans le répertoire racine (changement de commande DOS sous Windows) :

composer require tecnickcom/tcpdf

Après. la commande est exécutée avec succès, TCPDF sera téléchargé dans le dossier du fournisseur dans le répertoire racine du programme, tel que Picture :

Il y a plus de 60 exemples typiques dans les exemples. aux exemples des fonctions dont vous avez besoin. Pour la liste d'exemples correspondante, consultez le site officiel de TCPDF : https://tcpdf.org/examples/

2. Appelez TCPDF dans le contrôleur.

utilisez TCPDF;

3. Collez le code de l'exemple officiel directement dans la méthode et exécutez-le avec succès.

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nicola Asuni');
$pdf->SetTitle('TCPDF Example 001');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 001', PDF_HEADER_STRING, array(0,64,255), array(0,64,128));
$pdf->setFooterData(array(0,64,0), array(0,64,128));
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {
    require_once(dirname(__FILE__).'/lang/eng.php');
    $pdf->setLanguageArray($l);
}
$pdf->setFontSubsetting(true);
$pdf->SetFont('dejavusans', '', 14, '', true);
$pdf->AddPage();
$pdf->setTextShadow(array('enabled'=>true, 'depth_w'=>0.2, 'depth_h'=>0.2, 'color'=>array(196,196,196), 'opacity'=>1, 'blend_mode'=>'Normal'));
$html = <<<EOD
<h1>Welcome to <a href="http://www.tcpdf.org" style="text-decoration:none;background-color:#CC0000;color:black;"> <span style="color:black;">TC</span><span style="color:white;">PDF</span> </a>!</h1>
<i>This is the first example of TCPDF library.</i>
<p>This text is printed using the <i>writeHTMLCell()</i> method but you can also use: <i>Multicell(), writeHTML(), Write(), Cell() and Text()</i>.</p>
<p>Please check the source code documentation and other examples for further information.</p>
<p style="color:#CC0000;">TO IMPROVE AND EXPAND TCPDF I NEED YOUR SUPPORT, PLEASE <a href="http://sourceforge.net/donate/index.php?group_id=128076">MAKE A DONATION!</a></p>
EOD;
$pdf->writeHTMLCell(0, 0, &#39;&#39;, &#39;&#39;, $html, 0, 1, 0, true, &#39;&#39;, true);
$pdf->Output(&#39;example_001.pdf&#39;, &#39;I&#39;);
Copier après la connexion

Notes :

1. Étant donné que TCPDF utilise des délimiteurs pour afficher le HTML et d'autres contenus, $html dans le code ci-dessus doit être dans le même format jusqu'à EOD.

2. ThinkPHP doit désactiver le mode de débogage, sinon la sortie sera tronquée.

Solution aux caractères chinois tronqués TCPD
La dernière version de TCPDF prend déjà en charge le chinois. Spécifiez simplement l'encodage chinois dans la méthode de génération de PDF.

$pdf->SetFont(&#39;stsongstdlight&#39;, &#39;&#39;, 12);
Copier après la connexion

Solution au problème selon lequel TCPDF ne peut pas enregistrer les noms de fichiers chinois

Lorsque PHP utilise TCPDF pour générer des fichiers PDF, si le nom du fichier est en chinois, il sera directement filtré, comme suit. C'est la solution au problème selon lequel TCPDF ne peut pas enregistrer les noms de fichiers chinois :

Ouvrez le fichier tcpdf.php et recherchez la fonction de sortie, qui concerne la ligne 7554.

1. Commentez le code suivant, environ aux lignes 7565-7568 :

if ($dest[0] != &#39;F&#39;) {
    $name = preg_replace(&#39;/[\s]+/&#39;, &#39;_&#39;, $name);
    $name = preg_replace(&#39;/[^a-zA-Z0-9_\.-]/&#39;, &#39;&#39;, $name);
}
Copier après la connexion

2. Recherchez le code de la méthode et remplacez le code suivant, environ aux lignes 7639, 7670, 7693. , et 7718 respectivement.

header(&#39;Content-Disposition: attachment; filename="&#39;.basename($name).&#39;"&#39;);
Copier après la connexion

est remplacé par

header(&#39;Content-Disposition: attachment; filename="&#39;.$name.&#39;"&#39;);
Copier après la connexion

Les codes ci-dessus sont respectivement en cas 'I' : (imprimer le PDF), cas 'D' : (télécharger le PDF), cas 'FD de cette méthode ': (enregistrer dans un fichier local).

De cette façon, lorsque PHP utilise TCPDF pour générer des fichiers PDF, il peut être enregistré sous un nom chinois.

Tutoriels associés : Tutoriel vidéo thinkPHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Utilisez Python et WebDriver pour capturer des pages Web et les enregistrer sous forme de fichiers PDF Utilisez Python et WebDriver pour capturer des pages Web et les enregistrer sous forme de fichiers PDF Jul 08, 2023 pm 10:55 PM

Utilisez Python et WebDriver pour capturer des pages Web et les enregistrer sous forme de fichiers PDF Résumé : Lors du développement et des tests Web, il est souvent nécessaire de capturer des pages Web à des fins d'analyse, d'enregistrement et de création de rapports. Cet article explique comment utiliser Python et WebDriver pour prendre des captures d'écran de pages Web et enregistrer les captures d'écran sous forme de fichiers PDF pour un partage et un archivage faciles. 1. Installez et configurez SeleniumWebDriver : Installez Python : Visitez le site officiel de Python (https :

Créez des filigranes et des images d'arrière-plan en utilisant PHP et TCPDF Créez des filigranes et des images d'arrière-plan en utilisant PHP et TCPDF May 11, 2023 am 08:37 AM

Avec l'avènement d'Internet et de l'ère numérique, les images sont de plus en plus utilisées, en particulier dans certaines situations où il est nécessaire d'ajouter des filigranes ou des images d'arrière-plan aux images pour garantir la sécurité des informations et la protection des droits d'auteur. À l'heure actuelle, nous pouvons utiliser le langage PHP et la bibliothèque TCPDF pour implémenter le filigrane et le traitement de l'image d'arrière-plan des images. Voici la méthode d'implémentation spécifique. 1. Installez la bibliothèque TCPDF TCPDF est une bibliothèque de classes PHP open source utilisée pour créer des documents PDF, mais elle fournit également des outils pour créer des images. L'installation de la bibliothèque de classes TCPDF est relativement simple, nous

Comment utiliser TCPDF avec CakePHP ? Comment utiliser TCPDF avec CakePHP ? Jun 05, 2023 pm 12:40 PM

CakePHP est un framework PHP très populaire qui fournit de nombreuses méthodes pratiques pour le développement d'applications Web. TCPDF est une bibliothèque de génération de PDF très couramment utilisée lorsque nous devons générer des fichiers PDF dans des applications. Cet article explique comment utiliser TCPDF dans CakePHP. Installer TCPDF Tout d'abord, nous devons installer TCPDF dans notre projet CakePHP. Cela peut être fait de plusieurs manières, par exemple en copiant manuellement le TCPDF dans le v du projet.

Créez des codes-barres et des codes QR en utilisant PHP et TCPDF Créez des codes-barres et des codes QR en utilisant PHP et TCPDF May 11, 2023 pm 04:42 PM

Les codes-barres et les codes QR sont des outils importants largement utilisés dans la vie moderne. Ils sont largement utilisés dans des domaines variés tels que la logistique, la vente au détail, le médical, le paiement, etc. Cet article explique comment créer des codes-barres et des codes QR à l'aide de PHP et de la bibliothèque TCPDF. 1. Qu'est-ce que TCPDF ? TCPDF est une bibliothèque PHP permettant de générer des documents PDF. C'est gratuit, open source et déjà largement utilisé dans de nombreux projets. En plus de générer des documents PDF, TCPDF fournit également la fonction de création de codes-barres et de codes QR. 2. Comment installer T

Que dois-je faire si j'obtiens une erreur lors du déploiement de thinkphp5 dans Pagoda ? Que dois-je faire si j'obtiens une erreur lors du déploiement de thinkphp5 dans Pagoda ? Dec 19, 2022 am 11:04 AM

Solution à l'erreur signalée lors du déploiement de thinkphp5 dans Pagoda : 1. Ouvrez le serveur Pagoda, installez l'extension php pathinfo et activez-la ; 2. Configurez le fichier « .access » avec le contenu « RewriteRule ^(.*)$ index.php » ?s=/$1 [QSA ,PT,L]”; 3. Dans la gestion du site Web, activez simplement le pseudo-statique de thinkphp.

Comment convertir des fichiers HTML en fichiers PDF Comment convertir des fichiers HTML en fichiers PDF Apr 02, 2024 pm 02:02 PM

Méthode de conversion : 1. Les outils de conversion en ligne, tels que pdfcrowd et online2pdf, peuvent convertir rapidement des fichiers HTML en PDF sans installation. 2. Les plug-ins du navigateur, tels que le plug-in HTML vers PDF de Chrome, permettent d'effectuer la conversion directement dans le navigateur. 3. Les logiciels professionnels, tels qu'Adobe Acrobat et Foxit PhantomPDF, offrent des fonctions plus complètes et prennent en charge une conversion par lots rapide et des options de sortie avancées.

Que dois-je faire si la réécriture d'URL thinkphp5 échoue ? Que dois-je faire si la réécriture d'URL thinkphp5 échoue ? Dec 12, 2022 am 09:31 AM

Solution pour que la réécriture d'URL thinkphp5 ne fonctionne pas : 1. Vérifiez si le module mod_rewrite.so est chargé dans le fichier de configuration httpd.conf ; 2. Remplacez None dans AllowOverride None par All ; (.*)$ index.php [L,E=PATH_INFO:$1]" et enregistrez-le.

Comment obtenir l'URL demandée dans thinkphp5 Comment obtenir l'URL demandée dans thinkphp5 Dec 20, 2022 am 09:48 AM

Méthodes permettant à thinkphp5 d'obtenir l'URL demandée : 1. Utilisez la méthode "$request = Request::instance();" de la classe "\think\Request" pour obtenir les informations actuelles sur l'URL ; fonction "$request-> url()" pour obtenir l'adresse URL complète incluant le nom de domaine.

See all articles