Fonction - comptage du nb de page dans un PDF
Posté : lun. 31 août 2020 18:30
Bonjour à tous,
Je cherche un peu d'aide sur une fonction qui permet de compter le nombre de page dans un fichier pdf.
Si quelqu'un a la gentillesse de m'aider ça serait sympa.
J'ai un souci avec les Array et je ne pige pas.
Merci
MsgBox(0, "", pagecount("C:\exemple.pdf"))
Func pagecount($sfilename)
Local $c = 0
Local $pages = -1
; Ouvre le fichier pdf
$handle = FileOpen($sfilename,0)
If @ERROR Then Return SetError(1,0,0)
Do
$s = FileReadLine($handle)
$EOF = @ERROR
$c += 1
; voir les 10 premieres lignes avec /N
If $c <= 10 Then
If StringInStr($s, "/N") > 0 Then
$array1 = StringRegExp($s,"/N\h(\d+)",3)
$pages = Number($array1[0])
ExitLoop
EndIf
EndIf
; voir toutes les lignes avec '/count'
If StringInStr($s, "/count") > 0 Then
$array2 = StringRegExp($s,"/count\h(\d+)",3)
$pages = Number($array2[0])
ExitLoop
EndIf
Until $EOF = -1
; fermer le fichier et retour du nombre de page
FileClose($handle)
If $pages < 0 Then $pages = 1
Return $pages
EndFunc
Je cherche un peu d'aide sur une fonction qui permet de compter le nombre de page dans un fichier pdf.
Si quelqu'un a la gentillesse de m'aider ça serait sympa.
J'ai un souci avec les Array et je ne pige pas.
Merci
MsgBox(0, "", pagecount("C:\exemple.pdf"))
Func pagecount($sfilename)
Local $c = 0
Local $pages = -1
; Ouvre le fichier pdf
$handle = FileOpen($sfilename,0)
If @ERROR Then Return SetError(1,0,0)
Do
$s = FileReadLine($handle)
$EOF = @ERROR
$c += 1
; voir les 10 premieres lignes avec /N
If $c <= 10 Then
If StringInStr($s, "/N") > 0 Then
$array1 = StringRegExp($s,"/N\h(\d+)",3)
$pages = Number($array1[0])
ExitLoop
EndIf
EndIf
; voir toutes les lignes avec '/count'
If StringInStr($s, "/count") > 0 Then
$array2 = StringRegExp($s,"/count\h(\d+)",3)
$pages = Number($array2[0])
ExitLoop
EndIf
Until $EOF = -1
; fermer le fichier et retour du nombre de page
FileClose($handle)
If $pages < 0 Then $pages = 1
Return $pages
EndFunc