Fichiers Pdf dans un WebBrowser
JulienHch
Messages postés
22
Date d'inscription
Statut
Membre
Dernière intervention
-
JulienHch Messages postés 22 Date d'inscription Statut Membre Dernière intervention -
JulienHch Messages postés 22 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je dispose dans un dossier plusieurs fichiers PDF de longueur variables (1 ou plusieurs pages)
Dans un formulaire j'aimerai, que dès qu'on l'affichage on fasse défiler ces PDF.
Par exemple, à l'ouverture du formulaire, on affiche le PDF "A" (1 seul page), 10 seconde plus tard le PDF "B" ( 3 pages), donc 10 secondes plus tard la deuxième page de ce PDF et ainsi de suite et tout ça dans un web browser, et une fois tout les fichiers PDF passés on recommence le cycle d'affichage du début (le contrôle AcroPDF ne fonctionne pas chez moi)
Je sais comment récupérer le nombre de page, je sais afficher du contenu dans un web browser, le soucis étant le changement de page dans ce dernier je n'ai aucune idée de comment on pourrait faire malgrès les différents tests que j'ai effectué.
Cordialement :)
Je dispose dans un dossier plusieurs fichiers PDF de longueur variables (1 ou plusieurs pages)
Dans un formulaire j'aimerai, que dès qu'on l'affichage on fasse défiler ces PDF.
Par exemple, à l'ouverture du formulaire, on affiche le PDF "A" (1 seul page), 10 seconde plus tard le PDF "B" ( 3 pages), donc 10 secondes plus tard la deuxième page de ce PDF et ainsi de suite et tout ça dans un web browser, et une fois tout les fichiers PDF passés on recommence le cycle d'affichage du début (le contrôle AcroPDF ne fonctionne pas chez moi)
Je sais comment récupérer le nombre de page, je sais afficher du contenu dans un web browser, le soucis étant le changement de page dans ce dernier je n'ai aucune idée de comment on pourrait faire malgrès les différents tests que j'ai effectué.
Cordialement :)
A voir également:
- Webbrowser pdf
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Save as pdf office 2007 - Télécharger - Bureautique
- Télécharger dictionnaire larousse pdf gratuit - Télécharger - Dictionnaires & Langues
- Notices gratuites pdf - Guide
- Pdf creator - Télécharger - PDF
2 réponses
Je joins mon code :
dans le module :
Sub click()
Dim i As Integer
i = 1
chemin = "C:\Users\Administrateur\Desktop\Affichage dynamique\PROCEDURE\"
sFichier = Dir(chemin & "*pdf")
While Len(sFichier) > 0:
UserForm1.ListBox1.AddItem sFichier
sFichier = Dir()
Wend
With UserForm1
If GetPageNum(chemin & UserForm1.ListBox1.List(0)) > 1 Then
While i <> GetPageNum(chemin & UserForm1.ListBox1.List(0)):
UserForm1.WebBrowser1.Refresh
.TextBox1.Text = chemin & UserForm1.ListBox1.List(0) & "#zoom=80%&page=" & i
.Show vbModeless
i = i + 1
Application.Wait (Now + TimeValue("00:00:05"))
UserForm1.WebBrowser1.Navigate ("about:blank")
Wend
Else
.TextBox1.Text = chemin & UserForm1.ListBox1.List(0) & "#zoom=80%&page=1"
.Show vbModeless
End If
End With
End Sub
Function GetPageNum(PDF_File As String)
Dim FileNum As Long
Dim strRetVal As String
Dim RegExp
Set RegExp = CreateObject("VBscript.RegExp")
RegExp.Global = True
RegExp.Pattern = "/Type\s*/Page[^s]"
FileNum = FreeFile
Open PDF_File For Binary As #FileNum
strRetVal = Space(LOF(FileNum))
Get #FileNum, , strRetVal
Close #FileNum
GetPageNum = RegExp.Execute(strRetVal).Count
End Function
dans le user form :
Private Sub UserForm_Initialize()
ListBox1.Visible = False
TextBox1.Visible = False
End Sub
Private Sub Textbox1_Change()
WebBrowser1.Navigate TextBox1.Text
End Sub
dans le module :
Sub click()
Dim i As Integer
i = 1
chemin = "C:\Users\Administrateur\Desktop\Affichage dynamique\PROCEDURE\"
sFichier = Dir(chemin & "*pdf")
While Len(sFichier) > 0:
UserForm1.ListBox1.AddItem sFichier
sFichier = Dir()
Wend
With UserForm1
If GetPageNum(chemin & UserForm1.ListBox1.List(0)) > 1 Then
While i <> GetPageNum(chemin & UserForm1.ListBox1.List(0)):
UserForm1.WebBrowser1.Refresh
.TextBox1.Text = chemin & UserForm1.ListBox1.List(0) & "#zoom=80%&page=" & i
.Show vbModeless
i = i + 1
Application.Wait (Now + TimeValue("00:00:05"))
UserForm1.WebBrowser1.Navigate ("about:blank")
Wend
Else
.TextBox1.Text = chemin & UserForm1.ListBox1.List(0) & "#zoom=80%&page=1"
.Show vbModeless
End If
End With
End Sub
Function GetPageNum(PDF_File As String)
Dim FileNum As Long
Dim strRetVal As String
Dim RegExp
Set RegExp = CreateObject("VBscript.RegExp")
RegExp.Global = True
RegExp.Pattern = "/Type\s*/Page[^s]"
FileNum = FreeFile
Open PDF_File For Binary As #FileNum
strRetVal = Space(LOF(FileNum))
Get #FileNum, , strRetVal
Close #FileNum
GetPageNum = RegExp.Execute(strRetVal).Count
End Function
dans le user form :
Private Sub UserForm_Initialize()
ListBox1.Visible = False
TextBox1.Visible = False
End Sub
Private Sub Textbox1_Change()
WebBrowser1.Navigate TextBox1.Text
End Sub
j'ai commencé par tester que pour 1 seul fichier excel, quand je test en mode pas à pas ça fonction comme je le souhaite, cependant quand je le laisse tourner automatiquement, le formulaire reste figé sur la première page, et se débloque quand il a fini de traiter toute les pages...
Si vous avez une idée ?
Si vous avez une idée ?