Aller au contenu

connaitre nombre page PDF


rebcao

Messages recommandés

Bonjour à Toutes et à Tous,

 

Existe -t-il une fonction qui permette de connaitre le nombre de page contenu dans un PDF ? Mais en coimmande standard, pas de fenêtre !

 

Je vous remercie.

 

Christian

Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...

cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)

Lien vers le commentaire
Partager sur d’autres sites

Coucou

 

Je ne viens t'apporter une réponse mais une demande de clarification pour lancer des pistes de recherches :

 

Que veux-tu savoir à propos du nombre de pages ?

  • le nombre de pages d'un fichier PDF présent sur le disque
  • le nombre de pages que contiendra un fichier PDF suite à une impression d'un fichier AutoCAD ?

Amicalement

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Didier,

 

Le nombre de pages d'un fichier PDF existant. Un traitement par lot est à prévoir puisqu'il y a plus de 1000 pdf à TRAITER...

 

L'idée serait simplement d'intéroger le fichier PDF et d'en extraire l'info !

 

Je te remercie

 

Christian

Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...

cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)

Lien vers le commentaire
Partager sur d’autres sites

Coucou

 

Une promenade sur le net m'a permis de trouver cette routine en VBA

Comme il est connu de tous que tu travailles souvent avec Excel je me permets de te la soumettre des fois que ce soit une piste de départ pour résoudre ton souci...

 

Sub Test()
Dim MyPath As String, MyFile As String
Dim i As Long
MyPath = "D:\tempo"
MyFile = Dir(MyPath & Application.PathSeparator & "*.pdf", vbDirectory)
Range("A:B").ClearContents
Range("A1") = "File Name": Range("B1") = "Pages"
Range("A1:B1").Font.Bold = True
i = 1
Do While MyFile <> ""
i = i + 1
Cells(i, 1) = MyFile
Cells(i, 2) = GetPageNum(MyPath & Application.PathSeparator & MyFile)
MyFile = Dir
Loop
Columns("A:B").AutoFit
MsgBox "Total of " & i - 1 & " PDF files have been found" & vbCrLf _
& " File names and corresponding count of pages have been written on " _
& ActiveSheet.Name, vbInformation, "Report..."
End Sub
'
Function GetPageNum(PDF_File As String)
'Haluk 19/10/2008
Dim FileNum As Long
Dim strRetVal As String
Dim RegExp
Set RegExp = CreateObject("VBscript.RegExp")
RegExp.Global = True
RegExp.Pattern = "/Type\s*/Page[^s]"
FileNum = FreeFile
Open PDF_File For Binary As #FileNum
strRetVal = Space(LOF(FileNum))
Get #FileNum, , strRetVal
Close #FileNum
GetPageNum = RegExp.Execute(strRetVal).Count
End Function

 

j'ai testé et ça fonctionne, il faut changer la variable Mypath et tu obtiens un classeur Excel avec le nom du fichier et le nombre de page afférent.

 

Amicalement

Lien vers le commentaire
Partager sur d’autres sites

Je te remercie, mais lorsqu'on fait un copier-coller de ton source, il n'y a pas de retour à la ligne...

 

J'ai trouvé également ça :

 

Sub Test()

Dim MyPath As String, MyFile As String

Dim i As Long

MyPath = "C:\TEMP\PDF"

MyFile = Dir(MyPath & Application.PathSeparator & "*.pdf", vbDirectory)

Range("A:B").ClearContents

Range("A1") = "File Name": Range("B1") = "Pages"

Range("A1:B1").Font.Bold = True

i = 1

Do While MyFile <> ""

i = i + 1

Cells(i, 1) = MyFile

Cells(i, 2) = GetPageNum(MyPath & Application.PathSeparator & MyFile)

MyFile = Dir

Loop

Columns("A:B").AutoFit

MsgBox "Total of " & i - 1 & " PDF files have been found" & vbCrLf _

& " File names and corresponding count of pages have been written on " _

& ActiveSheet.Name, vbInformation, "Report..."

End Sub

'

Function GetPageNum(PDF_File As String)

'Haluk 19/10/2008

Dim FileNum As Long

Dim strRetVal As String

Dim RegExp

Set RegExp = CreateObject("VBscript.RegExp")

RegExp.Global = True

RegExp.Pattern = "/Type\s*/Page[^s]"

FileNum = FreeFile

Open PDF_File For Binary As #FileNum

strRetVal = Space(LOF(FileNum))

Get #FileNum, , strRetVal

Close #FileNum

GetPageNum = RegExp.Execute(strRetVal).Count

End Function

 

 

Christian

 

 

 

Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...

cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)

Lien vers le commentaire
Partager sur d’autres sites

Coucou

 

Elle est chouette cette macro que tu as trouvée (hihi) et en plus, ça tombe bien, c'est exactement la même que j'ai déposée (haha)

Mis à part que je l'ai déposée avec des balises de codes je ne comprends pas ce que tu dis au sujet du retour à la ligne.

 

Amicalement

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Didier,

 

Oui, je sais je l'ai vu...

 

En fait j'ai réessayé le copier-coller et cette fois ça marche !!!! Sur le poste du stagiaire on a obtenu un copié sur une seule ligne à la queuleuleu.. !!!!!

 

Encore merci.

 

Christian

Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...

cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité