IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Runtime Discussion :

Export PDF Runtime Access


Sujet :

Runtime

  1. #1
    Membre expérimenté Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 903
    Points : 1 364
    Points
    1 364
    Par défaut Export PDF Runtime Access
    Bonjour,

    Lors du développement d'une base Access (utilisée en Runtime 2010), on m'a demandé de mettre en place des états pour les générer ensuite en PDF.
    Pour vous mettre dans le contexte, j'ai besoin de générer plusieurs états différents selon certaines conditions et de les fusionner à la fin avec un logiciel au format PDF.

    J'ai tenté d'utiliser les logiciels suivants :
    • PDFCreator : fonctionne sur la version officielle mais pas chez le client
    • Adobe Acrobat : fonctionne sur la version officielle mais le client ne souhaite pas acquérir le logiciel (compréhensible puisque c'est payant)
    • PDFToolKit : fonctionne plus ou moins selon les ordinateurs


    Bref, j'ai utilisé aujourd'hui PDFToolKit mais celui-ci pose, au final, beaucoup de problèmes :
    • Lenteur du logiciel à fusionner environ 20 PDF entre eux
    • Quand une fusion pose problème à un moment T, le fichier est corrompu et donc, impossibilité de l'ouvrir

    L'exploitation de ce logiciel est donc (je m'excuse auprès des développeurs), pourrie, pas fiable et instable.

    Aujourd'hui, je cherche un autre logiciel ayant le même potentiel que PDFCreator et Adobe Acrobat et utilisable en VBA (avec, si possible, un petit tutoriel d'utilisation en VBA pour manipuler les PDF entre eux si possible).

    Merci d'avance pour les réponses.

    Cordialement,
    Le sabre est une arme. Le kendo est un art de tuer. Quelles que soient les belles paroles pour l'expliquer, telle est sa vérité.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Je n'ai pas de solution pour tes PDF mais as-tu envisagé de faire ta fusion en amont dans un rapport Access puis de l'exporter en PDF ?

    Personnellenent je suis intervenu sur des rapports Access assez complexes montés comme suit :

    Rapport principal (coquille vide servant uniquement de contenant)

    Sous-Rapport 1
    Saut de page

    Sous-Rapport 2
    Saut de page

    Sous-Rapport 3

    Et pour éviter d'avoir des problèmes de longueur de page (un rapport ne peut pas avoir une page de plus de 50cm de hauteur environ) définir les sous-rapports de hauteur 1 ou 2cm.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre expérimenté Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 903
    Points : 1 364
    Points
    1 364
    Par défaut
    Bonjour,

    Merci pour ta réponse et oui, j'ai pensé à cette éventualité de ne faire qu'un seul export mais j'ai une contrainte particulière du client, qui est de générer une certaine page en fonction d'une condition de la mission. Ce qui fait que mes formats ne sont pas forcément les mêmes.
    J'aurais pu tout mettre dans un seul et préparer une requête qui contourne cette règle mais le second problème est que, si j'exporte toutes les données de l'état, cela représente, en moyenne, 40 pages. Là, c'est Access qui ne supporte pas, vu que pour exporter un état, avec les bonnes données, il faut au moins l'ouvrir derrière.

    Cordialement,
    Le sabre est une arme. Le kendo est un art de tuer. Quelles que soient les belles paroles pour l'expliquer, telle est sa vérité.

  4. #4
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Ghostscript permet de fusionner des PDF. L'usage est très simple puisque c'est en ligne de commande :

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=final.pdf fichier1.pdf fichier2.pdf fichier3.pdf
    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  5. #5
    Membre expérimenté Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 903
    Points : 1 364
    Points
    1 364
    Par défaut
    Bonjour,

    Merci pour la réponse.
    Je viens de l'essayer et j'ai mis ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell "C:\Program Files (x86)\gs\gs8.61\bin\gswin32c.exe -dBATCH -dNOPAUSE -dQUIET -sDEVICE=pdfwrite -sOutputFile=""C:\Final.pdf"" ""C:\1.pdf""" ""C:\2.pdf"" ""C:\3.pdf"""
    J'ai fouillé un peu sur le net et je ne sais pas à quoi correspondent toutes ces options (-dBATCH, -dNOPAUSE...)

    De plus, je ne sais pas si c'est une erreur de mon côté ou non, mais il ne fusionne pas les PDF entre eux et j'ai 2 bizarreries qui surviennent selon la configuration des fichiers pris pour cible :
    • Il créé un fichier Final.pdf avec seulement une image dedans (qui vient de 1.pdf)
    • Il prend l'intégralité de 2.pdf et me signale une erreur sur le format de la police utilisée lorsque j'arrive sur la page concernée (il ne semble pas supporté les "é")


    Pourrais-tu me fournir un peu plus d'explications dessus, stp ?

    Cordialement,
    Le sabre est une arme. Le kendo est un art de tuer. Quelles que soient les belles paroles pour l'expliquer, telle est sa vérité.

  6. #6
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Bien en fait, la syntaxe est certes un peu abscons mais tu as omis des guillemets d'une part (sur l'exe) et tu en as ajouté en trop d'autre part...

    Si tu affectes ta chaîne à une variable, tu as une erreur de syntaxe :
    Code Erreur : Sélectionner tout - Visualiser dans une fenêtre à part
    myCmd= "C:\Program Files (x86)\gs\gs8.61\bin\gswin32c.exe -dBATCH -dNOPAUSE -dQUIET -sDEVICE=pdfwrite -sOutputFile=""C:\Final.pdf"" ""C:\1.pdf""" ""C:\2.pdf"" ""C:\3.pdf"""
    Elle aurait du être :
    Code Syntaxe correcte : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    myCmd = Chr(34) & "C:\Program Files (x86)\gs\gs8.61\bin\gswin32c.exe" & Chr(34) & " -dBATCH -dNOPAUSE -dQUIET -sDEVICE=pdfwrite -sOutputFile=C:\Final.pdf C:\1.pdf C:\2.pdf C:\3.pdf"

    Voici un exemple opérationel :
    Code Exemple opérationel : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    Private Sub TestGhostScript()
    '---------------------------------------------------------------------------
    ' Procedure     : TestGhostScript
    ' DateTime      : 27/05/2015
    ' Author        : Jean-Philippe AMBROSINO
    ' Purpose       : Demo Ghostscript
    '...........................................................................
    ' Parameters    : None
     
    ' Return Codes  : None
    '...........................................................................
    ' Notes         :
    '---------------------------------------------------------------------------
    Const CMD_PGR                                          As String = "C:\Program Files (x86)\gs\Ghostscript\bin\gswin32.exe"
    Const CMD_PARAM                                        As String = " -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE="
    Const PDF_OUTPUT_FILES                                 As String = "Z:\MyDocuments\Trash\TestPDF\Final.pdf "
    Const PDF_INPUT_FILES                                  As String = "-dBATCH Z:\MyDocuments\Trash\TestPDF\1.pdf Z:\MyDocuments\Trash\TestPDF\2.pdf Z:\MyDocuments\Trash\TestPDF\3.pdf"
     
    Dim dblSuccess                                         As Double
    Dim strCommand                                         As String
     
        strCommand = Chr(34) & CMD_PGR & Chr(34) & CMD_PARAM & PDF_OUTPUT_FILES & PDF_INPUT_FILES
        dblSuccess = Shell(strCommand, 1)
        If dblSuccess Then
            Shell "EXPLORER /select," & PDF_OUTPUT_FILES, 1
        Else
            MsgBox "Erreur #& " & dblSuccess
        End If
    End Sub

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  7. #7
    Membre expérimenté Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 903
    Points : 1 364
    Points
    1 364
    Par défaut
    D'accord.
    Merci pour ces informations.

    Cependant, je les ai mises en pratique et j'ai testé aussi ta macro (en changeant les chemins) mais j'obtiens le même type de résultat que ce matin...

    C'est-à-dire qu'il ne prend pas forcément tous les fichiers (et dans celui qu'il prend, il ne récupère qu'une image) et/ou il me retire mes caractères avec des accents.
    Mais je crois avoir lu ce matin que GhostScript a certaines préférences sur les fichiers PDF en fonction de "normes" (je n'ai pas tout saisi dans la page web qui était en anglais malheureusement...), ce qui expliquerait le problème d'accents mais potentiellement aussi ce problème de fusion...

    Tu utilises quelle version du logiciel GhostScript ? Car pour PDFCreator cela dépend de la version utilisée. C'est peut être pour cela que ce n'est pas très fonctionnel chez moi.
    Pour ma part, j'ai la 8.61.

    Cordialement,
    Le sabre est une arme. Le kendo est un art de tuer. Quelles que soient les belles paroles pour l'expliquer, telle est sa vérité.

  8. #8
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Humm, là, je ne sais pas trop...

    Le test que j'ai fait a été effectué avec Ghostscript 9.16.

    J'ai généré les PDF 1, 2 et 3 avec Word et avec PDF Creator au préalable.
    Mais ils sont simplistes. Un texte et une image.

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  9. #9
    Membre expérimenté Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 903
    Points : 1 364
    Points
    1 364
    Par défaut
    D'accord.

    Je vais essayer de trouver cette version-ci pour voir si cela change quelque chose.

    De plus, les PDF que j'ai utilisé sont les premiers que j'ai trouvé sur mon ordi. L'un vient d'Access (en imprimant un formulaire) et les autres d'Excel, je pense.

    Mais l'objectif est que je puisse faire fonctionner cela via Access Runtime 2010. Vais déjà voir avec ces informations.

    Merci.
    Le sabre est une arme. Le kendo est un art de tuer. Quelles que soient les belles paroles pour l'expliquer, telle est sa vérité.

  10. #10
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Le code que je t'ai posté est écrit en VBA sous Excel...
    Il sera tout aussi opérationnel sous Access (Runtime ou pas) du moment que l'exe GS est dispo sur le poste cible.

    Essaye avec ces 3 PDF ci-joints pour voir. (ceux que j'ai créé).

    Argy
    Images attachées Images attachées
    • Type de fichier : pdf 1.pdf (230,7 Ko, 401 affichages)
    • Type de fichier : pdf 2.pdf (212,2 Ko, 304 affichages)
    • Type de fichier : pdf 3.pdf (222,6 Ko, 198 affichages)
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  11. #11
    Membre expérimenté Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 903
    Points : 1 364
    Points
    1 364
    Par défaut
    Je viens de tester.

    La fusion s'est bien déroulée semble-t-il.
    J'ai quand même le message suivant (qui ressemble à ceux que j'obtenais) lorsque je scroll vers la page 3 :
    Impossible d'extraire la police incorporée HYKMKQ+Verdana. Il se peut que certains caractères s'affichent mal ou s'impriment mal.
    Il me manque peut être ces polices sur l'ordinateur ?

    Par contre, concernant la fusion, cela viendrait plus de mes PDF à moi. Ci-joint, ce que ressort l'invite de commande (si cela te parle, parce que pour moi, c'est un peu du charabia...)
    Nom : Essai.png
Affichages : 317
Taille : 171,6 Ko

    Encore merci pour le temps que tu passes dessus.
    Le sabre est une arme. Le kendo est un art de tuer. Quelles que soient les belles paroles pour l'expliquer, telle est sa vérité.

Discussions similaires

  1. Exporter un état en fichier pdf sous access 2010
    Par titi_la_vermine dans le forum VBA Access
    Réponses: 0
    Dernier message: 25/08/2010, 16h30
  2. Export pdf sous ACCESS 2000
    Par _Drama dans le forum Access
    Réponses: 2
    Dernier message: 22/02/2010, 14h27
  3. Tutoriel Export PDF et Access 97
    Par JeremieT dans le forum Access
    Réponses: 7
    Dernier message: 22/05/2008, 13h29
  4. Runtime Access 2003 Exporter
    Par papatte62360 dans le forum Runtime
    Réponses: 2
    Dernier message: 23/11/2006, 11h28
  5. Export d'état Access sous forme de PDF
    Par rapace dans le forum Access
    Réponses: 13
    Dernier message: 31/08/2006, 10h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo