J'essaie de fusionner 2 pdf, un sur mon serveur (non généré dynamiquement) et celui généré juste avant la fusion et non enregistré n'importe où sur le serveur (je veux juste que mon client le télécharge). Donc, je n'ai que le contenu du PDF. Les deux PDF ont le même format (A4). P>
Le fichier fusionné aura 2 pages et ne sera pas enregistré sur le serveur également. P>
Depuis, j'utilise Zend Framework, je préférerais une solution avec elle (vous ne pouvez pas trouver une en ligne ...) d'autre aucun conseil? P>
(solution commune trouvée en ligne mais ne fonctionne pas) p>
Edit: Parce que les gens sont paresseux de cliquer. Le code est de toute façon dans le lien puisque c'est faux et ne fonctionne pas. P>
J'essaie le script ci-dessous, mais je reçois le Erreur: p>
Exception non capturée 'Zend_pdf_exception' avec le message 'La page est attachée à un documen, mais rendu dans le contexte d'un autre p> blockQuote>
5 Réponses :
Avez-vous essayé de les fusionner à l'aide du Toolkit PDF ? < P> Fusionner plusieurs pdfs avec il peut être atteint en utilisant: p> 123.pdf sera le PDF résultant. Vous pouvez stocker temporairement le PDF résultant sur le serveur, envoyez-le au navigateur et retirez-le quand il n'est plus nécessaire. P> p>
Merci pour votre réponse. Malheureusement, je ne peux pas utiliser cette solution. 1- Je ne peux rien installer sur le serveur (travail d'une autre personne et il est vraiment occupé et ne peut pas le faire avant 2 semaines) 2- Il serait plus agréable de ne pas économiser sur le serveur.
D'accord, avec le guide du commentaire de @gordon dans ma question, j'ai une solution.
clone code> à partir du fichier PDF que vous souhaitez fusionner, sinon, votre application imprimera une erreur (Auto Explanatoire One) (trouvé grâce à Ce diaporama qui est très intéressant pour Zend_PDF) LI>
- Le PDF statique doit être un PDF 1,4 li>
ol>
J'ai utilisé Cette application pour convertir les fichiers statiques i avait dans la version 1.6 à 1.4. p>
Voici le code approximatif que j'ai et travaille (je sais que ce n'est pas optimisé, je le ferai plus tard; mais toujours, cela peut être utile) P>
$pdf2show = new Zend_Pdf(); // Initializing the merged PDF
$pdf1 = Zend_Pdf::parse($pdfContent, 1); // $pdfContent is the generated one, got the content...
$template = clone $pdf1->pages[0]; // cloning the page (a must do)
$page1 = new Zend_Pdf_Page($template); // Creating the first page of the merged PDF with the previous content
$pdf2show->pages[] = $page1; // Adding this page to the final PDF
$pdf2 = Zend_Pdf::load('urlToYourPDF.pdf'); // Loading the statif PDF
$template2 = clone $pdf2->pages[0]; // cloning the page (a must do)
$page2 = new Zend_Pdf_Page($template2); // Creating the second page of the merged PDF with the previous content
$pdf2show->pages[] = $page2; // Adding this page to the final PDF
sendToWebBrowser('title', $pdf2show->render());
Voir, une solution :) et seulement trouvé parce que vous m'avez dit le message d'erreur;)
$extractor = new Zend_Pdf_Resource_Extractor(); $clone_page_to_use_in_any_pdf = $extractor->clonePage($original_pdf->pages[0]); This is how I did it.Hope this helps everyone.TJ
À mon avis, c'est la meilleure solution!
$extractor = new Zend_Pdf_Resource_Extractor(); $page1 = $extractor->clonePage($pdf->pages[$templatePageIndex1]); $page2 = $extractor->clonePage($pdf->pages[$templatePageIndex2]); $page1->drawText('Some text...', $x, $y); $page2->drawText('Another text...', $x, $y); $pdf = new Zend_Pdf(); $pdf->pages[] = $page1; $pdf->pages[] = $page2; Right from the horses mouth.http://framework.zend.com/manual/en/zend.pdf.pages.html#zend.pdf.pages.cloning
Droite, mais votre exemple ne répond pas à la question;) Il extrait une page de la même b> pdf $ pdf code>.
Mon expérience dans la fusion de PDF: P>
@Gordon: Eh bien, lisez la page sur le lien> _> J'essaye le script ci-dessous, mais j'obtiens l'erreur: une exception non capturée 'Zend_PDF_Exception' avec le message 'Page de message est attachée à un document, mais rendu dans le contexte d'un autre I> Je sais que je déteste que le ne fonctionne pas i> question, mais sérieusement, ici, il vous suffit de lire ...
Merci de clarifier. Essayez simplement d'être aussi complet que possible dans vos questions au lieu d'accuser ceux que vous demandez de l'aide d'être paresseux. Ne pas mettre toutes les informations là-bas dans le premier endroit est paresseux. Aussi, avez-vous essayé le code donné là-bas malgré l'utilisateur ayant une erreur? J'ai googlé le message d'erreur et Cette erreur particulière semble être corrigée dans 1.11
@Gordon: Je n'aurais pas dû le mentionner en premier lieu car c'est une erreur (et oui, j'ai essayé tout ce que j'ai trouvé en ligne;)) J'avais juste montré, j'ai fait des recherches et des tests. Juste pour montrer, je ne suis pas venu ici pour une réponse pré-digérée comme un tas de mecs fait de nos jours. J'essaie maintenant de voir si cela fonctionne, pour vous garder informer. Je suis sur 1,9 maintenant.