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

VB.NET Discussion :

Recharge d'un PDF


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Par défaut Recharge d'un PDF
    Bonjour

    Lors du formload j'ouvre un pdf via un webbrowser qui est sur mon disque dur , si j'essai de charger une nouvelle version du fichier pour l'enregistrer sur le même nom j'ai un message d'erreur. j'ai essayé quelques expérience sans succès merci de votre soutiens

    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
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            If File.Exists("C:******.pdf") Then
                WebBrowser2.Navigate("C:******.pdf")
     
            End If
     
    Private Sub TSBStart_Click(sender As Object, e As EventArgs) Handles TSBStart.Click
            If File.Exists("C:******.pdf") Then
              'L'Errreur ce situe au niveau du file.delete
                File.Delete("C:******.pdf")
            End If
            Dim Fl As String = "http:*******.pdf"
            Dim Chem As String = "C:******.pdf"
            Dim client As WebClient = New WebClient
            AddHandler client.DownloadProgressChanged, AddressOf client_ProgressChanged
            AddHandler client.DownloadFileCompleted, AddressOf client_DownloadCompleted
            client.DownloadFileAsync(New Uri(Fl), Chem)
     
     
        End Sub
    Informations supplémentaires*: Le processus ne peut pas accéder au fichier '"C:******.pdf", car il est en cours d'utilisation par un autre processus.
    comment libérer le fichier pour pouvoir le remplacer

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Par défaut
    Je suppose qu'il suffit d'ouvrir une autre page dans le webbrowser avant de supprimer le fichier

    Par contre il faut prévoir une gestion d'erreur un minimum propre dans la partie qui supprime le fichier car tu n'as aucun moyen de garantir qu'il n'y a pas un autre lock (ouverture du fichier pdf à la main par exemple).

    Dans le cas d'affichage de fichier temporaire, la bonne pratique veux qu'on nomme chaque fichier différemment (avec un guid par exemple) dans un dossier spécifique et qu'on vide le dossier à la sortie de l'application par exemple.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Par défaut
    donc en fouillant un peu sur developpez.com j'ai adapté ce bout de code et ça fonctionne

    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
     If File.Exists("C:*******.pdf") Then
     
                WebBrowser2.Navigate("")
                My.Application.DoEvents()
     
     
                While IO.File.Exists("C:*******.pdf")
     
                    Try
                        IO.File.Delete("C:*******.pdf")
                    Catch ex As Exception
                        Console.WriteLine(ex.Message)
     
                    End Try
                End While
     
     
     
     
     
            End If
    Merci à tous

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

Discussions similaires

  1. XML to PDF
    Par joebarteam88 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 16/01/2003, 17h30
  2. [XMLRAD] Fichier PDF
    Par Sylvain Leray dans le forum XMLRAD
    Réponses: 2
    Dernier message: 09/01/2003, 10h19
  3. [] Convertir un fichier word en pdf
    Par SpaceFrog dans le forum VBA Word
    Réponses: 7
    Dernier message: 06/12/2002, 15h27
  4. Affichage de documents PDF
    Par Dajon dans le forum C++Builder
    Réponses: 5
    Dernier message: 10/10/2002, 11h36
  5. [CR] exporter en PDF
    Par Nathy dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 16/05/2002, 09h27

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