Fonction - comptage du nb de page dans un PDF

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
fusor
Niveau 1
Niveau 1
Messages : 6
Enregistré le : lun. 28 juin 2010 18:23
Status : Hors ligne

Fonction - comptage du nb de page dans un PDF

#1

Message par fusor »

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
 
fusor
Niveau 1
Niveau 1
Messages : 6
Enregistré le : lun. 28 juin 2010 18:23
Status : Hors ligne

Re: Fonction - comptage du nb de page dans un PDF

#2

Message par fusor »

Personne pour me faire marcher ce petit bout de code ?

:?
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 857
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: Fonction - comptage du nb de page dans un PDF

#3

Message par walkson »

Bonjour,
mettez $handle = FileOpen($sfilename,512) ($FO_ANSI (512) = Use ANSI reading and writing mode.) ça devrait fonctionner
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
fusor
Niveau 1
Niveau 1
Messages : 6
Enregistré le : lun. 28 juin 2010 18:23
Status : Hors ligne

Re: Fonction - comptage du nb de page dans un PDF

#4

Message par fusor »

Merci pour ce premier retour.
Malheureusement, cela ne fonctionne pas.
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 857
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: Fonction - comptage du nb de page dans un PDF

#5

Message par walkson »

Ce code fonctionne après quelques modifications
Func pagecount($sfilename)
    Local $c = 0, $EOF = 0
    Local $pages = -1

    ;'OPEN the PDF file
    $handle = FileOpen($sfilename,512)
    If @error Then Return SetError(1,0,0)
    ;Get the data from the file
    Do
        $c += 1
      $s = FileReadLine($handle, $c)
        $EOF = @error



        ;Look within the top 10 lines for /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

        ;Check every line for /count
        If StringInStr($s, "/count") > 0 Then
            $array2 = StringRegExp($s,"(?i)/count\h(\d+)",3)
            $pages = Number($array2[0])
            ExitLoop
        EndIf
    Until $EOF = -1

    FileClose($handle)
    If $pages < 0 Then $pages = 1
    Return $pages
EndFunc   ;==>pagecount
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
fusor
Niveau 1
Niveau 1
Messages : 6
Enregistré le : lun. 28 juin 2010 18:23
Status : Hors ligne

Re: Fonction - comptage du nb de page dans un PDF

#6

Message par fusor »

Super, ça fonctionne :P
Merci Walkson
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2483
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: Fonction - comptage du nb de page dans un PDF

#7

Message par jguinch »

Peut-être un peu tard, mais une autre solution : https://www.autoitscript.fr/forum/viewt ... 21&t=12056
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
fusor
Niveau 1
Niveau 1
Messages : 6
Enregistré le : lun. 28 juin 2010 18:23
Status : Hors ligne

Re: Fonction - comptage du nb de page dans un PDF

#8

Message par fusor »

Merci, le résultat est même bien plus rapide que le mien.
Répondre