Préremplissage de PDF

Résolu
cs_wizad Messages postés 355 Date d'inscription samedi 30 octobre 2004 Statut Membre Dernière intervention 14 avril 2009 - 5 mai 2006 à 22:03
murrigane Messages postés 88 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 19 mai 2006 - 14 août 2006 à 10:10
Bonsoir!
Je dois mettre en place un système en php permettant de préremplir un document php avant de l'envoyer aux utilisateur (récupération des données par formulaire). Je connais certaine classes php mais elle ne semble pas capable d'ouvrir un document php déja existant pour le modifier. Est-il possible de faire cela en php. Sinon le document original est créer avec OpenOffice 2.0. Y a t il possibilité de s'en servir pour regénérer le pdf.
Je cherche une classe toute faite dans chacun des cas n'ayant pas le temps d'étudier les différents format pour en créer une moi même.

23 réponses

murrigane Messages postés 88 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 19 mai 2006
11 mai 2006 à 15:01
Je viens de penser qu'il existe un moyen de travailler avec un document modèle

Les étapes se constitut comme ceci :
1- création du document modèle en laissant la place pour les "futur" donnée, en pdf

2- Envoyer les données via le formulaire, elles seront placé d'après le nom de leur variable aux endroit spécifié dans le modèle pdf

3- Sauvegarde ou impression

Je vous copie le code de base ci-dessous :

<?php
set_time_limit( 180 ); // this script can be slow

//création d'un nom plus court pour les variables
$name = $_POST['name'];
$score = $_POST['score'];

function pdf_replace( $pattern, $replacement, $string )
{
$len = strlen( $pattern );
$regexp = '';
for ( $i = 0; $i<$len; $i++ )
{
$regexp .= $pattern[$i];
if ($i<$len-1)
$regexp .= "(\)\-{0,1}[0-9]*\(){0,1}";
}
return ereg_replace ( $regexp, $replacement, $string );
}

if(!$name||!$score)
{
echo 'Error:
This page was called incorrectly

';
}
else
{
//génération du header pour ouvrir le doc pdf
header( 'Content-Disposition: filename=cert.pdf');
header( 'Content-type: application/pdf' );

$date = date( 'F d, Y' );

// Ouvre votre fichier modèle
$filename = 'PHPCertification.pdf';
$fp = fopen ( $filename, 'r' );
//read our template into a variable
$output = fread( $fp, filesize( $filename ) );

fclose ( $fp );

// replacer les variables par leur nom
$output = pdf_replace( '<<NAME>>', strtoupper( $name ), $output );
$output = pdf_replace( '<<Name>>', $name, $output );
$output = pdf_replace( '<<score>>', $score, $output );
$output = pdf_replace( '<<mm/dd/yyyy>>', $date, $output );

// Envoi le document au navigateur

echo $output;
}
?>

Si vous voulez le doc modèle en pdf pour regarder comment sont organiser les emplacements pour les données :
www.liber-ivonis.com/divers/PHPCertification.pdf

J'espère que cela vous aidera
3
p3x Messages postés 214 Date d'inscription vendredi 30 juillet 2004 Statut Membre Dernière intervention 9 janvier 2019
6 mai 2006 à 00:22
yop,
pour ouvrir un fichier php fopen()
pour le modifier fwrite()

ou est le pb?

p3x
0
cs_wizad Messages postés 355 Date d'inscription samedi 30 octobre 2004 Statut Membre Dernière intervention 14 avril 2009
6 mai 2006 à 00:26
Rhoooo.... mal reveiller moi ce soir.... I'm sorry. Comme précisé dans le titre il s'agi de fichier pdf que je veux modifier et pas php. Toutes mes excuses et revoici mes question correctement formulé :



