1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
PROCEDURE DocumentVersPDF(LOCAL _sDocCheminComplet est une chaîne,_sDocPDFCheminComplet est une chaîne="")
LOCAL
oServiceManager est un objet OLE dynamique
oDesktop est un objet OLE dynamique
oDocument est un objet OLE dynamique
sMess est une chaîne
SI PAS fFichierExiste(_sDocCheminComplet) ALORS
sMess = "Le document source n'existe pas."
ExceptionDéclenche(1,sMess)
FIN
QUAND EXCEPTION DANS
// Création d'un service OpenOffice si nécessaire
oServiceManager = allouer un objet OLE ("com.sun.star.ServiceManager")
oDesktop = oServiceManager>>createInstance("com.sun.star.frame.Desktop")
FAIRE
sMess = "OpenOffice n'est pas installé sur votre poste."
ExceptionDéclenche(1,sMess)
FIN
tParams est un tableau de 0 objet Automation dynamique //Tableau de paramètres
//Masqué
CreateProperty(oServiceManager,tParams,"Hidden",Vrai)
//Lecture seule
//CreateProperty(oServiceManager,tParams,"ReadOnly",faux)
//Formatage du chemin du fichier
LOCAL
sDocCheminCompletTmp est une chaîne
sDocCheminCompletTmp = "file:///"+Remplace(_sDocCheminComplet,"\","/")
//Ouverture du fichier dans OpenOffice Writer
oDocument = oDesktop>>LoadComponentFromURL(sDocCheminCompletTmp,"_blank",0,tParams)
SI oDocument = Null ALORS
ExceptionDéclenche(1,"Impossible de charger le document source.")
FIN
TableauSupprimeTout(tParams)
//CreateProperty(oServiceManager,tParams,"Magnification",2)
//CreateProperty(oServiceManager,tParams,"EncryptFile",vrai)
//CreateProperty(oServiceManager,tParams,"DocumentOpenPassword","Password")
//CreateProperty(oServiceManager,tParams,"HideViewerWindowControls",vrai)
oExportObject est un objet OLE dynamique
oExportObject = oServiceManager>>Bridge_GetValueObject()
oExportObject>>Set("[]com.sun.star.beans.PropertyValue",tParams);
tFilterParams est un tableau de 0 objet Automation dynamique
CreateProperty(oServiceManager,tFilterParams,"FilterName","writer_pdf_Export")
CreateProperty(oServiceManager,tFilterParams,"FilterData",oExportObject)
SI _sDocPDFCheminComplet = "" ALORS
_sDocPDFCheminComplet = fExtraitChemin(_sDocCheminComplet,fDisque+fRépertoire+fFichier)+".pdf"
FIN
LOCAL
sDocPDFCheminCompletTmp est une chaîne
sDocPDFCheminCompletTmp = "file:///"+Remplace(_sDocPDFCheminComplet,"\","/")
oDocument>>StoreToURL(sDocPDFCheminCompletTmp,tFilterParams);
oDocument>>Close(Vrai);
CAS EXCEPTION:
sMess = "Erreur lors de la sauvegarde du document : "+RC
sMess += "'"+_sDocCheminComplet+"'"+RC
sMess += "vers le document : "+RC
sMess += "'"+_sDocPDFCheminComplet+"'."+RC
ExceptionPropage(sMess+RC+RC+ExceptionInfo(errComplet)) |
Partager