Précédent   Forum du club des développeurs et IT Pro > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 24/10/2012, 09h50   #1
delma
Futur Membre du Club
 
Inscription : juillet 2005
Messages : 115
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 115
Points : 15
Points : 15
Par défaut PDF - Extraction de la table des matières et du nombre de pages

Hello,

Je suis en train de faire un fichier excel permettant de lister tous les documents d'un répertoire et de ses sous répertoires. Ces documents sont en grande majorité des .pdf. Je souhaite également avoir le nombre de pages de chaque document et finalement pouvoir extraire la table des matières de chaque document.

La partie permettant de lister les fichiers fonctionne, ainsi que la récupération du nombre de pages. Toutefois pour le nombre de page je m'amuse à ouvrir le fichier en un array de bytes et à parser chaque pdf en comptant le nombre de fois que je retrouve les tags /Type/Page.

N'y a-t-il pas un moyen plus simple pour le faire, je viens de voir qu'il y a une API Adobe permettant d'instancier ce genre d'objets:

Code :
1
2
    Dim PDFApp As AcroApp
    Dim PDFDoc As AcroAVDoc
N'y a-t-il pas une fonction le faisant directement? J'ai beau chercher je n'ai pas trouvé de réponses pertinentes.

Par contre en ce qui concerne l'extraction de la table des matières, je n'ai pas vraiment d'idée....

Pourriez-vous m'aider?

Merci d'avance.

A+
delma est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2012, 12h07   #2
kiki29
Expert Confirmé Sénior
 
Homme Philippe
ex Observeur CGG / Analyste prog.
Inscription : juin 2006
Messages : 2 298
Détails du profil
Informations personnelles :
Nom : Homme Philippe
Localisation : France, Finistère (Bretagne)

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

Informations forums :
Inscription : juin 2006
Messages : 2 298
Points : 5 594
Points : 5 594
Salut, pour le texte voir par exemple ici
Pour le nombre de pages :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Option Explicit
 
Sub Tst()
Dim iPage As Long
Dim PDDoc As Object
Dim sNomFichier As String
 
    sNomFichier = "C:\Transfert\Test.pdf"
 
    Set PDDoc = CreateObject("AcroExch.PDDoc")
    PDDoc.Open sNomFichier 
        iPage = PDDoc.GetNumPages()
    PDDoc.Close
    Set PDDoc = Nothing
 
    MsgBox iPage
 
End Sub
__________________
Pensez à Voter, d'avance merci. ( Pouces en bas à la droite de Citer )
Balisez votre code après l'avoir indenté sous Excel via Smart Indenter
Autre utilitaire : MZ Tools 3.0 VBA

Contribution : Excel / Word / PDF avec Adobe Acrobat Pro / PDFCreator 1 2 3
kiki29 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 24/10/2012, 13h38   #3
delma
Futur Membre du Club
 
Inscription : juillet 2005
Messages : 115
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 115
Points : 15
Points : 15
Merci pour ta réponse.

J'ai en effet trouvé un moyen de récupérer le contenu du fichier .pdf dans mon fichier excel comme dans l'exemple que tu m'as fourni.
Par contre je le récupère de manière brute et je cherche à savoir si dans le document pdf il n'y a pas de balises indiquant le début et la fin de la table des matières que je pourrais reconnaitre?

A+
delma est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 13h51.


 
 
 
 
Partenaires

Hébergement Web