Question

Y at-il bibliothèque PDF PHP qui peut remplacer les variables espace réservé dans un PDF existant, un document ODT ou DOCX, et générer un fichier PDF comme résultat final, sans visser la mise en page?

Exigences:

  • n'a pas besoin d'un service web 3ème partie

  • Possibilité d'exécuter sur l'hébergement web partagé serait idéal (pas installations / paquets binaires requis)

Rappelez-vous, une bibliothèque qui est capable de charger un fichier PDF existant et insérer du texte par programmation à une position spécifique est ne suffit pas pour mon cas d'utilisation.

En ce qui concerne mes spectacles de recherche, il n'y a pas de bibliothèque qui peut faire ceci:

  • TCPDF ne peut générer des documents à partir de zéro

  • FPDI peut lire des modèles PDF existants, mais ne peut ajouter le contenu programme (pas de remplacement variable de modèle)

  • Il existe différentes bibliothèques de modèles DOCX / ODT là-bas, mais ils ne le font pas PDF sortie

PHPDOCx prétend être en mesure de faire exactement ce que j'ai besoin - mais ils ne proposent pas une version d'essai et je ne suis pas va acheter un chat dans un sac, surtout pas quand il semble y avoir aucun autre produit sur le web qui fait cela. Je trouve difficile de croire qu'ils peuvent le faire sans problème. - si vous avez réussi à faire cela en utilisant le produit, s'il vous plaît laisser tomber une ligne ici

Suis-je sur quelque chose?

Est-il possible de le faire en utilisant des formulaires PDF? Je crée les documents source dans OpenOffice 3.

Je peux être en mesure d'utiliser les commandes Linux standard (pdftk est disponible par exemple, en essayant que sur le moment.)

  

Mise à jour: * Argh * j'ai été appelé hors du bureau et la prime a expiré en attendant!. Démarrage d'une nouvelle prime. En ce qui concerne mes spectacles de test, aucune solution fonctionne pour moi encore parfaitement

     

Mise à jour II: Je vais regarder l'approche pdftk bientôt, mais je commence aussi une autre prime pour un tour d'horizon de collecte d'entrée supplémentaire. Cette question a vu 1300 points de rep en primes, doit être une sorte d'un enregistrement:)

Était-ce utile?

La solution

Pekka,

J'ai regardé dans ce précédemment, je pense que vous pouvez utiliser pdftk (un utilitaire de ligne de commande), de remplir un formulaire PDF à l'aide des fichiers de données FDF / XFDF, que vous pouvez facilement générer à partir de PHP. C'était la meilleure option que j'ai vu jusqu'à présent, mais il peut y avoir une bibliothèque native.

pdftk est très utile en général, la peine d'avoir un coup d'oeil.

Mise à jour: Regardez ici: http: // php.net/manual/en/book.fdf.php

Autres conseils

Ce n'est pas très pratique, mais complet: Si vous avez déjà un modèle ODT, alors vous pourriez très bien retenir que modèle. Modification du content.xml de OpenDocument espaces réservés et en y remplaçant est assez simple. Si oui, vous pouvez utiliser unoconv ou pyodconverter pour transformer l'ODT en PDF final.

unoconv -f pdf -o final.pdf template.odt

Bien évidemment cela nécessite une configuration OpenOffice complète (ONU et écrivain) sur le serveur Web. Et, évidemment, ne sont pas tous webhoster irait avec ça! haha. Même si elle est simple sur une configuration Debian ou Fedora. La vitesse d'exécution ne serait probablement pas brillante non plus. Mais il est peut-être la plus propre approche, car OOo régit les deux formats bien mieux que toute classe PHP pourrait jamais.

Avez-vous pensé à utiliser quelque chose comme XSL: Objets mise en forme (XSL: FO)? En fait, ils sont des documents XML qui sont traités et transformés en fichiers PDF. Faire chaîne - ou mieux, DOM - remplacement dans ce devrait être assez simple. Il prend en charge l'intégration d'images, des liens, des annotations, etc.

Il est pas PHP, mais il y a un certain nombre d'emballages PHP pour elle ainsi que les moyens de l'utiliser via exec, etc. Pas un idéal, mais il prend soin de la partie de modèle complètement. Pour certains plus d'informations: http: // techportal .inviqa.com / 2009/12/16 / transformation-xml-à-php-et-xsl /

Il y a une implémentation est disponible en tant que projet Apache - http://xmlgraphics.apache.org/fop/

fpdf et il y a une autre extension au-dessus de celui-ci, que je ne me souviens pas, ce qui vous permet d'importer des modèles

Votre meilleur pari serait de générer le document entier à la volée, avec le modèle défini à l'aide programatically fpdf ou quelque chose de similaire. De cette façon, votre texte ne sera pas coupé par les paragraphes ou quelque chose comme ça, et vous pouvez facilement les images de position / d'autres éléments selon les besoins.

fin, mais vous pouvez utiliser concepteur de modèle OpenSource https://github.com/applicius/dhek/releases , pour définir pkaceholders / zones sur tout PDF existant, puis le charger en PHP (comme il est le format JSON) et d'écrire en conséquence sur PDF d'origine en utilisant fpdf lib, pour générer PDF personnalisé avec des données dynamiques écrites.

Altough pas exactement chose vous a demandé, vous pouvez envisager de le faire à deux pas: en utilisant une php templating sytem ( Smarty , dwoo ) pour générer la page html et en utilisant des outils tels que HTML2PDF convertir en pdf. Je l'utilise, et les résultats sont bons (pas de problèmes avec la mise en page, etc.)

Bien sûr, il dépend de vos documents d'entrée (vous pouvez utiliser au lieu de html PDF / ODT en tant que source) et de la complexité de la mise en page de ceux-ci.

Ok je suis en train de vous aider à résoudre le problème un peu.

D'abord la réponse à deux de votre question.

Q - Suis-je sur quelque chose

A - Non. Il y a une bibliothèque PDF PHP qui peut remplacer les variables dans un espace réservé PDF existant et générer un fichier PDF comme résultat final, sans visser la mise en page

Q - Est-il possible de le faire en utilisant des formulaires PDF

?

A - Oui. absolutelly le tric à faire est d'utiliser un des formulaires PDF

Pour les deux réponses que vous pouvez utiliser Justin Koivisto remplissage pdf bibliothèque champ de formulaire php. Pour plus de détails vous s'il vous plaît allez à http://koivi.com/fill-pdf- form-champs / tutorial.php . Jetez un oeil pour des informations complémentaires.

Crédit à Justin Koivisto pour son travail

P.S

Pour contourner le problème pour afficher une table comme sortie de la forme de pdf s'il vous plaît envisager de prendre un peu de lecture sur Oracle Business Intelligence Publisher Guide de l'utilisateur - Création d'un fichier PDF modèle

Je vais ajouter cette nouvelle réponse puisque l'extension PHP FDF est mort.

Je viens de suivre ces instructions et a fini par exécuter un script perl alors la commande pdftk

Je suis conscient qu'il est loin d'être une véritable solution de PHP, mais il est fiable et assez facile sur mettre en œuvre une plate-forme * nix.

Les outils décrits il y a aussi disponibles sur Debian, juste au cas où vous vous demandiez.

Il est un peu tard, mais litte un coup d'oeil à la PDFTemplate bibliothèque le fait exatly ce que vous voulez . Vous pouvez créer des fichiers Open document (ODT) et des espaces réservés add en elle. La bibliothèque PDFTemplate peut remplir ces espaces réservés (même avec des images) et de créer un fichier PDF.

ODT Fichiers avec des espaces réservés au format PDF

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top