PHP Convert Word to PDF
Dans notre travail quotidien, nous pouvons souvent rencontrer le besoin de convertir des documents Word en PDF. Cet article présentera d'un point de vue pratique comment utiliser PHP pour convertir des documents Word au format PDF.
1. Utilisez la bibliothèque PHPWord pour créer un document Word
Tout d'abord, nous devons utiliser la bibliothèque PHPWord pour créer un document Word. PHPWord est une bibliothèque PHP permettant de créer des documents Word, de lire et d'écrire des documents Microsoft Office Word. Il nous permet de créer, lire et modifier des documents Microsoft Office Word de manière simple.
Nous pouvons télécharger la bibliothèque sur GitHub et la déployer sur notre projet en suivant le guide d'installation. Nous pouvons utiliser le code suivant pour créer un simple document Word.
require_once '../PHPWord/src/PhpWord/Autoloader.php'; \PhpOffice\PhpWord\Autoloader::register(); $phpWord = new \PhpOffice\PhpWord\PhpWord(); $section = $phpWord->addSection(); $section->addText('Hello World!'); $objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007'); $objWriter->save('helloWorld.docx');
Avec le code ci-dessus, nous avons généré avec succès un document Word "helloWorld.docx" contenant "Hello World!".
2. Utilisez unoconv pour convertir le document Word au format PDF
Ensuite, nous devons utiliser unoconv pour convertir le document Word généré à l'étape précédente au format PDF. Unoconv est un outil en ligne de commande permettant de convertir des documents dans différents formats, prenant en charge presque tous les formats de fichiers.
Nous pouvons d'abord installer unoconv sur le serveur et utiliser le code suivant pour convertir les documents Word au format PDF.
$command = "unoconv -f pdf helloWorld.docx"; exec($command, $output); if (empty($output)) { echo '生成PDF文件成功!'; } else { echo '生成PDF文件失败!'; }
Avec le code ci-dessus, nous avons réussi à convertir "helloWorld.docx" en un fichier PDF "helloWorld.pdf" contenant le même contenu.
3. Améliorer le processus de conversion
Selon différents besoins, nous devons améliorer le processus ci-dessus. Par exemple, lors de la génération d'un document Word, nous pouvons définir le titre, le style, la police et d'autres informations du document via l'API fournie par PHPWord ; lors de la conversion du document Word en PDF, nous pouvons utiliser certaines options pour contrôler la génération du PDF ; , comme la définition des attributs de sécurité PDF, la définition de la taille de la page du PDF, etc.
Par exemple, le code suivant utilise l'API PHPWord pour générer un document Word plus complexe et le convertir au format PDF via unoconv.
require_once '../PHPWord/src/PhpWord/Autoloader.php'; \PhpOffice\PhpWord\Autoloader::register(); $phpWord = new \PhpOffice\PhpWord\PhpWord(); $section = $phpWord->addSection(); $section->addText('This is a title', array('size' => 20, 'bold' => true)); $section->addTextBreak(1); $section->addText('This is a paragraph', array('size' => 12, 'color' => '000000', 'bold' => false)); $section->addTextBreak(1); $table = $section->addTable(); $table->addRow(); $table->addCell(3000)->addText('Field A'); $table->addCell(3000)->addText('Field B'); $table->addCell(3000)->addText('Field C'); $table->addRow(); $table->addCell(3000)->addText('Value A'); $table->addCell(3000)->addText('Value B'); $table->addCell(3000)->addText('Value C'); $objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007'); $objWriter->save('document.docx'); $command = "unoconv --format=pdf --output=pdffile.pdf document.docx"; exec($command, $output); if (empty($output)) { echo '生成PDF文件成功!'; } else { echo '生成PDF文件失败!'; }
Avec le code ci-dessus, nous avons réussi à générer un document Word "document.docx" contenant des titres, des paragraphes et des tableaux, et à le convertir en un fichier PDF "pdfFile.pdf" via unoconv.
Résumé
En utilisant la méthode ci-dessus, nous pouvons créer un document Word basé sur PHP et le convertir au format PDF via unoconv. Non seulement cela, nous pouvons également générer des documents Word plus complexes grâce à l'API fournie par PHPWord et contrôler les fichiers PDF générés grâce aux options fournies par unoconv. Cette méthode est à la fois pratique et rapide et peut garantir la beauté du document. Elle est très adaptée à une application dans le travail réel.
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!