[Résolu][Base] Export PDF de rapport et hyperlien relatif

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
MartinAV
NOOuvel adepte
NOOuvel adepte
Messages : 24
Inscription : 26 oct. 2020 16:53

[Résolu][Base] Export PDF de rapport et hyperlien relatif

Message par MartinAV »

Bonjour à tous,

Je suis en train de faire une application qui permet de gérer du matériel avec plusieurs données dont leur facture et leur notice.
Cette application sera sur le cloud pour pouvoir être utilisée par plusieurs personnes et respecteras la même structure (.odb et fichiers des notices et factures dans le même répertoire)

Pour le moment j'ai réussi à créer des rapports avec des hyperliens grâce à Dude (https://forum.openoffice.org/fr/forum/v ... en#p345228).
J'actualise les liens avant la création du rapport pour que ceux-ci soit en fonction de l'emplacement du dossier dans l'arborescence de l'utilisateur.

J'ai aussi réussi grâce au forum à exporter des rapports en PDF via un bouton (les liens sont affichés sous forme de texte avec l'URL du fichier)

Mon objectif maintenant serait de combiner les deux et de pouvoir exporter mes rapports directement via un bouton et qu'ils comprennent des hyperliens plutôt que juste le texte du lien.

Et ce qui serait sublime c'est que ces hyperliens sur le PDF soit relatifs à l'emplacement du .odb et que l'on ne soit pas obligé de relancer l'export pour les actualiser.



En PJ une base exemple avec une table comprenant des liens, un formulaire pour la remplir, et un formulaire principal depuis lequel on peut ouvrir le rapport (avec les hyperliens), et exporter en PDF.
(Il faudra pour test modifier les liens des fichiers)


Merci

Martin
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Ubuntu 20.04.1 LTS
LibreOffice Version: 7.1.1.2
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26201
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Base] Export PDF d'un rapport et hyperlien

Message par Dude »

MartinAV
NOOuvel adepte
NOOuvel adepte
Messages : 24
Inscription : 26 oct. 2020 16:53

Re: [Base] Export PDF d'un rapport et hyperlien

Message par MartinAV »

Bonjour,

Je ne voit pas en quoi ce fil répond à mon problème d'avoir des hyperlien lors de l'export PDF.
Ce fil semble traiter de la création du formulaire PDF.

Moi mon PDF ne serait qu'une impression des mes rapports avec des liens cliquables vers d'autre fichier.



Merci

Martin
Ubuntu 20.04.1 LTS
LibreOffice Version: 7.1.1.2
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26201
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Base] Export PDF d'un rapport et hyperlien

Message par Dude »

Non, le fil contient un script pour l'export PDF.

Maintenant, pourquoi faire ?
Lorsque le rapport est affiché, le bouton existe :
Capture.PNG
Et si des hyperliens sont sur le document, ils sont exportés comme tels.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
MartinAV
NOOuvel adepte
NOOuvel adepte
Messages : 24
Inscription : 26 oct. 2020 16:53

Re: [Base] Export PDF d'un rapport et hyperlien

Message par MartinAV »

En effet je sais que l'on peut exporter en PDF depuis le rapport "writer".
Néanmoins j'aimerais, si possible, le faire depuis un bouton de mon formulaire principal pour une utilisation plus "conviviale" : export direct dans un répertoire prédéfini.

De plus j'aimerais que ces liens dans le PDF soient relatifs au répertoire de mon .odb. Le rapport "writer" se faisant dans un fichier temporaire, les liens dans le pdf sont relatifs à celui-ci (et non le odb).
J'ai essayé grâce au service "PathSetting" de modifier l'emplacement des fichiers temporaires mais où que soit le dossier temporaire les liens sont relatifs à celui-ci et pour qu'ils restent valables il faut donc que le fichier pdf soit enregistré dans ce dossier temporaire.
A moins que : Est-il possible de définir un chemin d'enregistrement des fichiers temporaires sans que création d'un nouveau dossier ?