Bonsoir!
Je dois mettre en place
un système en pdf permettant de préremplir un document php avant de
l'envoyer aux utilisateur (récupération des données par formulaire). Je
connais certaine classes php mais elle ne semble pas capable d'ouvrir
un document pdf déja existant pour le modifier. Est-il possible de
faire cela en php. Sinon le document original est créer avec OpenOffice
2.0. Y a t il possibilité de s'en servir pour regénérer le pdf.
Je
cherche une classe toute faite dans chacun des cas n'ayant pas le temps
d'étudier les différents format pour en créer une moi même.
0
p3x Messages postés 214 Date d'inscription vendredi 30 juillet 2004 Statut Membre Dernière intervention 9 janvier 2019
6 mai 2006 à 00:30
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_wizad Messages postés 355 Date d'inscription samedi 30 octobre 2004 Statut Membre Dernière intervention 14 avril 2009
6 mai 2006 à 00:40
Désolé mais je trouve pas. Il y a effectivement des sources pour créer un fichier pdf mais je n'en voit aucune qui ouvre une fichier pdf existant pour l'éditer.
0
EMSIEN Messages postés 194 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 11 juin 2009
6 mai 2006 à 14:23
Bonjour,
je me demande comment tu veux Editer un fichier PDF??
est ce que tu vx le rendre au format texte puis l'editer et le remettre au format PDF??

http://ntic.blogspirit.com
0
cs_wizad Messages postés 355 Date d'inscription samedi 30 octobre 2004 Statut Membre Dernière intervention 14 avril 2009
6 mai 2006 à 15:50
peux importe la méthode en fait : j'ai un pdf demendant divers informations au personne souhaitant s'inscrire. Je voudrais donné la possibilité de le préremplir via un formulaire html et un traitement php. Je pourrais créer le formulaire entièrement via php mais je n'ai pas le tps pour réaliser un tel opération (9 pages à faire). Peux importe la méthode dés l'instant que je peu soit utilisé le fichier pdf actuel soit utilisé le fichier openoffice que je modifie via php et exporte aprés via php dés l'instant que je n'ai pas tout le texte à remettre en page.
0
p3x Messages postés 214 Date d'inscription vendredi 30 juillet 2004 Statut Membre Dernière intervention 9 janvier 2019
7 mai 2006 à 12:06
moi je cromprends pas vraiment, si tu ve l'éditer une seule fois autant le générer nan ?
apres en utilisant la librairie fpdf de php tu en as pas pour bien longtemps à générer ton document en y placant tes variables php d'un formulaire tout con.
Enfin pour moi créer ca seré la méthode la plus simple et la plus rapide, tandis que pour éditer tu va galérer.

p3x
0
cs_wizad Messages postés 355 Date d'inscription samedi 30 octobre 2004 Statut Membre Dernière intervention 14 avril 2009
7 mai 2006 à 13:43
"moi je cromprends pas vraiment, si tu ve l'éditer une seule fois autant le générer nan ?"
En fait à chaque fois que quelq'un veut s'inscrire il replit le formulaire html et le script se charge de lui affiché le dossier préremplit avec ce qu'il a saisie. Mon idée c'était de prendre le dossier non préremplit, de l'ouvrir, d'insérer les infos de l'utilisateur et de sauvegardé le tout dans un dossier temp pour que l'utilisateur puissent le récupérer et l'imprimer. Je peux pas faire plus clair là....

