saveAs('test.docx');" et enfin, convertissez "test.docx" en "test.pdf". " C'est ça."/> saveAs('test.docx');" et enfin, convertissez "test.docx" en "test.pdf". " C'est ça.">

Maison >développement back-end >Problème PHP >Comment convertir un document en pdf en php

Comment convertir un document en pdf en php

藏色散人
藏色散人original
2020-09-02 10:01:494892parcourir

Comment convertir un document en pdf en php : introduisez d'abord le fichier de chargement automatique ; puis chargez le fichier Word du modèle via "$templateProcessor->saveAs('test.docx');"; .docx" Convertissez-le simplement en "test.pdf".

Comment convertir un document en pdf en php

Recommandé : "Tutoriel vidéo PHP"

php modifier des fichiers PDF, php word en PDF, php modifier word , phpoffice, phpword, libreoffice

Ne dites pas de bêtises, parlez juste des besoins

1 Chef de projet : "Xiao Jiang, j'ai un contrat ici au format Word. Vous pouvez générer. il est au format PDF et le contenu à l'intérieur peut être modifié."

Idée générale

1. J'ai été un peu choqué lorsque j'ai rencontré ce genre de demande. De quel genre de demande s'agit-il, je ne l'ai jamais rencontré auparavant ? Ensuite Google, Baidu, etc. ont beaucoup de choses à recommander. J'ai également consulté plusieurs bibliothèques PHP tierces qui génèrent généralement des PDF.

Il existe tcpdf, zend framework, fpdf, etc. tcpdf génère du pdf Pour être plus direct, le contenu du document doit être écrit en html et css. Si vous souhaitez l'utiliser sans vomir de sang, là. est un pdf généré par la bibliothèque de classes Zend, mais il a un défaut fatal, il ne prend pas en charge le chinois, le chinois sera tronqué, et il en va de même pour fpdf. Je les ai tous essayés, mais rien n'a fonctionné. J'avais l'impression que j'allais être tué par cette chose. Quand j'étais sur le point d'abandonner, j'ai vu phpword et j'ai vu de l'espoir. forte. Bonne nourriture, mais je n'ai pas eu d'autre choix que de télécharger un convertisseur libreoffice, et j'ai à peine rempli cette exigence. Hélas, j'ai trouvé cela très difficile, donc je dois le partager. S'il existe une meilleure façon, veuillez commenter ci-dessous :

1. Introduisez directement le fichier de chargement automatique

require_once ’ vendor/phpoffice/phpword/bootstrap.php’;

2.

       $templateProcessor = new      \PhpOffice\PhpWord\TemplateProcessor('layout.docx');
       $templateProcessor->setValue('name', 'AAAAAAA');
       $templateProcessor->setValue('ID_card', '36042819950812782112');
       $templateProcessor->setValue('mobile', '12312341234');
       $templateProcessor->setValue('adress', '广东省深圳市宝安区西乡');
       $templateProcessor->saveAs('test.docx');

La description du code ci-dessus : chargez le fichier Word de notre modèle et nous y définissons le format de variable à ${name} et ainsi de suite, le test.docx généré attribue la valeur de setValue à la variable, n'est-ce pas étonnant ?

3. Enfin, convertissez test.docx en test.pdf Cette étape est également très triste. J'ai vérifié beaucoup d'informations et j'ai toujours pensé qu'il existe une bibliothèque tierce qui peut résoudre le problème, mais. Je ne l'ai toujours pas trouvé. Libreoffice est un logiciel open source, c'est une grosse chose, de taille proche de 1G. L'utilisation est présentée ci-dessous :

system(“export HOME=/tmp/ && libreoffice --invisible --convert-to pdf --outdir /phpstudy/www/Uploads/activity/2017-02-28/ /phpstudy/www/Uploads/activity/2017-02-28/58b53f9cad22e.xls 2>&1”);

Utilisez directement la fonction système

Cet article le présentera ici. Les amis qui ont des questions sont invités à commenter ci-dessous.

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:
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