IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Pdf en cours d'utilisation en webbrowser [Débutant]


Sujet :

C#

  1. #1
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Pdf en cours d'utilisation en webbrowser
    Bonjour,

    Je ne suis pas un crack en la matière, mais je suis sur qu'un de mes lecteurs trouvera la réponse à mon problème :

    J'ai un pdf source que je vais modifier, je copie ce pdf source pour des utilisateurs en mettant dans un dossier PDF, le nom du doc_nomutilisateur.
    J'ouvre ce pdf dans un webrowser mais le fichier reste en cours d'utilisation.
    Au niveau de *
    J'ai essayé de mettre un autre pdf, de mettre webrowser.url =null mais rien ne fonctionne.

    Merci de votre aide.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
      if (File.Exists(@"R:\Echanges\PDF\Document_" + Environment.UserName + ".pdf"))
                {
                    webBrowser2.Stop();
                    *
                    try
                    {
                        File.Delete(@"R:\Echanges\PDF\Document_" + Environment.UserName + ".pdf");
                        File.Copy(@"R:\Echanges\Document.pdf", @"R:\Echanges\PDF\Document_" + Environment.UserName + ".pdf");
                        webBrowser2.Navigate(@"R:\Echanges\PDF\Document_" + Environment.UserName + ".pdf");
                    }
                    catch (Exception f)
                    {
                        MessageBox.Show(f.ToString());
                        throw;
                    }      
     
     
                }
                else
                {                
                    File.Copy(@"R:\Echanges\Document.pdf", @"R:\Echanges\PDF\Document_" + Environment.UserName + ".pdf");
                    webBrowser2.Navigate(@"R:\Echanges\PDF\Document_" + Environment.UserName + ".pdf");

  2. #2
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2011
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2011
    Messages : 610
    Points : 713
    Points
    713
    Par défaut
    En cours d'utilisation?? Tu ne peut pas l'ouvrir ou le modifier?
    Pourquoi ne pas ouvrir le PDF dans un thread ??
    Ensuite tu le kill, le pdf ne sera plus utilisé!

  3. #3
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par bugg7111 Voir le message
    En cours d'utilisation?? Tu ne peut pas l'ouvrir ou le modifier?
    Pourquoi ne pas ouvrir le PDF dans un thread ??
    Ensuite tu le kill, le pdf ne sera plus utilisé!
    Pwaoua, je ne sais pas ce que tu veux dire.. Je vais chercher du coté du thread.
    En fait j'ai crée un bouton actualiser, qui permet de supprimer le pdf et ensuite copier le pdf source.
    Mais impossible de supprimer le fichier car il mets un message comme quoi il est utilisé dans un autre processus.
    Alors que je pensais que le fait de stoppé le webbrowser ou changer l'url me permetterait de supprimer le fichier copier la source et ouvrir le nouveau fichier..
    En tout cas merci pour ta réponse..
    Je vais chercher pour le thread car je ne vois pas ce que c'est..
    MERCI

  4. #4
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2011
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2011
    Messages : 610
    Points : 713
    Points
    713
    Par défaut
    Peut-être que le webBrowser.Stop() n'a pas le temps de s’exécuter !
    Essai de bloquer le programme 1 ou 2 secondes. Et de lancer ensuite le try.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    webBrowser.Stop();
    Thread.Sleep (2000)  //Vaut 2secondes
    Et autre chose, il n'est pas plus logique de copier le pdf et ensuite supprimer??

    Et est ce que tu peux nous montrer l'exception générée ?

  5. #5
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 5
    Points : 3
    Points
    3
    Par défaut rép
    J'ai mis un timer de 5 secondes.
    Mais il me mets toujours le message

    Le processus ne peut pas accéder au fichier 'R:\PDF\Document_utilisateur.pdf', car il est en cours d'utilisation par un autre processus.

    En fait, j'ai un PDF_source que je copie et c'est cette copie que les utilisateurs vont ouvrir. Comme sa je peux modifier le source, et lorsqu'un utilisateur actualise, il récupère la copie du source.

    Je me suis orienté sur un pdf, car je peux y mettre image, police....Du coup le streamreader ne va pas.
    Si tu as une autre solution, pas de problème, genre ouvrir un dans l'application un ".doc" par exemple. Le tout c'est que le document récupère surtout police et image.

    Encore merci de ta réponse.
    Julien

  6. #6
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2011
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2011
    Messages : 610
    Points : 713
    Points
    713
    Par défaut
    Pour ouvrir le PDF tu a essayé Process.Start() ?

  7. #7
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2011
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2011
    Messages : 610
    Points : 713
    Points
    713
    Par défaut
    Est-ce que ton problème est résolut??

  8. #8
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Non résolu
    Non toujours pas résolu.
    Le process.start me permetterai de l'ouvrir en dehors de ma fenetre et moi je souhaiterai le mettre à l'interieur.

    Merci

  9. #9
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2011
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2011
    Messages : 610
    Points : 713
    Points
    713
    Par défaut
    Laisse un temps d'attente de 10seconde ou plus.

    Si le problème reste le même alors après le webbrowser.stop, laisse toujours un temps d'attente puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ((Control)webBrowser1).Enabled = false;
    Cela devrait arrêter totalement le webbrowser.

    Sinon un application.exit() s'impose.

    La dernière solution pour moi serait de vérifier si adobe-reader se ferme lors du webbrowser.Stop()
    Sachant qu'il est requis au lancement, il se peut que celui-ci bloque la suite du programme.

  10. #10
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Trop Fort
    J'ai mis les deux dans le doute.
    une petite tempo et la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((Control)webBrowser2).Enabled = false;
    Sa marche nickel.

    Merci beaucoup, sa m' aide vraiment beaucoup.

    Julien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Icones des applications en cours d'utilisation.
    Par mickaelguilbert dans le forum MFC
    Réponses: 4
    Dernier message: 31/08/2005, 10h15
  2. Comment lire un fichier DB en cours d'utilisation par 1 autr
    Par jbat dans le forum Bases de données
    Réponses: 4
    Dernier message: 12/03/2004, 11h06
  3. ajout d'index en cours d'utilisation
    Par jbat dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 10/11/2003, 10h12
  4. [Kylix] cours & version utilisable de Kylix
    Par Suricate dans le forum EDI
    Réponses: 1
    Dernier message: 19/09/2002, 18h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo