FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » Compter les caractères d'un fichier .doc et .rtf
 

Compter les caractères d'un fichier .doc et .rtf

Il y a 405 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : Compter les caractères d'un fichier .doc et .rtf
 
Plus d'informations

Bonjour,
 
Pour un projet d'édition de livre en ligne, j'ai besoin de compter les caractères d'un fichier uploader. Ces fichiers sont au format .doc (word) et .rtf
taille approximative du nombre de caractère: entre 150 000 et + de 600 000.
 
J'ai pensé à un simple copier coller du livre et de faire une fonction php qui compte les caractère, mais cette solution ne me plait pas beaucoup puisque cela peu générer des erreurs de manipulation qui fausserait le résultat.
 
Est-ce que quelqu'un pourrait m'indiquer la marche à suivre (s'il en existe une) ou me donner une piste.
 
Merci d'avance.

(Casseur de karcher)
Plus d'informations

Bonjour,
 
Si tu cherches les stats sur un fichier *.doc, tu l'ouvres sous word, dans la barre de menu, tu clic sur outils>statistiques et toutes les infos relatives à ton fichier apparaîtront, nombre de caractères brut, espace compris, paragraphe, nombre de mots,etc
 
j'espère que c'est bien ce que tu cherchais :)


---------------
Libres sont ceux qui n'imposent pas aux autres les règles qu'ils suivent eux mêmes...
zeb
Plus d'informations

Plombard, ta soluce a le mérite de fonctionner, mais je suppose que Tomtom s'attend en publiant dans la cat' Programmation à pouvoir le faire de façon automatique !


---------------
Règlement du forum / Règlement de Programmation / Règlement du Monde de Linux euh, n'y en a pas...
zeb
Plus d'informations

Une piste... Oui, mais il te faut ça en PHP ?


---------------
Règlement du forum / Règlement de Programmation / Règlement du Monde de Linux euh, n'y en a pas...
G.M.G.V.S.O.
Plus d'informations

Autant un RTF tu sauras trouver de la doc sur comment les analyser ... autant les .doc à mon sens c'est mal baré :(
 
edit:
ce sujet: http://www.presence-pc.com/forum/p [...] 1644-1.htm peut peut être t'aider (un peu, ou pas :))
ou http://www.onpk.net/index.php/2004 [...] tir-de-php :)


Message édité par boub popsy team le 01-05-2008 à 01:33:03

---------------
SPAM & WAREZ = Ban!
Ultimate Boot CD | Memtest+
Mon bar préféré à Lyon ! | Bijoux Fantaisie de Créateur !
guich
Plus d'informations

Tu as des fonctions en php qui te retourne la taille d'une variable, mais si ton fichier est de taille importante, oubli ça. Moi je serais pour le fait d'ouvrir un flot de lecture sur ton fichier, et de le parcourir, caractères par caractères, avec une incrémentation à chaque itération.

http://www.sim07.net
Profil : Modérateur
Plus d'informations

guilaumech, oui mais dans du rtf il y a des balises car c'est du XML, ce ne sont donc pas des caractères.
 
Pour le .doc c'est encore plius compliqué car on a un fichier qui est un binaire.


---------------
Mon Blog Geek | Facebook | My Last.fm | Mon CV |
zeb
Plus d'informations

rhoooooooo! le RTF du XML :pfff:
A ta décharge Sim, le RTF, c'est qunad même bien du texte bêtement balisé.

 

Il faudrait d'abord transformer le document en texte simple. Il existe des solutions payantes (http://www.google.fr/search?q=doc+txt+convert), mais il existe aussi un truc tout bête : le pilote d'imprimante générique texte seulement de Windows - en faisant une impression dans un fichier, évidemment. Puis compter les caractères, avec un bête wc -c (unixutils)


Message édité par zeb le 03-05-2008 à 03:21:17

---------------
Règlement du forum / Règlement de Programmation / Règlement du Monde de Linux euh, n'y en a pas...
http://www.sim07.net
Profil : Modérateur
Plus d'informations

J'avoue grosse erreur.


---------------
Mon Blog Geek | Facebook | My Last.fm | Mon CV |
zeb
Plus d'informations

