Question

Existe-t-il des bibliothèques PHP pouvant être utilisées pour remplir des formulaires PDF, puis les sauvegarder (les aplatir) en fichiers PDF?

Était-ce utile?

La solution

Les bibliothèques et les frameworks mentionnés ici sont bons, mais si vous souhaitez simplement remplir un formulaire et l'aplatir, je vous recommande l'outil en ligne de commande appelé pdftk (PDF Toolkit).

Voir https://www.pdflabs.com/tools/pdftk- the-pdf-toolkit /

Vous pouvez appeler la ligne de commande depuis php, et la commande est

pdftk fichierfichier.pdf formulaire_fichier champinfo.fdf sortie fichier de sortie.pdf aplatir

Vous devrez trouver le format d'un fichier FDF afin de générer les informations à remplir. Voici un bon lien pour cela:

http://www.tgreer.com/fdfServe.html

[Edit: le lien ci-dessus semble être hors service. Voici quelques informations supplémentaires ...]

La commande pdftk peut générer un fichier FDF à partir d'un fichier de formulaire PDF. Vous pouvez ensuite utiliser le fichier FDF généré comme exemple. Les champs de formulaire sont la partie du fichier FDF qui ressemble à

...
<< /T(f1-1) /V(text of field) >>
<< /T(f1-2) /V(text of another field) >>
...

Vous pouvez également consulter php-pdftk , une bibliothèque spécifique à PHP. Je ne l'ai pas utilisé, mais le commentateur Álvaro (ci-dessous) le recommande.

Autres conseils

Un gros +1 à la réponse acceptée et un petit conseil si vous rencontrez des problèmes d’encodage avec le fichier fdf. Si vous générez le fichier fields.fdf et lors de l’exécution

file -bi fields.fdf

vous obtenez

application/octet-stream; charset=binary

alors vous êtes probablement confronté à un problème de jeu de caractères UTF-16. Essayez de convertir le ftf avec

cat fields.fdf | sed -e's/\x00//g' | sed -e's/\xFE\xFF//g' > better.fdf

J'ai ensuite pu modifier et importer le fichier best.fdf dans mon formulaire PDF.

Espérons que cela épargnera à Google quelque chose sur Google

J'ai eu beaucoup de succès avec l'utilisation d'un formulaire qui est soumis à un script php qui utilise fpdf et passe dans les champs du formulaire sous forme de variables (peut-être pas une bonne pratique, mais cela fonctionne).

 <?php
require('fpdf.php');
$pdf=new PDF();
$pdf->AddPage();
$pdf->SetY(30);
$pdf->SetX(100);
$pdf->MultiCell(10,4,

J'ai eu beaucoup de succès avec l'utilisation d'un formulaire qui est soumis à un script php qui utilise fpdf et passe dans les champs du formulaire sous forme de variables (peut-être pas une bonne pratique, mais cela fonctionne).

  <form action="fooPDF.php" method="post">
     <p>PDF CONTENT: <textarea name="content" ></textarea></p>
     <p><input type="submit" /></p>
    </form>

et vous pourriez avoir quelque chose comme ça.

<*>

Cet exemple squelettique devrait vous aider à démarrer.

POST['content'],0,'J'); $pdf->Output(); ?>

et vous pourriez avoir quelque chose comme ça.

<*>

Cet exemple squelettique devrait vous aider à démarrer.

générer un fichier fdf avec php: voir http://www.php.net/manual/en/book.fdf .php

puis remplissez-le dans un pdf avec pdftk (voir ci-dessus)

Pour:

  • Format d’entrée plus simple que XFDF
  • Véritable prise en charge UTF-8 (russe)
  • Exemple d'utilisation complet de php

N'hésitez pas à consulter mon PdfFormFillerUTF-8 .

On dirait que cela a été couvert avant . Cliquez sur le code correspondant à l'aide de la bibliothèque PDF de Zend Framework.

Nous utilisons PDFLib au travail. La version payante n'est pas très chère et il existe une édition open source plus limitée, si vous ne pouvez pas débourser pour la version payante.

J'ai écrit une bibliothèque Perl, CAM :: PDF , avec un < un href = "http://search.cpan.org/dist/CAM-PDF/bin/fillpdffields.pl" rel = "nofollow noreferrer"> interface de ligne de commande permettant de résoudre ce problème. J'ai essayé d'utiliser une solution FDF il y a plusieurs années, mais je l'ai trouvée trop compliquée, c'est pourquoi j'ai tout d'abord écrit CAM :: PDF. Ma bibliothèque utilise quelques méthodes heuristiques pour remplacer le formulaire par le texte souhaité. Ce n'est donc pas parfait. Mais cela fonctionne la plupart du temps et il est rapide, gratuit et simple à utiliser.

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