Martin
Ubuntu 20.04.1 LTS
LibreOffice Version: 7.1.1.2
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26201
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Base] Export PDF d'un rapport et hyperlien

Message par Dude »

MartinAV a écrit :export direct dans un répertoire prédéfini.
Bis repetitae :
Dude a écrit :le fil contient un script pour l'export PDF.
MartinAV a écrit :De plus j'aimerais que ces liens dans le PDF soient relatifs au répertoire de mon .odb.
Pour récupérer le chemin complet d'un ODB, tu utilises sa propriété URL :

Code : Tout sélectionner

MsgBox ThisDatabaseDocument.URL
Tu as ensuite la fonction DirectoryNameoutofPath issue de la bibliothèque Tools pour récupérer le chemin sans le fichier
MartinAV
NOOuvel adepte
NOOuvel adepte
Messages : 24
Inscription : 26 oct. 2020 16:53

Re: [Base] Export PDF d'un rapport et hyperlien

Message par MartinAV »

Après plusieurs tests j'ai finalement réussi à exporter le PDF avec les hyperliens créés.

Code : Tout sélectionner

Sub convertirRapportPDF(oEv as Object)
	Dim nomPDF as String,adresseDoc As String
	Dim props As Variant, propsFiltre As Variant
	   
	   nomPDF = oEv.Source.Model.Tag & ".pdf"
   
	   propsFiltre = CreateProperties(Array( _
	    "UseLossLessCompression", True, _
	    "FormsType", 1, _
	    "SelectPdfVersion",1, _
	    "ExportNotes", True, _
	    "InitialView", 1, "PageLayout", 3, _
	    "DisplayPDFDocumentTitle", False, _
	    "PDFViewSelection", 1, _
	    "ViewPDFAfterExport",1 ))
	   props = CreateProperties(Array("FilterName", "writer_pdf_Export", "FilterData", propsFiltre() ))
	   
   		fichier = thisComponent.parent.URL
   		Chemin = Left(fichier, Len(fichier) -  Len(Dir(ConvertFromURL(fichier))))
   
   		adresseDoc = convertToURL(chemin & nomPDF)

         oRapport = EcrireUrlDansRapport
         
         oRapport.storeToURL(adresseDoc, props())
         oRapport.CurrentController.Frame.close(True)
         MsgBox("Le rapport est exporté",64)
    
End Sub


Sub EcrireUrlDansRapport as Object
   'Du code offert par le forum OpenOffice
   'https://forum.openoffice.org/fr/forum/ftopic63263.html
   oODB = Thisdatabasedocument
   oCtrl  = oODB.currentController
   
   Call Actualisation_lien
   
   if not oCtrl.isconnected then oCtrl.connect                         
   
   oRapport = oODB.reportdocuments.getbyname("RapportFichier")
   oDude = oRapport.open
   oDetail = oDude.TextTables.getByName("Detail")

    For i = 0 to oDetail.Rows.Count -1                      
	   oCell = oDetail.getCellByPosition(1, i) 'Colonne / ligne                           
	   oText = oCell.Text
	   oCurs = oText.createTextCursor()
	   oURL = "file://" & oText.String
	   With oCurs
	      .gotoEnd(True)
	      .setString("Cliquez ici")
	      .gotoStart(False)
	      .gotoEnd(True)
	      .HyperLinkURL = oURL
	   End with
	Next i
	
	EcrireUrlDansRapport = oDude
	
	
End Sub

Problème : les hyperliens créés sont absolus et non pas relatifs comme souhaité.

J'ai modifié dans "Outils > Options > Chemin" le répertoire des Fichiers Temporaires pour le mettre dans le répertoire du odb.

Lors de la création du rapport avec les hyperliens et export en PDF via le bouton dédié dans "Writer" j'ai bien des liens relatifs : ils restent valables lors du déplacement du dossier contenant le odb, les fichiers vers lesquels pointent les liens et le PDF exporter.

