crashoverride Posted January 23, 2014 Share Posted January 23, 2014 Bonjour à tous ! Je pose la question sur la communauté car là, j'avoue ne pas comprendre le soucis.. Lorsque je génère un PDF d'une commande de quelque produits (donc sur une seule page), aucun soucis tout est parfait. Par contre, si j'ai trop de produit et que le PDF ce génère sur 2 ou plusieurs pages, alors j'ai un message d'erreur sur acrobat reader ( "Cette page contient une erreur. Acrobat risque de ne pas afficher cete page correctement"). Et c'est le cas,la première page pas de soucis, mais la page deux est presque vide, je n'ai pas les produits, pas le total etc.. Ce problème apparait sur acrobat mais pas sur la visionneuse de mac os x par ex.. J'ai vérifié plusieurs chose, cache, droits, version de TCPDF (5.9) Je suis sur prestashop 1.5.9 Si quelqu'un a une idée, je suis preneur !! Merci d'avance Bonne journée à tous ! Link to comment Share on other sites More sharing options...
tuk66 Posted February 14, 2014 Share Posted February 14, 2014 (edited) Pour autant que je sais que cela est un problème non résolu. Factures multi-pages sont parfois présentés endommagé. Je ne peux que montrer un exemple de travail par le module M4 Extensions PDF (pas libre) à www.presta-addons.com/pdf/Invoice - multipage multifont.pdf. As far as I know this is unresolved problem. Multi-page invoices are sometimes shown damaged. I can only demonstrate a working example by the M4 PDF Extensions module (not free) at www.presta-addons.com/pdf/Invoice - multipage multifont.pdf. Edited February 14, 2014 by tuk66 (see edit history) Link to comment Share on other sites More sharing options...
RobinR Posted April 11, 2014 Share Posted April 11, 2014 Même souci que crashoverride sur prestashop version 1.5.3.1 Parfois à l'ouverture du pdf généré (commandes > voir la facture), Adobe Reader affiche le message suivant : "Cette page contient une erreur. Acrobat risque de ne pas afficher cette page correctement." et la deuxième page n'est pas bien affichée, comme si le code HTML n'était pas bien parsé. J'ai essayé de modifier le fichier "pdf/invoice.tpl", il apparait que les lignes suivantes posent problême : {foreach $order_detail.customizedDatas as $customizationPerAddress} {foreach $customizationPerAddress as $customizationId => $customization} <tr style="line-height:6px;background-color:{$bgcolor}; "> <td style="line-height:3px; text-align: left; width: 60%; vertical-align: top"> <blockquote> {if isset($customization.datas[$smarty.const._CUSTOMIZE_TEXTFIELD_]) && count($customization.datas[$smarty.const._CUSTOMIZE_TEXTFIELD_]) > 0} {foreach $customization.datas[$smarty.const._CUSTOMIZE_TEXTFIELD_] as $customization_infos} {$customization_infos.name}: {$customization_infos.value} {if !$smarty.foreach.custo_foreach.last}<br /> {else} <div style="line-height:0.4pt"> </div> {/if} {/foreach} {/if} {if isset($customization.datas[$smarty.const._CUSTOMIZE_FILE_]) && count($customization.datas[$smarty.const._CUSTOMIZE_FILE_]) > 0} {count($customization.datas[$smarty.const._CUSTOMIZE_FILE_])} {l s='image(s)' pdf='true'} {/if} </blockquote> </td> <td style="text-align: right; width: 15%"></td> <td style="text-align: center; width: 10%; vertical-align: top">({$customization.quantity})</td> <td style="width: 15%; text-align: right;"></td> </tr> {/foreach} {/foreach} Ce problème a t'il été réglé dans une quelconque version ? Peux t'on espérer obtenir de l'aide sur ce sujet (autre qu'un plugin payant) ? Merci. Link to comment Share on other sites More sharing options...
jbourny Posted November 3, 2014 Share Posted November 3, 2014 Bonjour, J'ai aussi eu ce problème, malgré la mise à jour de TCPDF cela n'a pas corrigé le problème.J'ai donc réussi à trouver le moyen de ne plus avoir cette erreur, il faut pour cela remplacer une ligne dans tools/tcpdf/tcpdf.php : public function SetAutoPageBreak($auto, $margin=0) { $this->AutoPageBreak = $auto ? true : false; $this->bMargin = $margin; // Avant : // $this->PageBreakTrigger = $this->h - $margin; // Après : $this->PageBreakTrigger = $this->h - ($margin*2); } Link to comment Share on other sites More sharing options...
juju74460 Posted February 15, 2015 Share Posted February 15, 2015 salut j'ai remplacé cette ligne, puis vider le cache smarty mais le bug persiste, tu as fait comment pour actualiser la correction? Link to comment Share on other sites More sharing options...
jbourny Posted February 16, 2015 Share Posted February 16, 2015 Bonjour, Effectivement cela règle pas entièrement le problème, je n'ai pas pensé à modifier mon poste, ça corrige dans certains cas mais pas tous. Je n'ai pas trouvé de solution universelle. On peut toujours jouer avec PageBreakTrigger en diminuant/augmentant la valeur mais c'est pas la bonne solution. Bonne journée. Link to comment Share on other sites More sharing options...
pliciweb_stephane Posted November 10, 2015 Share Posted November 10, 2015 Bonjour, J'ai aussi eu ce problème, malgré la mise à jour de TCPDF cela n'a pas corrigé le problème. J'ai donc réussi à trouver le moyen de ne plus avoir cette erreur, il faut pour cela remplacer une ligne dans tools/tcpdf/tcpdf.php : public function SetAutoPageBreak($auto, $margin=0) { $this->AutoPageBreak = $auto ? true : false; $this->bMargin = $margin; // Avant : // $this->PageBreakTrigger = $this->h - $margin; // Après : $this->PageBreakTrigger = $this->h - ($margin*2); } Bonjour, De mon côté, nous sommes sur une version de Prestashop 1.6.0.11. Sur certaines factures multi-pages, on a le même problème avec Adobe qui ne peut pas lire le fichier PDF (non reproduit sur Chrome ou FoxItReader). Nous avons tenté : - de récupérer les fichiers des répertoires /pdf, /classes/pdf, tools/tcpdf de la version PS 1.6.1.2 => des erreurs (on sait jamais, ça aurait pu marcher) - de récupérer uniquement les fichiers des répertoires /pdf de la version PS 1.6.1.2 => des erreurs - de récupérer uniquement les fichiers des répertoires tools/tcpdf de la version PS 1.6.1.2 => OK Tcpdf est à jour mais toujours le problème de lecture par Adobe. Donc, basé sur le post de jbourny, nous avons d'abord essayé avec sa modification. Puis nous avons fini sur la modification du fichier tools/tcpdf/tcpdf.php comme suit : public function SetAutoPageBreak($auto, $margin=0) { $this->AutoPageBreak = $auto ? true : false; $this->bMargin = $margin; // Avant : // $this->PageBreakTrigger = $this->h - $margin; // Après : $this->PageBreakTrigger = $this->h /*- ($margin*2)*/; } Cela n'est pas parfait mais cela va permettre à notre client d'éditer des factures en attendant la prochaine mise à jour de leur Prestashop vers une version corrigeant ce problème. Pour information, d'après nos tests, la version PS 1.6.1.2 corrige ce problème (par contre le template de facturation est complètement différent). Au final, la modification ci-dessus fonctionne, même sans mettre à jour Tcpdf. En espérant que cela aide les personnes qui ont passées leur matinée, tout comme moi, à tenter de résoudre ce problème. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now