De plus il me semble assez long de refaire le formulaire en codant php (ou alors j'ai zappé une fonction) puisqu'il me semble obligatoire de replacer chaque éléments via ses coordonées. Et sinon rien du coté d'open office pour l'édition d'open document (format open office) et l'export en pdf?
0
murrigane Messages postés 88 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 19 mai 2006
11 mai 2006 à 14:33
Bonjour Wizad,

Ouvrir un fichier PDF avec Php je pense pas que cela soit possible, du moins pas à ma connaissance, par contre il faudrait peut être chercher un moyen detourné de récupérer les informations du fichiers pdf. Comme par exemple ouvrir le fichier PDF avec un logiciel qui permet de le faire, et le repasser en txt, ensuite intégrer les fonctions pour la génération du doc autour de ce qui existe déjà et l'enregistrer par la suite en php.
Ensuite quelqu'un vient sur le site, complète le formulaire - > enregistrement des données dans un fichier text, pour permettre par la suite de rappeler les données et les modifier -> Si la personne veut imprimer, lancement du fichier php de génération du pdf.
Comme cela, si vous avez une modif a faire vous n'aurez qu'à la répercuter que sur trois fichiers, le formulaire, l'enregistrement des données, la génération du pdf

J'ai peut être pas tout suivie non plus ....
0
cs_wizad Messages postés 355 Date d'inscription samedi 30 octobre 2004 Statut Membre Dernière intervention 14 avril 2009
11 mai 2006 à 14:38
Sisi en fait c'est la solution que j'ai finit par adopter. Je cherche maintenant le moyen simple de générer mon document (placé tout au pixel prés c un brin long).
0
murrigane Messages postés 88 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 19 mai 2006
11 mai 2006 à 14:46
Oui j'imagine !!

Je m'adonne aussi aux joies de la génération de Pdf, mais depuis des requêtes ... et pour placer toutes ces jolies petites données dans un fichier correctement structuré c'est vraiment l'extase !
Surtout quand on veux les récupérer sous forme de tableau ... Là j'ai abandonné, j'ai jamais réussi à mettre en place la création d'un tableau dans la génération d'un Pdf à l'intérieur de ma boucle while sans que le tableau ne se répète autant de fois qu'il y a de lignes de réponses ! Sniff

Bon courage en tout cas !
0
cs_wizad Messages postés 355 Date d'inscription samedi 30 octobre 2004 Statut Membre Dernière intervention 14 avril 2009
11 mai 2006 à 14:49
C'est aussi pour ça que je me demandais si il n'y avait pas moyen d'utiliser un open document (open office) et faire la génération du pdf à partir de cette base (j'aurais plus qu'à placé les données saisie avec le formulaire).
0
cs_wizad Messages postés 355 Date d'inscription samedi 30 octobre 2004 Statut Membre Dernière intervention 14 avril 2009
11 mai 2006 à 15:04
Si ça marche c'est exactement ce que je recherche
je test d'ici 5 min et vous tiens au courant
0
murrigane Messages postés 88 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 19 mai 2006
11 mai 2006 à 15:08
<hr size="2" width="100%">Désolée je ne pas avoir vu votre message plus tôt et de vous passer l'info.

J'espère que vos tests fonctionneront
0
cs_wizad Messages postés 355 Date d'inscription samedi 30 octobre 2004 Statut Membre Dernière intervention 14 avril 2009
11 mai 2006 à 15:12
Cela fonctione juste comme il faut merci beaucoup!
0
murrigane Messages postés 88 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 19 mai 2006
11 mai 2006 à 15:15
Pas de quoi !
0
tonnerre49 Messages postés 2 Date d'inscription dimanche 12 novembre 2000 Statut Membre Dernière intervention 19 juin 2006
19 juin 2006 à 15:04
Bonjour je souhaiterai realiser la meme chose en JAVA, est ce que quelqu'un aurait une idée ??

merci d'avance
0
cs_wizad Messages postés 355 Date d'inscription samedi 30 octobre 2004 Statut Membre Dernière intervention 14 avril 2009
19 juin 2006 à 15:29
Sur le principe il s'agit d'une façon de faire générale adaptable à tout language possédant des fonction pour editer des fichiers. Mais pour plus de détail chercher sur le forum java peut être :/
0
webdev78 Messages postés 1 Date d'inscription jeudi 10 août 2006 Statut Membre Dernière intervention 10 août 2006
10 août 2006 à 15:15
Bonjour à tous,<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>


je viens d'essayer ton code murrigane; il fonctionne à merveille avec ton model !!!!<?xml:namespace prefix v ns "urn:schemas-microsoft-com:vml" /??><v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"> <v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype> Mais avec le mien ça ne fonctionne pas, j'obtiens un message me disant "que le fichier est endommagé et qu'il est impossible de le réparer". J'ai fait un test en partant de Word en indiquant uniquement les variables et en convertissant en PDF (j'ai Acrobat 6.0 pro), et j'ai toujours le même problème.

J'ai essayé aussi avec primoPDF et c'est la même chose. Vois-tu d'ou cela pourrais venir ?

Je t'en remercie d'avance.

C'est à force d'acharnement que l'on arrive au bout des choses.
0
Rejoignez-nous