En revanche lors de la création du PDF via la macro, mes liens sont absolus (et deviennent caduques au déplacement du dossier). Comment les rendre relatifs ? Une propriété à ajouter dans le PropsFiltre ? J'ai cherché je n'ai pas trouvé laquelle ...


Martin
Ubuntu 20.04.1 LTS
LibreOffice Version: 7.1.1.2
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26201
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Base] Export PDF d'un rapport et hyperlien

Message par Dude »

Ton code

Code : Tout sélectionner

fichier = thisComponent.parent.URL
Chemin = Left(fichier, Len(fichier) -  Len(Dir(ConvertFromURL(fichier))))
Alors que je t'écris...
Dude a écrit :Pour récupérer le chemin complet d'un ODB, tu utilises sa propriété URL :

Code : Tout sélectionner

    MsgBox ThisDatabaseDocument.URL
Tu as ensuite la fonction DirectoryNameoutofPath issue de la bibliothèque Tools pour récupérer le chemin sans le fichier
:roll:
J'ai modifié dans "Outils > Options > Chemin" le répertoire des Fichiers Temporaires pour le mettre dans le répertoire du odb.
Mauvais idée : cela veut dire que tout va être sauvegardé dans ce répertoire.

Et on ne comprend pas ton histoire de chemin relatif. Les liens PDF doivent être comment.
Merci d'indiquer des exemples concrets.
MartinAV
NOOuvel adepte
NOOuvel adepte
Messages : 24
Inscription : 26 oct. 2020 16:53

Re: [Base] Export PDF d'un rapport et hyperlien

Message par MartinAV »

Merci pour ton aide.

Ma base de donnée est dans un répertoire "Inventaire" tel que :
  • Home/Martin/Documents
    • Inventaire
      • Inventaire.odb
      • Dossier_notice
        • Notice1.pdf
        • Notice2.pdf
        • ...

Mon objectif est que lors de l'export PDF de mon rapport les liens pointent vers les notices correspondantes de façon relative à l'emplacement de Inventaire.odb.
Qu'ils pointent vers : Dossier_notice/Notice1.pdf et non pas vers Home/Martin/Documents/Inventaire/Dossier_Notice/Notice1.pdf

Le but de tout ça étant que ce dossier Inventaire sera partagé entre plusieurs utilisateurs/machine et donc la partie absolue (Home/Martin/Documents) sera différente à chaque fois.
Je cherche donc à ce que les liens du PDF pointent vers le bon fichier (qui sont tous rangé dans un dossier enfant de celui où est le .odb). Et ce sans avoir besoin de relancer l'export du PDF.

D'après mes tests, lorsque l'on crée un rapport il s'enregistre temporairement dans un dossier défini par le chemin "Fichier Temporaire", et donc lors de l'export de celui-ci en PDF via le bouton dédié de "writer", bien que l'option Enregistrer les URL relatifs au système de fichier soit activée les liens PDF créés sont relatifs à l'emplacement du dossier "Fichier Temporaire" et non pas à l'emplacement de Inventaire.odb. C'est pourquoi j'avais tenté de changer l'emplacement des "Fichier Temporaires".
Et cette technique semble plutôt bien fonctionner pour l'export depuis le rapport "Writer".

En revanche elle ne fonctionne pas pour l'export direct depuis un bouton sur le formulaire principal : les liens y sont absolu (Home/Martin/...)
Ubuntu 20.04.1 LTS
LibreOffice Version: 7.1.1.2
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26201
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Base] Export PDF d'un rapport et hyperlien

Message par Dude »

MartinAV a écrit :Le but de tout ça étant que ce dossier Inventaire sera partagé entre plusieurs utilisateurs/machine
Ca va être compliqué puisque Base est mono-utilisateur.

