|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
| [WD16] Export au format PDF |
| Débuté par damien.sozet, 09 juin 2011 12:12 - 9 réponses |
| |
| | | |
|
| |
| Posté le 09 juin 2011 - 12:12 |
Bonjour,
Je souhaiterai pouvoir à partir de la classe OpenOffice livret avec Windev, lancer une commande d'exportation au format pdf de mon document OpenOffice.
Quelqu'un a t il déjà effectué cette programmation ?
Merci d'avance.
Bonne journée Damien |
| |
| |
| | | |
|
| | |
| |
| Posté le 09 juin 2011 - 14:19 |
Après mûre réflexion, Damien a écrit :
Bonjour,
Je souhaiterai pouvoir à partir de la classe OpenOffice livret avec Windev, lancer une commande d'exportation au format pdf de mon document OpenOffice.
Quelqu'un a t il déjà effectué cette programmation ?
Merci d'avance.
Bonne journée Damien
Bonjour, je ne sais pas si ça va t'aider, mais j'avais ajouté à la classe cOpenOffice la méthode 'Export_PDF' avec le code suivant :
Procedure Export_PDF(NomDocument)
Document est un objet OLE dynamique dispatcher est un objet OLE dynamique
Document = :oDocument>>CurrentController>>Frame dispatcher = :oServiceManager>>createInstance("com.sun.star.frame.DispatchHelper")
ParamImpression est un tableau de 3 objet automation dynamique machaine est une chaîne
ParamImpression[1] = :oServiceManager>>Bridge_GetStruct("com.sun.star.beans.PropertyValue") ParamImpression[1]>>Name = "URL" ParamImpression[1]>>Value = NomDocument
ParamImpression[2] = :oServiceManager>>Bridge_GetStruct("com.sun.star.beans.PropertyValue") ParamImpression[2]>>Name = "FilterName" ParamImpression[2]>>Value = "writer_pdf_Export"
ParamImpression[3] = :oServiceManager>>Bridge_GetStruct("com.sun.star.beans.PropertyValue") ParamImpression[3]>>Name = "SelectionOnly" ParamImpression[3]>>Value = True
dispatcher>>executeDispatch(Document,".uno:ExportDirectToPDF", "",0,ParamImpression)
Cordialement |
| |
| |
| | | |
|
| | |
| |
| Posté le 09 juin 2011 - 16:09 |
| Merci beaucoup, je vais faire des tests. |
| |
| |
| | | |
|
| | |
| |
| Posté le 14 juin 2011 - 16:24 |
Bonjour,
j'ai l'erreur suivante sur le code de votre aide, Vous accédez au membre Automation CurrentController. Erreur 80020006, Nom inconnu Vous pouvez m'en dire plus, car je ne maitrise pas trop les classes.
Merci d'avance.
Cordialement |
| |
| |
| | | |
|
| | |
| |
| Posté le 15 juin 2011 - 12:51 |
Damien avait prétendu :
Bonjour,
j'ai l'erreur suivante sur le code de votre aide, Vous accédez au membre Automation CurrentController. Erreur 80020006, Nom inconnu Vous pouvez m'en dire plus, car je ne maitrise pas trop les classes.
Merci d'avance.
Cordialement
Je suis en windev 10... Je pense que les classes ont pu changer. il faut déclarer l'objet : ClDocument est un CDocument() Tu devrais avoir les classes cOpenOffice et CDocument. Si tu utilises la classe openoffice de windev, le code que je t'ai donné te permettra de créer une méthode pour exporter tes documents en pdf. ça fonctionne très bien avec ma version. cdlt |
| |
| |
| | | |
|
| | |
| |
| Posté le 15 juin 2011 - 16:17 |
Bonjour,
J'ai bien fait comme les autres fonctions de la classe fourni par windev. j'ai essayé avec le document ouvert et avec le document non ouvert, mais j'ai toujours la même erreur sur le currentcontroller.
je ne comprends pas, je chercher. Merci |
| |
| |
| | | |
|
| | |
| |
| Posté le 17 juin 2011 - 14:06 |
J'ai trouvé mon problème.
Voici le code si ça peut servir à quelqu'un :
Procedure Export_PDF(NomDocument)
Document est un objet OLE dynamique dispatcher est un objet OLE dynamique NomDocumentFormaté est une chaîne = "file:///"+Remplace(NomDocument,"\","/")
NomDocumentFormaté = Remplace(NomDocumentFormaté,".rtf",".pdf")
dispatcher = :oServiceManager>>createInstance("com.sun.star.frame.DispatchHelper")
Document = :oDocument>>CurrentController>>Frame
ParamImpression est un tableau de 3 objet automation dynamique tabPdfFilterData est un tableau de 2 objet automation dynamique
tabPdfFilterData[1] = :oServiceManager>>Bridge_GetStruct("com.sun.star.beans.PropertyValue") tabPdfFilterData[1]>>Name = "SelectPdfVersion" tabPdfFilterData[1]>>Value = 1
tabPdfFilterData[2] = :oServiceManager>>Bridge_GetStruct("com.sun.star.beans.PropertyValue") tabPdfFilterData[2]>>Name = "UseTaggedPDF" tabPdfFilterData[2]>>Value = True
ParamImpression[1] = :oServiceManager>>Bridge_GetStruct("com.sun.star.beans.PropertyValue") ParamImpression[1]>>Name = "URL" ParamImpression[1]>>Value = NomDocumentFormaté
ParamImpression[2] = :oServiceManager>>Bridge_GetStruct("com.sun.star.beans.PropertyValue") ParamImpression[2]>>Name = "FilterName" ParamImpression[2]>>Value = "writer_pdf_Export"
ParamImpression[3] = :oServiceManager>>Bridge_GetStruct("com.sun.star.beans.PropertyValue") ParamImpression[3]>>Name = "FilterData" ParamImpression[3]>>Value = tabPdfFilterData
dispatcher>>executeDispatch(Document,".uno:ExportDirectToPDF","",0,ParamImpression)
Bonne journée à tous. |
| |
| |
| | | |
|
| | |
| |
| Posté le 17 juin 2011 - 17:35 |
Damien a exposé le 17/06/2011 :
J'ai trouvé mon problème. Voici le code si ça peut servir à quelqu'un : Procedure Export_PDF(NomDocument)
Document est un objet OLE dynamique dispatcher est un objet OLE dynamique NomDocumentFormaté est une chaîne = "file:///"+Remplace(NomDocument,"\","/")
devienne le Fichier généré. NomDocumentFormaté = Remplace(NomDocumentFormaté,".rtf",".pdf")
dispatcher = :oServiceManager>>createInstance("com.sun.star.frame.DispatchHelper")
Document = :oDocument>>CurrentController>>Frame
ParamImpression est un tableau de 3 objet automation dynamique tabPdfFilterData est un tableau de 2 objet automation dynamique
tabPdfFilterData[1] = :oServiceManager>>Bridge_GetStruct("com.sun.star.beans.PropertyValue") tabPdfFilterData[1]>>Name = "SelectPdfVersion" tabPdfFilterData[1]>>Value = 1
tabPdfFilterData[2] = :oServiceManager>>Bridge_GetStruct("com.sun.star.beans.PropertyValue") tabPdfFilterData[2]>>Name = "UseTaggedPDF" tabPdfFilterData[2]>>Value = True
ParamImpression[1] = :oServiceManager>>Bridge_GetStruct("com.sun.star.beans.PropertyValue") ParamImpression[1]>>Name = "URL" ParamImpression[1]>>Value = NomDocumentFormaté
ParamImpression[2] = :oServiceManager>>Bridge_GetStruct("com.sun.star.beans.PropertyValue") ParamImpression[2]>>Name = "FilterName" ParamImpression[2]>>Value = "writer_pdf_Export"
ParamImpression[3] = :oServiceManager>>Bridge_GetStruct("com.sun.star.beans.PropertyValue") ParamImpression[3]>>Name = "FilterData" ParamImpression[3]>>Value = tabPdfFilterData
dispatcher>>executeDispatch(Document,".uno:ExportDirectToPDF","",0,ParamImpression) Bonne journée à tous.
Bien vu ! |
| |
| |
| | | |
|
| | |
| |
| Posté le 20 juin 2011 - 02:02 |
Pouvez-vous me donner la classe qui est "en amont" de ce code. J'essaye de trouver un moyen, par la programmation Windev, de : 1. ouvrir un fichier .odt 2. le sauver au format .pdf Je n'y connais rien en développement oo Je voudrais simplement faire du copier/coller. Merci pour votre aide |
| |
| |
| | | |
|
| | |
| |
| Posté le 20 juin 2011 - 11:06 |
Bonjour,
Donnez moi votre mail et je vous envoi ça. Bonne journée. |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|