PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → DOC Word vers PDF
DOC Word vers PDF
Débuté par VAN LIERDE STEPHANE, 12 jan. 2016 10:14 - 7 réponses
Posté le 12 janvier 2016 - 10:14
Bonjour,
Voici mon problème:
J'ai des modèles de documents sous Word. Ceux-ci sont enregistrés dans HFSQL (memo).
Dans mon appli, je récupères ces DOC, je fait un Recheche/Remplace d'une partie du texte.
Ces documents étant des contrats, je ne souhaite pas que l'utilisateur final puisse les modifier, et donc qu'il ne puisse pas accéder aux documents Word.
Pour celà, je souhaite donc convertir celui-ci en PDF sans action de l'utilisateur et si possible sans installer de programme externe.
Quelqu'un a-t-il une solution ?...
D'avance merci
Membre enregistré
163 messages
Popularité : +3 (3 votes)
Posté le 12 janvier 2016 - 10:38
Bonjour, as-tu déjà libreoffice installé sur ton poste ?
Si oui, avec les fonctions de pilotage de LO, tu peut exporter au format PDF.

--
FredB
--
Le développement c'est la vie (des processus) et la vie c'est le développement (de soi)
--
Posté le 12 janvier 2016 - 11:02
procedure WORDENPDF(wDocumentSource,wDocumentDestination)

clWord = allouer un objet Automation "Word.Application"
SI clWord=Null ALORS
RENVOYER faux
FIN
SI clWord <> Null ALORS
clWord>>Documents>>Open(wDocumentSource)
Multitâche(-20)
clWord>>ActiveDocument>>ExportAsFixedFormat(wDocumentDestination, WdExportFormat, Faux)
TDeb=HeureSys();TFin=HeureSys()
TANTQUE PAS fFichierExiste(wDocumentDestination) ET HeureDifférence(TDeb,TFin)<500
Multitâche(-20)
TFin=HeureSys()
FIN
clWord>>ActiveWindow>>Close()
Multitâche(-20)
SINON
RENVOYER faux
FIN
QUAND EXCEPTION DANS
libérer clWord
FAIRE
FIN
RENVOYER vrai
Posté le 12 janvier 2016 - 11:04
Merci FredB pour la réponse mais tous les postes clients sont équipés de MS Word (pas d'autre install possible)
Posté le 20 janvier 2016 - 11:13
Bonjour,
Je reviens sur le sujet ayant trouvé une solution relativement simple à mettre en place.
J'ai intégré dans mon projet un partie de l'exemple WD Pilotage Traitement de texte
J'ai récupérer les Classes et les codes de certains boutons (ajouter, ouvrir, enregistrer sous, rechercher/remplacer)
J'ai dupliqué la méthode EnregistrerSous en EnregistrersousPDF (Dans la classe MicrosoftWord)
Dans EnregsitrerSousPDF, j'ai modifié une ligne :
:m_oApplication>>ActiveDocument>>SaveAs(sNomDocument,17)

'17' correspondant à l'enregistrement au format DFP ( onstante WDFormatPDF)

Après quelques autres aménagement, maintenant mon appli peut
- ouvrir automatiquement des Doc Word stockées dans HFSQL (mémo)
- réaliser des modification automatique (Recherche/Remplace)
- convertir le doc Word modifié en PDF
- afficher le PDF dans Adobe Reader

Prochaine étape : Excel :-)
Posté le 22 janvier 2016 - 12:40
Bonjour,

Je dois prochainement faire la conversion de fichiers WORD vers PDF.
J'ai tenté d'utiliser votre code mais j'ai obtenu une erreur ma disant
que WORD.AUTOMATION n'était pas installé sur mon poste.
Je suis en Windows 10 ave OFFICE 365.
Pouvez-vous me guider pour cette installation ?

Cordialement.

Patrick Bouquet


VAN LIERDE STEPHANE a utilisé son clavier pour écrire :
Bonjour,
Je reviens sur le sujet ayant trouvé une solution relativement simple à
mettre en place.
J'ai intégré dans mon projet un partie de l'exemple WD Pilotage Traitement de
texte
J'ai récupérer les Classes et les codes de certains boutons (ajouter, ouvrir,
enregistrer sous, rechercher/remplacer)
J'ai dupliqué la méthode EnregistrerSous en EnregistrersousPDF (Dans la
classe MicrosoftWord)
Dans EnregsitrerSousPDF, j'ai modifié une ligne :
:m_oApplication>>ActiveDocument>>SaveAs(sNomDocument,17)

'17' correspondant à l'enregistrement au format DFP ( onstante WDFormatPDF)

Après quelques autres aménagement, maintenant mon appli peut
- ouvrir automatiquement des Doc Word stockées dans HFSQL (mémo)
- réaliser des modification automatique (Recherche/Remplace)
- convertir le doc Word modifié en PDF
- afficher le PDF dans Adobe Reader

Prochaine étape : Excel :-)
Membre enregistré
24 messages
Popularité : +1 (1 vote)
Posté le 08 février 2016 - 08:59
Bonjour Patrick,
Je n'ai pas eu ce problème mais mon Word n'est pas un 365.
Néanmoins, je ne vois pas pourquoi cela ne fonctionnerai pas sous 365.
Si je ne me trompe pas, PCSoft fourni des drivers OLEDB (et ODBC)

Voir dans C:\Program Files\Fichiers communs\PC SOFT\21.0\OLEDB

Je pense que cela peut régler ton pb.

Cordialement

--
Stéphane VAN LIERDE
socapitalhumain.com
Posté le 16 mars 2016 - 23:10
Bonjour

je suis intéressé par cette exemple mais étant en Windev 20 je n'ai pas trouvé l'exemple WD Traitement de texte

J'ai un exemple Pilotage de Word mais il n'y a pas de classe EnregistrerPDF

Quelle version utilisez vous ? la 21 ?

Merci d'avance