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 :

Fermer PDF WebBrowser


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2011
    Messages : 14
    Points : 13
    Points
    13
    Par défaut Fermer PDF WebBrowser
    Bonjour !

    Je m'arrache les cheveux depuis un petit moment pour fermer un fichier PDF dans le WebBrowser1 afin que je puisse le renommer.

    Explication : Mon programme consiste a chercher un fichier qui commence obligatoirement par "tmp42..." (exemple : tmp42032sdf.pdf), on le visualise, on confirme le nouveau nom pour le renommer puis je veux fermer le pdf utilisé dans le WebBrowser pour enfin vraiment le renommer.

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    Imports System.IO
     
    Public Class Form1
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim Nom As String
            Dim D As Date = Now
            Dim Fich As String
            Dim Ext As String
     
            Fich = FileSystem.Dir("C:\transfert\tmp42*")
            Ext = GetExtension("C:\transfert\" & Fich)
            If TextBox1.Text = "" Then
                MsgBox("Erreur : impossible de renommer votre fichier.")
            Else
                Nom = D.ToString("yyyy-MM-dd" & "_" & TextBox1.Text)
                WebBrowser1.Stop()
                My.Computer.FileSystem.RenameFile("C:\transfert\" & Fich, Nom & Ext)
                Application.Exit()
            End If
        End Sub
     
        Private Function GetExtension(ByVal path As String) As String
            Return New System.IO.FileInfo(path).Extension
        End Function
     
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim Fichier As String
            Fichier = FileSystem.Dir("C:\transfert\tmp42*")
            WebBrowser1.Navigate("C:\transfert\" & Fichier)
        End Sub
     
    End Class
    Le debug m'explique je peux pas le renommer car le processus est deja ouvert !

    il cible le probleme ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    My.Computer.FileSystem.RenameFile("C:\transfert\" & Fich, Nom & Ext)
    Je sais pas si je suis clair ( c'est probablement la fatigue ^^'), je préciserais mieux si besoin est !

    En vous remerciant d'avance !

  2. #2
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2011
    Messages : 14
    Points : 13
    Points
    13
    Par défaut
    alors je continu de chercher, mon problème a-t-il un rapport avec le stream du pdf ?

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    665
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 665
    Points : 1 161
    Points
    1 161
    Par défaut
    Bonjour,
    si tu ferme ton application après le renommage du fichier, tu peux libérer le WebBrowser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
                Nom = D.ToString("yyyy-MM-dd" & "_" & TextBox1.Text)
                WebBrowser1.Dispose()
                Wait(2)
                My.Computer.FileSystem.RenameFile("C:\transfert\" & Fich, Nom & Ext)
                Application.Exit()
    et lui laisser un peu de temps pour libérer toutes les ressources :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        Private Sub Wait(ByVal seconds As Integer)
            Dim start As DateTime = DateTime.Now
            While start.AddSeconds(seconds) >= DateTime.Now
                Application.DoEvents()
            End While
        End Sub
    Autrement il y a le contrôle AxAcroPDF d'Adobe qui semble mieux adapté :
    avec .LoadFile pour charger le fichier, suivit du renommage, sans à avoir à libérer des ressources ou fermer l'application, semble t'il.
    A voir.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2011
    Messages : 14
    Points : 13
    Points
    13
    Par défaut
    Ok je vais tester tout ça, je te remercie et je te tiens au courant !

    EDIT: A priori, la première solution marche nickel chrome ! Je vais continuer mon programme et explorer en cas la deuxième idée, Merci !

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2011
    Messages : 14
    Points : 13
    Points
    13
    Par défaut
    Nouvelle petite question le webbrowser accepterait-il de visualiser des .tif ?

    EDIT: Je vais poster sur une nouvelle discussion, le sujet devient différent ^^
    Je vais donc considérer cette discussion comme résolue

Discussions similaires

  1. Fermer PDF ouvert automatiquement
    Par InfoNewbie dans le forum Editeurs / Outils
    Réponses: 4
    Dernier message: 18/11/2008, 14h30
  2. Fermer un pdf ouvert dans un webbrowser!
    Par NejNej dans le forum Windows Forms
    Réponses: 1
    Dernier message: 09/10/2008, 15h52
  3. [C#] Visualisation d'un PDF dans un WebBrowser
    Par StormimOn dans le forum Windows Forms
    Réponses: 4
    Dernier message: 05/04/2007, 18h21
  4. Réponses: 1
    Dernier message: 23/02/2007, 13h31
  5. WebBrowser + PDF
    Par JacquesA dans le forum Web & réseau
    Réponses: 2
    Dernier message: 05/08/2004, 15h41

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