Fusion de PDF
Résolu
gnaoule
Messages postés
24
Date d'inscription
Statut
Membre
Dernière intervention
-
gnaoule Messages postés 24 Date d'inscription Statut Membre Dernière intervention -
gnaoule Messages postés 24 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je voudrais fusionner des fichiers en php en utilisant la librairie fpdf.
Le code marche bien sur un serveur local mais ne marche pas lorsque je le mets en ligne.
voici le code :
EDIT : Correction des balises de code ( ajout du LANGAGE pour avoir la coloration syntaxique et l'indentation )
Explications à lire ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
.
Merci de m'aider
Le code marche bien sur un serveur local mais ne marche pas lorsque je le mets en ligne.
voici le code :
<?php error_reporting(1); require_once('fpdf/fpdf.php'); require_once('fpdi/fpdi.php'); $pdf = new FPDI(); ajouteFichier($pdf,"AP0001.pdf"); ajouteFichier($pdf,"AP0002.pdf"); $pdf->AddPage(); $pdf->SetFont('Arial','B',16); $pdf->SetTextColor(50,50,50); $pdf->Cell(0,10,'Nouvelle Page Annexe',1,1,'C'); $pdf->Output('nouveau_fichier.pdf','F'); function ajouteFichier($pdf,$file) { $nbPage = $pdf->setSourceFile($file); for ($i = 1; $i <= $nbPage; $i++) { $tplidx = $pdf->ImportPage($i); $size = $pdf->getTemplatesize($tplidx); $pdf->AddPage('P', array($size['w'], $size['h'])); $pdf->useTemplate($tplidx); } } ?>
EDIT : Correction des balises de code ( ajout du LANGAGE pour avoir la coloration syntaxique et l'indentation )
Explications à lire ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
.
Merci de m'aider
A voir également:
- $Pdf->setsourcefile
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Save as pdf office 2007 - Télécharger - Bureautique
- Télécharger dictionnaire larousse pdf gratuit - Télécharger - Dictionnaires & Langues
- Notices gratuites pdf - Guide
- Pdf creator - Télécharger - PDF
2 réponses
Bonjour,
Si ton code fonctionne en local.... c'est que le souci ne vient pas de ton code.
As tu des messages d'erreur quand tu lances ton code ?
A minima,
Il faut vérifier que tu as bien tous les fichiers nécessaires sur ton serveur, que toutes les librairies sont bien présentes, que tu as les bons droits d'accès aux fichiers/dossiers.
Il faudrait également regarder les log du serveur pour essayer de trouver la cause de ton souci.
Si ton code fonctionne en local.... c'est que le souci ne vient pas de ton code.
As tu des messages d'erreur quand tu lances ton code ?
A minima,
Il faut vérifier que tu as bien tous les fichiers nécessaires sur ton serveur, que toutes les librairies sont bien présentes, que tu as les bons droits d'accès aux fichiers/dossiers.
Il faudrait également regarder les log du serveur pour essayer de trouver la cause de ton souci.
Merci de me répondre,
lorsque j'exécute le fichier sur le serveur, je vois apparaitre une page blanche sans message erreur. de plus, je me suis rassuré que les librairies soient bien en place.
Mais toujours pareil
lorsque j'exécute le fichier sur le serveur, je vois apparaitre une page blanche sans message erreur. de plus, je me suis rassuré que les librairies soient bien en place.
Mais toujours pareil
Si tu as une page blanche.. c'est que tu as une erreur 500 ...
Il y a donc un souci dans ton script, certaintement lié aux droit d'accès aux fichiers/dossiers et/ou au chargement des scripts de la lib fpdf
NB: ça pourrait aussi venir d'une version php différente sur ton serveur que celle que tu as en local....
Donc :
1 - Faire un phpinfo() pour vérifier les versions de php entre ton local et ton serveur
2 - Utiliser ce phpinfo pour vérifier que les lib php requises pour faire fonctionner fpdf sont actvées
3 - Vérifier les droits du dossier et des fichiers où se trouvent la lib fpdf et ton script
4 - (qui aurait pu être le 1 en fait.... ) regarder dans les logs d'erreurs du serveur ce qui s'affiche.
Il y a donc un souci dans ton script, certaintement lié aux droit d'accès aux fichiers/dossiers et/ou au chargement des scripts de la lib fpdf
NB: ça pourrait aussi venir d'une version php différente sur ton serveur que celle que tu as en local....
Donc :
1 - Faire un phpinfo() pour vérifier les versions de php entre ton local et ton serveur
2 - Utiliser ce phpinfo pour vérifier que les lib php requises pour faire fonctionner fpdf sont actvées
3 - Vérifier les droits du dossier et des fichiers où se trouvent la lib fpdf et ton script
4 - (qui aurait pu être le 1 en fait.... ) regarder dans les logs d'erreurs du serveur ce qui s'affiche.
Merci de me répondre,
après la modification du code,
voici l'erreur qui apparait sur le serveur
PHP Version 5.6.3 en local
PHP version 7.3.23 sur le serveur
Qaund je verifie sur phpinfo les lib Zlib et GD sont actives
après la modification du code,
include('fpdf/fpdf.php');
include('Fpdi/fpdi.php');
$files = ['AP0001.pdf', 'AP0002.pdf'];
$pdf = new FPDI();
// iterate over array of files and merge
foreach ($files as $file) {
$pageCount = $pdf->setSourceFile($file);
for ($i = 0; $i < $pageCount; $i++) {
$tpl = $pdf->importPage($i + 1, '/MediaBox');
$pdf->addPage();
$pdf->useTemplate($tpl);
}
}
$pdf->Output('merged.pdf','F');
voici l'erreur qui apparait sur le serveur
Fatal error: Uncaught Error: Class 'FPDI' not found in /htdocs/PDFMerger/sample.php:10 Stack trace: #0 {main} thrown in /htdocs/PDFMerger/sample.php on line 10
PHP Version 5.6.3 en local
PHP version 7.3.23 sur le serveur
Qaund je verifie sur phpinfo les lib Zlib et GD sont actives