Bonjour
Tout d'abord je remercie d'avance ceux et celles qui accepteront de m'aider. Et pardonnez mon manque de savoir en PHP
matériel: local sous xamp en php 8.1 avec windows 11
voici ma demande:
j'ai un dossier documents avec des fichiers identifiés par leurs noms. Chacun de ces fichiers .docx contiennent des variables qui sont issues d'un formulaire afin de les modifier aux informations de la personne.
Plutôt que de faire 50 lignes pour identifier et remplir chacun des fichiers qui sont remplis par le même formulaire, j'aimerais un code qui puisse le faire pour chaque fichier du dossier.
Je sais l'avoir vu mais je ne le retrouve pas et là je sèche dessus.
Une fois les fichiers modifiés il faudrait qu'ils soient dirigés au format pdf (j'ai Dompdf dans le dossier vendor) dans un dossier temporaire dédié au nom de la personne afin d'y être téléchargé.
j'ai ce code pour le moment mais la transformation des docx en pdf pose problème:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 // Settings PDF renderer \PhpOffice\PhpWord\Settings::setPdfRendererPath('vendor/dompdf/dompdf'); \PhpOffice\PhpWord\Settings::setPdfRendererName('DomPDF'); // Ouvre le document $templateProcessor = new \PhpOffice\PhpWord\TemplateProcessor(__DIR__ . '/documents/homme/DOAI.docx'); // Sauvegarde le document avec les occurences remplacées $name_of_file = 'homme/dossier_'. $nom .'_'. time() .'.docx'; $save_file_name = 'documents/'. $name_of_file; $templateProcessor->saveAs($save_file_name); // Converti le document en PDF $temp = \PhpOffice\PhpWord\IOFactory::load($save_file_name); $xmlWriter = \PhpOffice\PhpWord\IOFactory::createWriter($temp , 'PDF'); $xmlWriter->save('documents/homme/dossier_'. $prénom .'_'. $nom .'_'. time() .'.pdf', TRUE)
Partager