Code :
  1. ' /* COMPTEUR DE CARACTERES */
  2. ' /* Démarrer Word          */
  3. ' /* Ouvrir un document     */
  4. ' /* Compter les caractères */
  5. ' /* Quitter.               */
  6. Option Explicit
  7. Dim i, args, file, ext
  8. Dim fso, dir
  9. Dim word, doc
  10. Set fso  = Wscript.CreateObject("Scripting.FileSystemObject" )
  11. Set args = Wscript.Arguments
  12. Set Word = wScript.CreateObject("word.application" )
  13. Word.Visible = False  ' Inutile mais comme ça, on fixe les idées.
  14. For i = 0 To args.Count -1
  15.     wscript.echo args(i) & vbTab & Counter(args(i))
  16. Next
  17. Function Counter(Filename)
  18.     set doc = Word.Documents.Open(filename, False, True, False)
  19.     Counter = doc.Characters.Count
  20.     doc.Close
  21. End Function


 
Et voilà un tchot script à lancer avec le nom des fichiers en paramètres.
On enregistre ce code dans un fichier qui s'appelle tom_compte_les_chars_dans_word.vbs [:patch], et on lance la commande suivante :

C:\Mes Documents Word>cscript tom_compte_les_chars_dans_word.vbs mon_document1.doc mon_document2.doc


 
Enjoy!


---------------
Règlement du forum / Règlement de Programmation / Règlement du Monde de Linux euh, n'y en a pas...
Plus d'informations

Salut tout le monde,
 
Certaines solutions mérite de tirer le chapeau bas ! quels artistes !
 
Mon problème étant de faire un site web ou les utilisateur uploaderont leur fichier .rtf (on oubli le word qui est impossible a traiter). ensuite c'est le serveur web qui traite automatiquement le fichier rtf en comptant le nombre de caractère et retourne celui ci.
Le but étant de définir une tarification par rapport à un volume de caractères.
 
J'ai bien l'impression qu'une partie de la solution réside dans le fait de n'utiliser exclusivement des fichier .rtf mais maintenant je ne sais ou trouver les infos nécessaires au traitement de celui-ci en php.
 
Merci beaucoup pour toutes ces réponses, mon problème étant mal éxposé,  vous avez été bien pertinent !

zeb
Plus d'informations

! :heink:
 

Citation :

(on oubli le word qui est impossible a traiter).


Il n'est pas assez bien mon script qui traite Word ? :fou:


---------------
Règlement du forum / Règlement de Programmation / Règlement du Monde de Linux euh, n'y en a pas...
Plus d'informations

oui mais en php ... là c'est du VB script non ?

zeb
Plus d'informations

Ben, PHP ne peut pas connaître Word, la faute à Crosoft :o
 
Mais PHP peut exécuter un script externe non ?
Ben alors, tu te sers de ce script que tu lances avec un exec() :

exec("cscript tom_compte_les_chars_dans_word.vbs" . le_doc)


 
 
(Ne m'en demande pas plus, je ne programme pas en PHP. :(
Mais les autres sont là ;))


---------------
Règlement du forum / Règlement de Programmation / Règlement du Monde de Linux euh, n'y en a pas...
Profil : Pointeur
Plus d'informations

il y a pas des méthodes OLE en php ?


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
http://www.sim07.net
Profil : Modérateur
Plus d'informations

zeb a écrit :

Ben, PHP ne peut pas connaître Word, la faute à Crosoft :o
 
Mais PHP peut exécuter un script externe non ?
Ben alors, tu te sers de ce script que tu lances avec un exec() :

exec("cscript tom_compte_les_chars_dans_word.vbs" . le_doc)


 
 
(Ne m'en demande pas plus, je ne programme pas en PHP. :(
Mais les autres sont là ;))


 
 
Le problème c'est que exec() est très souvent désactivé.


---------------
Mon Blog Geek | Facebook | My Last.fm | Mon CV |
G.M.G.V.S.O.
Plus d'informations

Oui et que ça ne marche que sur une machine windows ... Donc rarement en ligne :(
 
Bon maintenant reste à voir si google à sorti une API pour "google document" (pas eu trop le temps de chercher j'avoue)


---------------
SPAM & WAREZ = Ban!
Ultimate Boot CD | Memtest+
Mon bar préféré à Lyon ! | Bijoux Fantaisie de Créateur !
zeb
Plus d'informations

>>> Machine Windows
Eh, les gars, on parle de M.I.C.R.O.S.O.F.T  W.I.N.W.O.R.D  !!!! [:heink]
 
Il semblerait que la commande exec() fonctionne aussi bien sous Windows que sous UNIX-like. (Bah alors boub ?) Par contre, je lis sur ce site http://fr.php.net/function.exec qu'un safe mode limite l'action de cette commande.


---------------
Règlement du forum / Règlement de Programmation / Règlement du Monde de Linux euh, n'y en a pas...
Profil : Pointeur
Plus d'informations

d'accord
mais cscript ca marchera pas ailleurs que sous windows...


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u