Classes de documents Word et de PDF ?

Résolu
gregml Messages postés 89 Date d'inscription samedi 17 mai 2014 Statut Membre Dernière intervention 16 juin 2017 - 18 juin 2014 à 21:19
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 19 juin 2014 à 01:37
Bonjour,

Je me permets de vous exposer mon projet avant de vous parler de mon problème, de façon à évoquer l'environnement global de l'application que je souhaiterais à terme développer.

Mon projet consiste à écrire du texte dans des documents de différentes formes (c'est une contrainte), soit à partir de différents formulaires contenant des combo, des boutons... pour renseigner des noms, des adresses, des dates de naissance... soit des Textbox... dont l'"ossature" ne peut pas être modifiée. Il s'agit de fait de documents sous PDF et/ou sous Word, dont les 'cadres' ne peuvent être modifiés. Ainsi, on peut écrire dans une cellule (qui mesurera disons 20 cm x 15 cm), à un format et une taille de caractère donnés, qui ne pourra pas être changés. On a donc un nombre maximal de caractères dans une "cellule". Si on dépasse, l'application ouvre une nouvelle feuille.
On pourra ensuite sauvegarder, imprimer...
Voilà pour le contexte.

Pour la question plus précise, elle concerne un petit bout de la lorgnette. En effet, mon ambition est grande mais mes compétences sont riquiqui...
Aussi me vient-il une question :
Puis-je fabriquer une classe par type de documents à remplir (par formulaire ou par l'utilisateur) ?
Plus précisément, je pose cette question, qui doit vous dérouter, parce que je ne suis pas certain d'avoir compris le concept de classe...
Mais elle revient à :

suis-je en mesure de fabriquer une classe qui sera le modèle servant de base à la rédaction du document Word ?

suis-je en mesure de fabriquer une classe qui sera le modèle servant de base à la rédaction du document Pdf ?

Si oui, comment dois-je faire ?
Fabriquer sous Word mon modèle, l'enregistrer en modèle .docx, puis le déclarer comme 'Classe' dans le code qui l'appellera ? Idem pour les PDF ?

Voilà exposé mon problème.
J'espère avoir été suffisamment clair et je vous remercie encore de la qualité de vos interventions et du suivi du site.
Grég

2 réponses

Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024 656
18 juin 2014 à 21:49
C'est plus clair en effet.

Rapidement oui et non.

Tu vas pouvoir écrire une classe dont le "travail" sera d'écrire le fichier word et une autre pour le pdf.
Mais tu ne peux pas écrire un fichier word et l'enregistrer directement comme une classe.

Une classe ou un objet, c'est l'abstraction d'un truc dont tu as besoin.

Admettons que doives coder l'humanité.
Tu vas commencer par écrire une classe Humain, il a comme propriétés :
Une tête
Des yeux
Des cheveux,
Deux bras
Deux jambes
Un cœur
Etc

Il a comme méthodes :
Marcher
Parler
Boire
Respirer
BattreCoeur
Etc

Respirer et BattreCoeur seront appelés dés la création d'une instance de Humain

Enfin il a comme événements :
DébutMarche
FinMarche
Parle
Voit
Etc

Grace à toutes ces "procédures" ton objet pourras interagir avec l'univers qui l'entoure.

Si le besoin s'en fait sentir tu pourras même dériver Humain en Homme et Femme ou en Adulte et Enfant.
Chacun de ces objets va hériter de tout ce qui fait Humain, mais tu y ajouteras les propriétés et attributs adéquat pour chacun. Tu peux aussi remplacer certains codes de l'objet père. Marcher pour les Femmes sera modifié pour y inclure un mouvement harmonieux du postérieur!

Voila, tu peux donc tout faire ce que tu veux avec tes classes.
Une classe mère peut collecter les infos et une fille écrire le word et l'autre le pdf, par exemple
0
gregml Messages postés 89 Date d'inscription samedi 17 mai 2014 Statut Membre Dernière intervention 16 juin 2017
18 juin 2014 à 22:02
Ok et merci de ta longue réponse.

Si tu en viens à une analogie, j'en tente une autre pour voir si j'ai bien compris.

Au lieu de la classe Humain, pour moi,serait-ce la classe 'Travail_sur_Document_Word" ?

En ce qui concerne les propriétés, je ne vois pas trop...

En ce qui concerne les méthodes, cela peut-il être :
* Charger un document Word clairement désigné
* Ouvrir un document Word clairement désigné
* Afficher un document Word clairement désigné
* Renseigner telle ou telle rubrique d'un document Word clairement désigné
* Imprimer un document Word clairement désigné
* Fermer un document Word clairement désigné ?
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
18 juin 2014 à 22:04
@Whim... tu as été plus rapide que moi....
J' allai prendre le même exemple;...

Pour aller un peu plus loin;...(tout en gardant ton exemple : L'hêtre humain)..

il a en effet des propriété comme :
son SEX ( Homme ou Femme)
Sa taille
son poid...

et il peut même en avoir sous forme d'autres class:
par exemple :
Les cheveux
dont les propriétés seront :
leur taille, leur couleur....
et des méthodes : Regarder, Pleurer



Pour en revenir à ta question....
Tu peux très bien créer tes modèles de documents Word et les "selectionner" lorsque tu dois les compléter....en gros... t'en servir un peu comme un publipostage excel/word en quelque sorte.
0
gregml Messages postés 89 Date d'inscription samedi 17 mai 2014 Statut Membre Dernière intervention 16 juin 2017
18 juin 2014 à 22:15
Merci Jordane,

Décidément, l'exemple 'Humain' est un sésame pour la POO...
C'est effectivement ce que je concevais sans en avoir d'idée nette.

L'idée est donc de créer des formulaires:
-> dont certaines réponses données par l'utilisateur vont permettre de sélectionner le document (Word ou PDF) adéquate
-> dont d'autres vont renseigner des signets à certains endroits des documents
-> dont d'autres contiendront du texte rempli "au kilomètre" par l'utilisateur.

Tout le travail de renseignement des signets, d'écriture "au kilomètre" sera l'objet des classes "Travail sur Doc".

C'est bien ça, et c'est donc possible ?
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
18 juin 2014 à 22:28
oui c'est bien ça.
0
Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024 656
18 juin 2014 à 23:06
@Jordane
@Whim... tu as été plus rapide que moi....
Pour une fois!
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
18 juin 2014 à 22:34
et pour répondre à ce que tu as marqué à Whism
http://codes-sources.commentcamarche.net/forum/affich-10030854-classes-de-documents-word-et-de-pdf#2

...


Les propriétés peuvent être :
Le nom du document ouvert
La liste des signets à remplir
...

et les méthodes :
- Ouvrir un document ( tu lui passes en paramètre le nom du doc à ouvrir)
- Ecrire dans un signet ( tu lui passes en paramètre le signet à écrire et le texte à y mettre)
- Lire un signet ( tu lui passes en paramètre le nom du signet à lire)
- Enregistrer le document...( tu lui passes en paramètre le nom du doc => EnregistrerSous... toto.doc)

-etc...


0
gregml Messages postés 89 Date d'inscription samedi 17 mai 2014 Statut Membre Dernière intervention 16 juin 2017
18 juin 2014 à 22:37
Bon ben là on peut dire que j'ai bien avancé...
Je m'en vais vous laisser dormir... l'esprit serein.

Mereci encore et à bientôt,
Grég
0
Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024 656
18 juin 2014 à 23:07
Décidément, l'exemple 'Humain' est un sésame pour la POO...
On aurait pu choisir Véhicule aussi, mais c'est plus chiant, il faut gérer le nombre de roues ou de chenilles, voire de pattes.....
0
gregml Messages postés 89 Date d'inscription samedi 17 mai 2014 Statut Membre Dernière intervention 16 juin 2017
18 juin 2014 à 23:17
Drôle.
0
Rejoignez-nous