Pb sélection et copie du texte d'un champ pdf

1 réponse
Avatar
GpEp
Bonjour à tous

Après avoir chargé un document pdf dans le champ pdf je désire
simplement sélectionner tout le texte chargé et le copier dans le
presse-papier puis copier celui-ci dans un champ de saisie texte.

Sans aucune erreur erreur renvoyée par les EnvoieTouche je n'ai aucun
résultat final.
J'ai essayé des temporisations de 2 secondes entre les exécutions.
Voyez-vous une erreur dans mon code suivant :

Voici mon code

SI LecteurDeDocuments1 = "" ALORS
Erreur("Vous devez charger le document PDF")
RETOUR
FIN
SI LecteurDeDocuments1..ModeManipulation <> modeManipulationSélection
ALORS
LecteurDeDocuments1..ModeManipulation = modeManipulationSélection
FIN
DonneFocus(LecteurDeDocuments1)

Res est un booléen
// selection de tout le PDF
Res=EnvoieTouche("^{A}",LecteurDeDocuments1)
Temporisation(200)

// copie de la selection dans le presse-papier
Res=EnvoieTouche("^{+}{C}",Handle(LecteurDeDocuments1))
Temporisation(200)

TexteRécupéré = PressePapier()

Merci d'avance

1 réponse

Avatar
GpEp
GpEp a formulé la demande :
Bonjour à tous
Après avoir chargé un document pdf dans le champ pdf je désire simplement
sélectionner tout le texte chargé et le copier dans le presse-papier puis
copier celui-ci dans un champ de saisie texte.
Sans aucune erreur erreur renvoyée par les EnvoieTouche je n'ai aucun
résultat final.
J'ai essayé des temporisations de 2 secondes entre les exécutions.
Voyez-vous une erreur dans mon code suivant :
Voici mon code
SI LecteurDeDocuments1 = "" ALORS
Erreur("Vous devez charger le document PDF")
RETOUR
FIN
SI LecteurDeDocuments1..ModeManipulation <> modeManipulationSélection ALORS
LecteurDeDocuments1..ModeManipulation = modeManipulationSélection
FIN
DonneFocus(LecteurDeDocuments1)
Res est un booléen
// selection de tout le PDF
Res=EnvoieTouche("^{A}",LecteurDeDocuments1)
Temporisation(200)
// copie de la selection dans le presse-papier
Res=EnvoieTouche("^{+}{C}",Handle(LecteurDeDocuments1))
Temporisation(200)
TexteRécupéré = PressePapier()
Merci d'avance

J'ai évolué dans mon problème qui est résolu par le fait d'utiliser
EnvoieTouche("^a",LecteurDeDocuments1) et
EnvoieTouche("^c",LecteurDeDocuments1)
Cependant je voudrai comprendre le phénomène suivant.
Lorsque je lance l'exécution du chargement du document ( par un clic
sur le bouton qui contient la sélection du fichier .pdf ) suivi
immédiatement du code ci-dessus le chargement du pdf se fait bien mais
la sélection de tout le texte et sa copie dans le presse-papier ne se
font pas. Si je relance le code le résultat est parfois bon par fois
incomplet.
Y a-t-il un évènement quelconque que fait le lecteur pdf qui peut
ralentir l'exécution de mon code ?