begin process at 2012 02 14 16:33:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Système

 > 

Fichier & Disque

 > 

connaitre le nombre de pages d'un fichier pdf?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

connaitre le nombre de pages d'un fichier pdf?

mardi 14 novembre 2006 à 22:51:41 | connaitre le nombre de pages d'un fichier pdf?

gnieark

Membre Club
en vb6, je cherche comment connaitre le nombre de pages d'un fichier .pdf

j'ai essayé en utilisant le composant acropdf, en ouvrant un fichier, je n'ai pas trouvé de fonction de type "acropdf1.getnombredepages"
ensuite j'ai cherché si en ouvrant un pdf en mode texte ("open for binary as #1") les sauts de pages n'étaient pas indiqués par un séparateur. le nombre de fois que je trouve "stream" ne correspond pas au nombre de pages  et n'est pas un multiple. Bref rien trouvé, pas de séparateur qui paraisse être un saut de page... point de départ

Quelqu'un aurait une idée, juste une piste (ou carrément la solution ;) ) SVP?

Merci d'avance.

______________________
Gnieark, le cri du cochon fou!
lundi 20 novembre 2006 à 11:19:14 | Re : connaitre le nombre de pages d'un fichier pdf?

ShareVB

Réponse acceptée !
salut,

ouverture en mode text et recherche du page tree qui n'a pas de /Parent :
http://partners.adobe.com/public/developer/en/pdf/PDFReference16.pdf
pages 117 et 984

ShareVB
lundi 20 novembre 2006 à 14:19:03 | Re : connaitre le nombre de pages d'un fichier pdf?

gnieark

Membre Club
^^ la méthode est bonne.
Et ça m'a permis de me mettre sur la voie. Un grand merci. En fait je vais tester le nombre de fois que je trouve "<</type/page" (c'est le début du page tree) et sur les quelques documents testés ça correspont bien au nombre de pages...
lundi 20 novembre 2006 à 15:13:38 | Re : connaitre le nombre de pages d'un fichier pdf?

gnieark

Membre Club
Réponse acceptée !

voila ça donne ça le code: et ile s'appelle comme ça: i = nbepagespdf(c:\lepdf.pdf)

Private Function nbepagespdf(ByVal pdffilename As String) As Integer
Dim f As Integer
Dim buffer As String, table() As String

f = FreeFile

Open pdffilename For Binary As #f 'ouvrir le fichier
 buffer = Space$(LOF(f))
Get #f, , buffer 'copie du fichier dans la variable buffer
Close #f 'fermer le fichier

'découpage avec le split
table() = Split(buffer, "<</Type/Page")
'le nombre de pages correspond au nombre d'éléments
nbepagespdf = UBound(table())

End Function

jeudi 3 janvier 2008 à 14:14:43 | Re : connaitre le nombre de pages d'un fichier pdf?

kowalska

salut ! j'ai besoin de la mm chose en Csharp et je voulais te pose un question c'est quoi FreeFile?
 Merci
jeudi 3 janvier 2008 à 14:17:45 | Re : connaitre le nombre de pages d'un fichier pdf?

Renfield

Administrateur CodeS-SourceS
t'occupe pas de ca... tout ce que tu as a te dire, c'est qu'il lit tout le fichier et le place dans buffer 'découpage avec le split table() = Split(buffer, "<
lundi 21 juillet 2008 à 15:43:15 | Re : connaitre le nombre de pages d'un fichier pdf?

gatina

je voudrai la meme chose mais en c# s'il vous plai je ne sais pas passer de vb à c#
merciiiiiiiiiii
lundi 21 juillet 2008 à 21:09:55 | Re : connaitre le nombre de pages d'un fichier pdf?

ShareVB

salut,

quelque chose comme :

string s = System.IO.File.ReadAllText("fichier");
int page_count = 0;
int idx = 0;
while(idx != -1)
{
    idx = s.IndexOf("<</Type/Page",idx);
    page_count += 1;
}

ShareVB
jeudi 26 mars 2009 à 14:58:05 | Re : connaitre le nombre de pages d'un fichier pdf?

gogomanu

gnieark: Je vois une seule erreur possible au fait de compter les "/Type /Page", c'est qu'en théorie il me semble qu'il est possible d'utiliser deux fois la même page:

1 0 obj
<<
/Type /Pages
/Kids [ 2 0 R]
/Kids [ 3 0 R]
/Kids [ 2 0 R]
/Count 3
>>

Enfin cela semble tellement peu utile et rarissime que ton code doit être tout le temps bon.


kowalska: Je ne comprends pas pourquoi Renfield t'as envoyer bouler à propos de ta question
En fait freefile( ) sert simplement à récupérer un numéro de fichier libre: si tu ouvres plusieurs fichiers simultanément dans plusieurs fonctions, ou dans une fonction récursive, cela peut être compliqué pour savoir si tu as déjà ouvert le fichier #1, #2, #3 ... donc freefile( ) te donne simplement un numéro disponible.








jeudi 26 mars 2009 à 15:11:49 | Re : connaitre le nombre de pages d'un fichier pdf?

Renfield

Administrateur CodeS-SourceS
je l'ai envoyé "boulé" pour une raison simple.

Il joue en C#

Ca ne sert a rien de s'attarder sur le fonctionnement de FreeFile, qui est propre a VB6
l'idée est de  saisir l'algo, pas de rentrer dans des considérations propre aux langages.


Cette discussion est classée dans : fichier, nombre, pages, pdf, connaitre


Répondre à ce message

Sujets en rapport avec ce message

Connaitre le nombre de connections réseau à un fichier [ par LarryMax ] Salut tout le monde. Voila mon pb : j'ai une base Access sur une machine en réseau et je l'utilise à partir de plusieurs postes. Comment savoir combie comment connaitre le nombre de lignes contenues dans un fichier texte ? [ par skymath ] La question est dans le titre :o)merci à ceux qui me répondront comment connaitre le nombre de lignes contenues dans un fichier texte ? [ par skymath ] La question est dans le titre :o)merci à ceux qui me répondront afficher et imprimer un fichier pdf de plusieurs pages [ par jytest ] Je suis débutant avec gros soucis.Deux questions svp.Comment insérer du texte dans une feuille frame ?Comment imprimer directement un fichier pdf sur fichier pdf de plusieurs pages à imprimer [ par jytest ] Je suis débutant avec gros soucis avec pdfDeux questions svp.Comment imprimer directement un fichier pdf de plusieurs pagessur imprimante ?jyd utilisation d'un fichier pdf [ par jytest ] Au secours !!!N'y a-t-il pas une méthode simple.Tout ce que je veux c'est afficher le document pdf (composé de plusieurs pages au format A4) dans une Connaitre le nombre de connections réseau à un fichier [ par ericboul ] Bonjour,J'ai une application Access 2000 et par le biais du VBA, je voudrais (sans passer par le fichier 'ldb') connaitre le nombre de connections rés Comment connaitre le nombre de lignes d'un fichier texte? [ par faucheuse ] Bonjour ami(e)s programmeurs et programmeuzes, Alors voila j'aurai voulu savoir si il existait une fonction en VBA pour connaitre le nombre de lignes Nombre de pages d'un fichier .ps [ par YLG50 ] Bonjour à tous, J'ai fait un programme qui met en file d'attente des fichiers .ps (postscript) dans pdfcreator. Pour arranger mon impression recto ver généeze un fichier pdf apartir d'acess via gswin32c [ par stephverr ] Bonjour, j'ai besoin d'aider, apartir d'un fichier SNP, je veux via access créer un fichier PDF.Voiçi le code :Set rst = Me.RecordsetClonestDocName =


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,186 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales