christophe68_is
Messages postés16Date d'inscriptionmercredi 25 avril 2018StatutMembreDernière intervention18 mai 2018
-
18 mai 2018 à 09:28
cs_Le Pivert
Messages postés7884Date d'inscriptionjeudi 13 septembre 2007StatutContributeurDernière intervention20 mars 2023
-
19 mai 2018 à 15:15
Bonjour à tous!
Je viens de finir une petite application pour aider des utilisateurs mais je rencontre un "bug" aléatoire.
Je m'explique, j'ouvre un fichier PDF et j'affiche son contenu dans un AxAcroPDF, tout se passe super bien.
Je souhaite pouvoir le visualiser, puis copier le texte et le "retravailler" dans un textbox, tout fonctionne très bien. Par contre de façon aléatoire le "ctrl a", pour sélectionner puis copier les data ne se fait pas lorsque je recharge un nouveau PDF.
Je me suis dit cela vient du temps de chargement du fichier, donc j'ai mis une "pause" avec un sleep, petite amélioration mais toujours des bugs lors de l'ouverture d'un nouveau fichier.
Je remarque un point, lorsque j'ouvre mon fichier via 'lopenfiledialog' et si je clique ensuite sur le bureau windows, le sendkeys ne fonctionne plus. Est ce que cela pourrait venir du fait que l'objet "AxAcroPDF" ne soit plus sélectionner? Merci d'avance pour votre support car la je piétine et je n'ai plus d'idée ..... ()
AxAcroPDF1.LoadFile("unloade.pdf")
Me.OpenFileDialog1.Filter = String.Empty
Me.OpenFileDialog1.ShowDialog()
On Error Resume Next
Me.AxAcroPDF1.LoadFile(Me.OpenFileDialog1.FileName)
Threading.Thread.Sleep(2000)
'AxAcroPDF1.Focus()
My.Computer.Keyboard.SendKeys("^a", True)
Threading.Thread.Sleep(1001)
My.Computer.Keyboard.SendKeys("^c", True)
Whismeril
Messages postés18289Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention24 mars 2023622 18 mai 2018 à 10:38
Bonjour
Sendkeys c'est pas un truc magique, c'est même plutôt l'inverse. C'est de la bidouille.
Si tu veux retravailler le texte, charge le dans ton textbox avec les outils dont je t'ai déjà parlé.
Si tu veux afficher le pdf original, fais le avec ta lib, mais ne t'en sers pas pour les données.
A moins (je n'ai pas lu sa doc), qu'elle ait des points d'entrée et de sortie (un API quoi)
christophe68_is
Messages postés16Date d'inscriptionmercredi 25 avril 2018StatutMembreDernière intervention18 mai 2018 18 mai 2018 à 11:04
Bonjour Whismeril,
Je me doute que sendkeys c'est de la bidouille, mais pour le moment je progresse petit à petit.
Je fais les formations dont on m'a parlé, j'arrive à créer des fichiers, récupérer des valeurs, extraire lire. Par contre pour ta proposition, j'ai regardé, mais je n'ai pas encore le niveau je dois progresser.
Ce qui m'étonne, c'est que l'object AxAcroPDF1, ne dispose pas d'une fonction, select all et "copie", ou alors send text, to textbox (cela résoudrait mon problème d'instabilité)
Exemple avec du texte et une TextBox et avec une image et une PictureBox:
Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
If Not Clipboard.GetImage Is Nothing Then
PictureBox1.Image = Clipboard.GetImage
End If
If Clipboard.ContainsText = True Then
TextBox1.Text = Clipboard.GetText
End If
End Sub
je te laisse le soin de faire démarrer le Timer et de l'arréter
Voilà c'est tout simple, il faut quand même sélectionner manuellement!