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

Macros et VBA Excel Discussion :

Convertir fichier PDF en JPG avec PDFCreator


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    841
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 841
    Par défaut Convertir fichier PDF en JPG avec PDFCreator
    Bonjour,

    J'aurai besoin de convertir des fichiers PDF en JPG.

    La méthode consisterait à :

    1. Sélectionner un répertoire filtrant le format PDF
    2. Sélectionner un ou plusieurs fichiers
    3. Convertir et enregistrer les ou les fichiers sélectionnés au format JPEG avec PDFCreator

    En adaptant le code trouvé sur ce forum ça fonctionne, sauf que c'est la feuille active qui est enregistrée au format JPEG au lieu du fichier PDF sélectionné.

    Voici le code adapté :
    Code : 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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    Option Explicit 
    Sub PDFCreator_format_jpeg()
    Dim JobPDF As Object
    Dim sNomPDF As String
    Dim sCheminPDF As String
    Dim oFSO As Object, fileToOpen
     
    fileToOpen = Application.GetOpenFilename("pdf Files (*.pdf), *.pdf")
        If fileToOpen <> False Then
             Set oFSO = CreateObject("Scripting.FileSystemObject")
             sNomPDF = oFSO.GetBaseName(fileToOpen)
             sCheminPDF = ThisWorkbook.Path
     
            If IsEmpty(ActiveSheet.UsedRange) Then Exit Sub
     
            Set JobPDF = CreateObject("PDFCreator.clsPDFCreator")
     
            With JobPDF
                If .cStart("/NoProcessingAtStartup") = False Then
                    MsgBox "Initialisation de PDFCreator impossible", vbCritical + vbOKOnly, "PDFCreator"
                    Exit Sub
                End If
                .cOption("UseAutosave") = 1
                .cOption("UseAutosaveDirectory") = 1
                .cOption("AutosaveDirectory") = sCheminPDF
                .cOption("AutosaveFilename") = sNomPDF
                .cOption("AutosaveFormat") = 2  ' 0=PDF, 1=Png, 2=jpg, 3=bmp, 4=pcx, 5=tif, 6=ps, 7=eps, 8=txt
                .cClearCache
            End With
     
            ActiveWorkbook.PrintOut copies:=1, ActivePrinter:="PDFCreator"
     
            'Fichier dans la file d'attente
            Do Until JobPDF.cCountOfPrintjobs = 1
                DoEvents
            Loop
            JobPDF.cPrinterStop = False
     
            'Attendre que la file d'attente soit vide
            Do Until JobPDF.cCountOfPrintjobs = 0
                DoEvents
            Loop
            JobPDF.cClose
            Set JobPDF = Nothing
        End If
    End Sub
    J'ai fait des recherche sans trouver la solution à ce problème, pourriez-vous m'aider SVP.

    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, via la liste disponible ici, tu trouveras les infos et fichiers nécessaires.

    Tu as celui-ci : Liste des fichiers d'un dossier

    Tu peux supprimer les fichiers inutiles de cette liste puis y ajouter ta procédure de conversion en jpeg

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    841
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 841
    Par défaut
    Merci pour ta réponse,
    Désormais la liste des contributions à jour pour Excel / Word / PDF avec Adobe Acrobat Pro et PDFCreator au format xls avec les liens et intitulés des différents posts sera disponible ici.
    Les mises à jour se faisant irrégulièrement, mais surtout sans les contraintes des posts classiques ni encombrement inutile.
    Petit problème je n'arrive pas à ouvrir le fichier zip : Liste_Contributions_PDF_Forum.7z

    Comment cette liste pourrait régler mon problème.

    Petite précision, je voudrais convertir un fichier PDF en JPG afin de l'afficher dans le WebBrowser d'un userform, car le message "Erreur non répertoriée" s'affiche lorsque je veux créer un contrôle AcroPDF dans l'userform (version Acrobat Reader DC)

    Si le contrôle AcroPDF fonctionne avec Acrobat Reader 11.0.09, je désinstalle Acrobat Reader DC ?

  4. #4
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, il te faut 7zip

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    841
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 841
    Par défaut
    Bonjour,

    Impossible de décompresser Liste_Contributions_PDF_Forum.7z avec WinRar ou 7Zip ?

    Si j'arrive à l'ouvrir que dois-je faire ensuite ?

    Cela est en rapport, je te cite :
    Ce code fonctionnait avec le Reader 11.0.06, mais se vautrait avec le Reader 11.0.07 et 08, mais refonctionne avec le Reader 11.0.09 ( ce bug avait été signalé mais sa correction s'est faite attendre )
    Remarque annexe : le code de ce post à l'avantage de supprimer l'apparition du message suivant :
    "Cette application est sur le point d'initialiser des contrôles ActiveX potentiellement non sûrs.
    Si la source de ce fichier est fiable, cliquez sur Ok pour que les contrôles soient initialisés
    à l'aide des paramètres d'espace de travail en cours."

  6. #6
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, je viens de le faire à l'instant sans aucun problème.
    Les copies d'écran fournies avec le téléchargement de Liste_Contributions_PDF_Forum.7z montre de façon explicite le contenu de ce fichier.

    Tu as le code attenant et les instructions pour son utilisation : Visualisation d'un fichier PDF dans une UserForm

  7. #7
    Expert confirmé
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 093
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par modus57 Voir le message
    Bonjour,

    J'aurai besoin de convertir des fichiers PDF en JPG.
    A partir du code de ton post initial, tu dois y arriver, mais ce n'est pas à Excel d'imprimer ton PDF mais au programme associé au PDF.

    Code : 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
     
     
    Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
                                  (ByVal hWnd As Long, ByVal lpszOp As String, _
                                   ByVal lpszFile As String, ByVal lpszParams As String, _
                                   ByVal lpszDir As String, ByVal fsShowCmd As Long) As Long
     
     
    Private Declare Function SetDefaultPrinterAPI Lib "winspool.drv" Alias "SetDefaultPrinterA" (ByVal pszPrinter As String) As Long
     
     
    sub imprime ()
    ...
    'change l'imprimnte par defaut
     
    SetDefaultPrinterAPI "PDFCREATOR"
     
    LeFichier= "c:\monpdf.pdf"
                    Res = ShellExecute(0, "print", LeFichier, "", "", 1)
                    DoEvents
     
    ...
    end sub
    Have a nice day. Oliv'
    Votre réponse est peut être dans mon blog !
    https://www.developpez.net/forums/blogs/191381-oliv-/

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    841
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 841
    Par défaut
    Bonjour Oliv,

    Je ne voulais plus importuner avec ce sujet, je suis ravi que vous relanciez ce fil.
    A partir du code de ton post initial, tu dois y arriver, mais ce n'est pas à Excel d'imprimer ton PDF mais au programme associé au PDF.
    Je ne suis pas un spécialiste pourriez-vous svp me dire à quel endroit je dois insérer votre code, cela me serait très utile.

    Merci d'avance pour votre aide

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    841
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 841
    Par défaut
    Voilà j'ai fait une nouvelle macro.
    Code : 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
    Sub imprimeJPG()
    Dim sNomPDF As String
    Dim sCheminPDF As String
    Dim oFSO As Object, fileToOpen, LeFichier As String
     
    fileToOpen = Application.GetOpenFilename("pdf Files (*.pdf), *.pdf")
    Set oFSO = CreateObject("Scripting.FileSystemObject")
    sNomPDF = oFSO.GetBaseName(fileToOpen)
    sCheminPDF = ThisWorkbook.Path
    LeFichier = sCheminPDF & "\" & sNomPDF & ".pdf"
    MsgBox LeFichier
     
    'change l'imprimante par defaut
    SetDefaultPrinterAPI "PDFCREATOR"
     
    res = ShellExecute(0, "print", LeFichier, "", "", 1)
    DoEvents
     
    End Sub
    Mais comment imprimer le fichier PDF en JPG sans afficher la fenêtre PDFCreator et fermer la fenêtre Adobe Reader.

  10. #10
    Expert confirmé
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 093
    Billets dans le blog
    20
    Par défaut
    Il manque toute ma partie jobpdf c est elle qui pilote pdfcreator
    Have a nice day. Oliv'
    Votre réponse est peut être dans mon blog !
    https://www.developpez.net/forums/blogs/191381-oliv-/

  11. #11
    Expert confirmé
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 093
    Billets dans le blog
    20
    Par défaut
    Grosso modo mon code remplace
    ActiveWorkbook.PrintOut copies:=1, ActivePrinter:="PDFCreator"
    Have a nice day. Oliv'
    Votre réponse est peut être dans mon blog !
    https://www.developpez.net/forums/blogs/191381-oliv-/

Discussions similaires

  1. Réponses: 0
    Dernier message: 30/11/2011, 10h10
  2. Réponses: 0
    Dernier message: 26/07/2010, 15h32
  3. Générer un fichier pdf ou doc avec du pl/sql
    Par felosa dans le forum PL/SQL
    Réponses: 5
    Dernier message: 19/09/2008, 18h34
  4. Ouvrir un fichier PDF après l'avoir créé avec PDFCreator ?
    Par OtObOx dans le forum Général VBA
    Réponses: 2
    Dernier message: 15/03/2008, 21h13
  5. Pb Creation PDF avec PDFCreator apres impression dans fichier PRN
    Par asimut dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 11/09/2007, 17h46

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