EXTRACTION DES MINIATURES DES FICHIERS (COMME DANS L'EXPLORATEUR MODE DÉTAILS)

littlekenny Messages postés 43 Date d'inscription mardi 25 février 2003 Statut Membre Dernière intervention 10 septembre 2009 - 18 mars 2008 à 15:46
CurieuxFr Messages postés 7 Date d'inscription mercredi 8 octobre 2008 Statut Membre Dernière intervention 23 juin 2014 - 23 juin 2014 à 18:57
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/46081-extraction-des-miniatures-des-fichiers-comme-dans-l-explorateur-mode-details

CurieuxFr Messages postés 7 Date d'inscription mercredi 8 octobre 2008 Statut Membre Dernière intervention 23 juin 2014
23 juin 2014 à 18:57
Bonjour

Merci pour ce code très utile.

Détail: à la ligne 278, il me semble que le test est inversé, il devrait être:
if (ret != null)


Merci
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
9 sept. 2012 à 14:43
Bonjour,

Effectivement, il y avait bien un problème de leak mémoire qui devrait être corrigé maintenant. Par ailleurs, une fois que vous avez fini l'utilisation de la bitmap renvoyée par la propriété ThumbnailBitmap, il faut appeler la méthode Dispose (ou bien sur l'objet FileThumbnail)

ShareVB
maegovannen Messages postés 1 Date d'inscription vendredi 31 août 2012 Statut Membre Dernière intervention 31 août 2012
31 août 2012 à 16:15
Bonjour,

Tout d'abord, merci pour cet outil, il est pas mal du tout pour générer les miniature des documents PDF.

Par contre, il semblerait que plus on l'utilise plus la mémoire diminue.
J'ai effectué des test avec deux documents PDF, et je génère des miniature de PDF de 800x800 pour le premier puis pour l'autre et de nouveau pour le premier et ainsi de suite et au bout d'un moment je n'ai plus de miniature mais une icone. Chez moi, il semblerait que ça déconne à partir de 60% de mémoire physique utilisée.

ça marche de nouveau si je réduit la taille à 700x700 puis j'ai de nouveau le problème lorsque environ 65% de la mémoire est utilisée.

Je suis en train de réaliser une sorte de biblithèque et donc j'ai besoin de l'utiliser massivement.
j'avoue qu'étant débutant en C#, je ne sais pas d'où vient le problème.
Une idée ?
Epoks Messages postés 1 Date d'inscription vendredi 2 janvier 2004 Statut Membre Dernière intervention 6 juillet 2011
6 juil. 2011 à 10:59
Parfait pour les PDF, merci :)
ahmeddhibinfo Messages postés 2 Date d'inscription mardi 8 mars 2011 Statut Membre Dernière intervention 9 mars 2011
9 mars 2011 à 16:03
comment je peut télécharger ce code et comme le faire fonctionner
vboussema Messages postés 138 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 1 septembre 2009
10 juin 2008 à 09:25
merci sharevb pour ton aide
je vai essaier de faire comme tu as dis pour les pdf .
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
8 juin 2008 à 17:48
salut,

J'ai corrigé la troisième exception : lorsque cette exception se produit c'est que le fichier en question n'a pas d'aperçu...

Pour les autres erreurs, est-ce que l'Explorateur affiche un aperçu pour les fichiers en question ? S'il n'affiche rien non plus, mon code n'affichera rien...pour les pdfs, je pense que tu peux utiliser itextsharp pour générer un aperçu...

ShareVB
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
2 juin 2008 à 20:21
salut,

d'une manière générale, tous les types de fichiers ne renvoient pas de miniature autre que leur icône et même pour un type de fichier, tous les fichiers de ce type ne renvoient pas forcement de miniature...

pour avancer sur la troisième erreur : cela se produit sur les fichiers qui "ne veulent pas" donner de miniature...il renvoie alors une erreur et juste son icône...je vais corriger le code pour outrepasser cette erreur...

pour les deux autres, je vais essayer de trouver un Word 2003 quelque part...Si mes souvenirs sont bons, il faut spécifier dans Word que l'on enregistre une miniature du fichier sinon il ne doit pas renvoyer une miniature...

ShareVB
vboussema Messages postés 138 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 1 septembre 2009
30 mai 2008 à 18:48
bon la première exception c'est pour word et excel 2003 comme j'i testé
pour powerpoint sa marche!!!
pour pdf cest la 3 èmme exception
pour les images sa affiche les images
sinon pour les autres types de fichiers sa affiche l'icone
donc le problème c'est avec les fichiers .doc et.xls
pour les fichiers wmv c'est excellent il extrait une image!!!
donc mon problème persiste car je veut utiliser ce truc pour les fichiers word et excel et les pdf!!!
merci si tu peut m'aider
vboussema Messages postés 138 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 1 septembre 2009
30 mai 2008 à 18:38
autre exception:
Les données nécessaires pour terminer cette opération ne sont pas encore disponibles. (Exception de HRESULT : 0x8000000A)
vboussema Messages postés 138 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 1 septembre 2009
30 mai 2008 à 18:33
autre exception:
existe déjà . (Exception de HRESULT : 0x80030050 (STG_E_FILEALREADYEXISTS))
vboussema Messages postés 138 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 1 septembre 2009
30 mai 2008 à 18:30
salut;
l'exception est la suivante:
Format du presse-papiers incorrect. (Exception de HRESULT : 0x8004006A (DV_E_CLIPFORMAT))
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
29 mai 2008 à 19:52
salut,

quelle est l'exception en question ? merci.

ShareVB
vboussema Messages postés 138 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 1 septembre 2009
28 mai 2008 à 13:11
salut;
bon pour la méthode ExtractAssociatedIcon elle m'a renvoyer l'icône de word quand je l'ai passer le chemin d'un fichier word et de même pour pdf mais cette classe écrite par sharevb elle ne m'a renvoyé qu'une exception sauf si je passe une image.
donc a retester sinon je vois que sa ne vaut rien si le résultat est celui que j'ai trouvé!!!
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
20 mars 2008 à 00:18
Ah ben, c'est bizarre parce que en testant ExtractAssociatedIcon sur un pptx, ca m'a renvoyé l'icône d'un pptx et pas la miniature de la première diapo...

ShareVB
littlekenny Messages postés 43 Date d'inscription mardi 25 février 2003 Statut Membre Dernière intervention 10 septembre 2009
19 mars 2008 à 14:57
Avec C# 2.0, ça marche au poil et avec tous les formats... Je me suis fait un petit programme pour lancer mes programmes et documents favoris (annuaires,...), j'affiche les icônes de ceux-ci et je n'ai aucun problèmes avec les pdf, xls,...

Enfin, ça marche. Je dis juste qu'il y a une autre solution.
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
18 mars 2008 à 19:53
salut,

Icon.ExtractAssociatedIcon n'extrait la miniature que pour les bitmaps pas pour les autres types de fichiers (ppt, pdf par ex)...

ShareVB
littlekenny Messages postés 43 Date d'inscription mardi 25 février 2003 Statut Membre Dernière intervention 10 septembre 2009
18 mars 2008 à 15:46
Icon.ExtractAssociatedIcon(string path) ne fonctionne pas ? Selon moi, une ligne aurait suffit pour l'extraction.