Mais bon, puisqu'il va s'agir d'un répertoire partagé. A quoi va servir un chemin relatif ?
MartinAV
NOOuvel adepte
NOOuvel adepte
Messages : 24
Inscription : 26 oct. 2020 16:53

Re: [Base] Export PDF d'un rapport et hyperlien

Message par MartinAV »

Le répertoire Inventaire va être partagé via une Dropbox ou autre. Plusieurs personne (une petite dizaine grand max) l'auront donc sur leur ordi.

Certains seront Gestionnaire et auront donc accès au .odb.
Tandis que d'autre ne seront que Consultateur et n'auront accès que au PDF du rapport. D'où le fait que je souhaiterais que les hyperliens dans ce PDF soit relatifs au répertoire Inventaire et donc valable chez tout ceux qui ont accès à ce dossier.
Ubuntu 20.04.1 LTS
LibreOffice Version: 7.1.1.2
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26201
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Base] Export PDF d'un rapport et hyperlien

Message par Dude »

MartinAV a écrit :Plusieurs personne (une petite dizaine grand max) l'auront donc sur leur ordi.
As-tu lu ce que j'ai écrit ? Ton ODB ne peut être ouvert qu'en accès exclusif.
MartinAV a écrit :Qu'ils pointent vers : Dossier_notice/Notice1.pdf et non pas vers Home/Martin/Documents/Inventaire/Dossier_Notice/Notice1.pdf
Toujours pas compris : comment peux-tu atteindre le Dossier_notice sans passer par Inventaire ?
MartinAV
NOOuvel adepte
NOOuvel adepte
Messages : 24
Inscription : 26 oct. 2020 16:53

Re: [Base] Export PDF d'un rapport et hyperlien

Message par MartinAV »

Dude a écrit : As-tu lu ce que j'ai écrit ? Ton ODB ne peut être ouvert qu'en accès exclusif.
Le fichier ne sera pas ouvert en même temps par plusieurs personnes, donc pas de problème de ce côté là.

Dude a écrit : Toujours pas compris : comment peux-tu atteindre le Dossier_notice sans passer par Inventaire ?
Le PDF du rapport étant dans le dossier Inventaire, on peut atteindre Dossier_notice/Notice1.pdf sans passer par Inventaire (une URL relative).

J'ai fait le test avec des documents writer et l'arborescence suivante :
  • Home/Martin/Bureau
    • TEST
      • NOTICE
        • Notice1.pdf
      • test.odt
      • test.pdf
test.pdf étant l'export PDF de test.odt.
Dans test.odt j'ai créé un hyperlien vers Notice1.pdf. Writer étant paramétré pour "Enregistrer les URL relatifs au système de fichier" (Outils > Option > Chargement/Enregistrement > Général), lors de l'export pdf de celui-ci le lien pointe vers NOTICE/Notice1.pdf et non pas Home/Martin/Bureau/TEST/NOTICE/Notice1.pdf : l'URL est relative.

Cela permet que si l'on déplace le dossier TEST vers par exemple Home/Martin/Document, le lien du PDF ouvre bien Notice1.pdf. l'URL relative de Notice1.pdf par rapport à test.pdf est inchangée bien que son URL absolue ai été modifiée (elle est passé de Bureau à Document).


Pour revenir à mon problème initial et ma base de donnée c'est ces hyperliens relatifs lors de l'export PDF que j’essaie de mettre en place.
Cela fonctionne lors de la création du rapport avec les hyperliens puis export PDF avec le bouton dédié, en modifiant l'emplacement des "Fichiers Temporaires" pour le répertoire courant du .odb. (Pour moi ça vient du fait que le rapport se crée de manière temporaire donc les URL des hyperliens sont relatives à ce fichier temporaire d'où la nécessité d'avoir se fichier temporaire dans le répertoire du .odb pour répondre à mon problème)

