FPDF / FPDI addPage() Orientation
J'utilise le code suivant pour ajouter une nouvelle page de mon document PDF et l'enregistrer.
require('addons/fpdf.php');
require('addons/fpdi.php');
$pdf = new FPDI();
$pagecount = $pdf->setSourceFile($orgpdfpath);
for($i = 1; $i <= $pagecount; $i++){
$pdf->addPage();
$tplidx = $pdf->importPage($i);
$pdf->useTemplate($tplidx);
}
$pdf->addPage($pdforientation);
$pdf->Image($imgpath,$pdfxaxis,$pdfyaxis,$pdfwith,$pdfheight);
$pdf->Output($orgpdfpath,'F');
Il fonctionne très bien si j'ai un document A4, Page 1: portrait, Page 2: portrait, Page 3: portrait, etc.
Il fonctionne aussi si j'ajoute un paysage Page A4. Cependant, après j'ai ajouté une page de paysage et d'essayer d'ajouter un portrait, le paysage est décalée en arrière pour un portrait et de l'ensemble de la mise en forme du document pauses.
Je soupçonne que cela a à voir quelque chose avec addPage() à l'intérieur de la boucle. Pourquoi ne fait-il pas faire tourner de manière appropriée lors de l'application ->useTemplate?
OriginalL'auteur mmackh | 2012-08-29
Vous devez vous connecter pour publier un commentaire.
J'ai supervisé qu'il y a un appel de fonction ->getTemplateSize().
Voici un travail extrait:
OriginalL'auteur mmackh
Peut-être ce qui permet à l'un ou l'autre, si vous définissez den orientation et il ne fonctionnera pas dans la génération de pdf. J'ai changé la largeur et la hauteur en mode paysage sur AddPage(). Probablement cela devrait être fait automatiquement, mais dans mon cas, en combinaison avec PDFmerger, une classe wrapper pour fpdf/fpdi, il ne le fait pas.
OriginalL'auteur sunixzs
BTW, si vous ne pouvez pas garantir que tous vos documents seront A4 (ce n'est pas votre problème, mais c'était mon problème qui m'a conduit à cette Q) vous pouvez également utiliser la taille de votre modèle pour définir la taille de votre fichier généré pages, en passant par les tailles comme un tableau dans le deuxième arg:
OriginalL'auteur Jeremy Wadhams