En revanche cela ne fonctionne pas lors de l'export direct en PDF depuis mon formulaire menu principal. C'est là que je bute...
Ubuntu 20.04.1 LTS
LibreOffice Version: 7.1.1.2
MartinAV
NOOuvel adepte
NOOuvel adepte
Messages : 24
Inscription : 26 oct. 2020 16:53

Re: [Base] Export PDF d'un rapport et hyperlien

Message par MartinAV »

Après avoir continué à tester différentes solutions directement à partir d'un document writer ma question revient à :


Comment garder un adressage relatifs des hyperliens via l'export par macro, comme il se fait via l'export par le bouton dédié ?
Ubuntu 20.04.1 LTS
LibreOffice Version: 7.1.1.2
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26201
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Base] Export PDF d'un rapport et hyperlien

Message par Dude »

Redif de mon message du 16/12/20
Si tu sais que la localisation des PDF est dans un répertoire enfant de l'ODB, il suffit de faire :

Code : Tout sélectionner

GlobalScope.BasicLibraries.loadLibrary("Tools")
sRep = DirectoryNameoutofPath(ThisComponent.URL, "/") & "/Dossier_notice/"
MartinAV
NOOuvel adepte
NOOuvel adepte
Messages : 24
Inscription : 26 oct. 2020 16:53

Re: [Base] Export PDF d'un rapport et hyperlien

Message par MartinAV »

Bonjour,

J'ai essayé ta solution mais cela ne change pas mon problème : une fois les liens créer, l'export PDF via la macro crée des liens absolus et non relatifs. Le dossier entier (OdB + Notice + Rapport PDF) ne peut être déplacé en conservant l'intégrité des liens du rapport PDF sans relancer son export.

Je ne sais pas si tu reproduis mon problème :
  • Suite à la création d'un rapport via macro pour y intégrer des hyperliens :
    • Si je l'exporte via le bouton dédié de writer les hyperliens présents dans le PDF sont relatifs au dossier du ODB
    • Si je l'exporte via une macro (ce qui me permet de prédéfinir le chemin de l'export), les hyperliens présent dans le PDF sont absolues
Ubuntu 20.04.1 LTS
LibreOffice Version: 7.1.1.2
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26201
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Base] Export PDF d'un rapport et hyperlien

Message par Dude »

MartinAV a écrit :Le dossier entier (OdB + Notice + Rapport PDF) ne peut être déplacé en conservant l'intégrité des liens du rapport PDF sans relancer son export.
N'est-ce pas là l'intérêt d'une base de données : générer des informations à un instant T pour que ces dernières soient à jour. :roll:
Si tu veux faire une liste statique, tu génères ton PDF avec Writer.
MartinAV
NOOuvel adepte
NOOuvel adepte
Messages : 24
Inscription : 26 oct. 2020 16:53

Re: [Base] Export PDF d'un rapport et hyperlien

Message par MartinAV »

Il s'agit d'une base de gestion d'EPI pour asso. Cette base doit être gérée par un membre du bureau et accessible à tout le bureau.
J'y voyais l’intérêt de pouvoir pour :
  • Les gestionnaires de la bdd, exporter un PDF à chaque mise à jour de la base.
  • Les "consultateurs" ouvrir le PDF et naviguer vers les notices via des hyperliens qui sont fonction du dossier du odb (liens relatifs) et non de la racine du système. Le tout sans nécessairement avoir LOBase installé sur son ordi.
.


Ce que je trouve étrange ce de pas réussir à reproduire par macro une action qui marche via le bouton dédié "exporter direct au format PDF" sur le writer du rapport.

Mais tant pis si ce n'est pas réalisable je ferais sans.

Merci pour ton aide et belle fin d'année.

Martin
Ubuntu 20.04.1 LTS
LibreOffice Version: 7.1.1.2
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2791
Inscription : 16 avr. 2010 13:31

Re: [Base] Export PDF d'un rapport et hyperlien

Message par OOotremer971 »

Bonjour,

Dans ton tableau des propriétés d'export, as-tu testé :

Code : Tout sélectionner

ExportLinksRelativeFsys
Une bonne dose de détails ici : https://wiki.openoffice.org/wiki/API/PDF_export

Genre (non testé) :

Code : Tout sélectionner

propsFiltre = CreateProperties(Array( _
       "UseLossLessCompression", True, _
       "FormsType", 1, _
       "SelectPdfVersion",1, _
       "ExportNotes", True, _
       "ExportLinksRelativeFsys", True, _
       "InitialView", 1, "PageLayout", 3, _
       "DisplayPDFDocumentTitle", False, _
       "PDFViewSelection", 1, _
       "ViewPDFAfterExport",1 ))
A+
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian GNU/Linux 12 (bookworm)
MartinAV
NOOuvel adepte
NOOuvel adepte
Messages : 24
Inscription : 26 oct. 2020 16:53

Re: [Base] Export PDF d'un rapport et hyperlien

Message par MartinAV »

OOotremer971 a écrit :

Code : Tout sélectionner

ExportLinksRelativeFsys
C'est exactement ce qu'il me manquait pour que ça (presque) marche.

Cet export PDF se faisant à partir d'un rapport généré automatiquement (donc dans des dossiers temporaires), la relativité des liens ce fait à partir d'un dossier obscur au fin fond de la racine.
Pour pallier à cela, je modifie par macro le dossier temporaire

Code : Tout sélectionner

	PathSetting.Temp = chemin de la base de donnee
Problème la prise en compte de ce nouveau chemin ne sait fait qu'après un certain nombre de réouverture de l'odb. J'ai du louper une étape.

J'ai donc essayé une deuxième méthode : enregistrer le rapport avant l'export.

Code : Tout sélectionner

Sub EnregistrerRapport(oDoc, sFile)
	
	sURL = convertToURL(sFile)
	oDoc.storeAsURL(sURL, array())

End sub
Et là curieux problème, la relativité ce fait par rapport à un "étage" en trop.
Je m'explique :
Les liens du rapport enregistré pointent vers des PDF d'un dossier enfant qui s'appelle notice. Donc en URL relative ca donne normalement "/Notice/*.pdf"
Et c'est bien ce qu'il se passe lors de l'export avec le bouton dédié de Writer.
En revanche avec la macro les liens pointent vers "../Notice/*PDF". C'est ce "../" qui me pose problème et que je ne m'explique pas.

J'ai réussi à contourner ce soucis en exportant le PDF dans un autre dossier enfant pour que le "../Notice/*.pdf" marche correctement mais j'aimerais comprendre la logique de la chose.


Martin
Ubuntu 20.04.1 LTS
LibreOffice Version: 7.1.1.2
Avatar de l’utilisateur
jeanmi2403
SuppOOrter
SuppOOrter
Messages : 1485
Inscription : 18 janv. 2008 09:02
Localisation : Val de Marne

Re: [Base] Export PDF d'un rapport et hyperlien

Message par jeanmi2403 »

Bonjour,
MartinAV a écrit :Donc en URL relative ca donne normalement "/Notice/*.pdf"
Ça, c'est absolu par rapport à la racine, en relatif c'est "./Notice/*.pdf"
Bonne journée,
Jean-Michel
LibO 25.2 et AoO 4.1.15 sur Windows 11 & Ubuntu 22.04
LibO 24.8 sur OpenSuse & Linux MX
MartinAV
NOOuvel adepte
NOOuvel adepte
Messages : 24
Inscription : 26 oct. 2020 16:53

Re: [Base] Export PDF d'un rapport et hyperlien

Message par MartinAV »

C'est plutôt "Notice/*pdf" non ? En tout cas c'est ce que fait l'exportation PDF du bouton dédié sur writer avec les pdf qui sont dans un dossier enfant "Notice" de la source (le odt).

Et bizarrement l'export de la même source mais via la macro pointe vers "../Notice/*pdf". Le lien ne marche donc pas puisqu'il cherche le dossier "Notice" dans le dossier parent de celui où est le odt.

Comme je disais je contourne ce problème en exportant le PDF dans un dossier enfant de celui du odt comme cela le "../Notice/*pdf" revient dans le dossier du odt, puis va dans le dossier "Notice".

Mais je ne comprends pas la logique et j'aimerais la comprendre. Ou est-ce juste un bug ?
Ubuntu 20.04.1 LTS
LibreOffice Version: 7.1.1.2
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26201
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Base] Export PDF d'un rapport et hyperlien

Message par Dude »

MartinAV a écrit :Ce que je trouve étrange ce de pas réussir à reproduire par macro une action qui marche via le bouton dédié "exporter direct au format PDF" sur le writer du rapport.
Je vais encore me répéter :
Dude a écrit :Si tu veux faire une liste statique, tu génères ton PDF avec Writer.
Rien ne t'empêche de le connecter à ton ODB.
MartinAV a écrit :l'export PDF via la macro crée des liens absolus et non relatifs.
Je viens de faire un essai avec ton document.
Les données dans la table correspondent à des données dont le chemin est incorrect.
Le PDF généré ne contient aucune URL cliquable :
Capture.PNG
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Avatar de l’utilisateur
jeanmi2403
SuppOOrter
SuppOOrter
Messages : 1485
Inscription : 18 janv. 2008 09:02
Localisation : Val de Marne

Re: [Base] Export PDF d'un rapport et hyperlien

Message par jeanmi2403 »

Bonsoir
MartinAV a écrit :C'est plutôt "Notice/*pdf" non ?
Le point "." représente le répertoire courant, ".." le parent. "Notice" et "./Notice" devraient être équivalents, mais ça dépend du contexte. "./" assure qu'il s'agit du répertoire courant.
D'ailleurs, il est impossible d'exécuter un fichier Linux depuis le répertoire courant sans faire précéder son nom de "./".
Tu peux poser un exemple de ta dernière version ? J'aimerais comprendre aussi !!
Bonne soirée,
PS : Dans ton premier exemple, il y a un mélange de dossiers système et d'Url. Je n'ai pas regardé plus loin...
Jean-Michel
LibO 25.2 et AoO 4.1.15 sur Windows 11 & Ubuntu 22.04
LibO 24.8 sur OpenSuse & Linux MX
MartinAV
NOOuvel adepte
NOOuvel adepte
Messages : 24
Inscription : 26 oct. 2020 16:53

Re: [Base] Export PDF d'un rapport et hyperlien

Message par MartinAV »

Mon fichier est joint. Pour le tester il te faudra :
  • Le mettre dans un dossier "TEST"
    • Dans ce dossier, un dossier "Notice"
      • Dans ce dossier notice des fichiers pdf
  • Mettre les bons liens vers les pdf de "Notice" dans la table tFichier via le formulaire FmFichier
.

Dans MENU PRINCIPAL le bouton "Impression rapport PDF" va créer dans le dossier "TEST" un fichier rapport.odt et un "rapport_fichier.pdf".

Le problème est que les liens du pdf pointent vers "../Notice/*.pdf" et ne fonctionnent donc pas alors que ceux du odt (après export par le bouton dédié de writer) pointent vers "Notice/*.pdf"
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Ubuntu 20.04.1 LTS
LibreOffice Version: 7.1.1.2
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26201
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Base] Export PDF d'un rapport et hyperlien

Message par Dude »

MartinAV a écrit :Le problème est que les liens du pdf pointent vers "../Notice/*.pdf"
Ton problème est que tu ne lis pas ce que je t'écris. :roll:
Les URL dans ta table sont incorrectes (revoir ma copie écran).

Ensuite, il suffit de passer la bonne chaîne pour que cela fonctionne en démarrant avec file://.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.