Copier des textes présents dans des PDF, et les coller dans LibreOffice Text |
Bienvenue invité ( Connexion | Inscription )
Copier des textes présents dans des PDF, et les coller dans LibreOffice Text |
4 Jul 2018, 22:26
Message
#1
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 485 Inscrit : 24 Jul 2003 Lieu : Ancien du Ch'Nord, nouveau en Breizh (22) Membre no 8 750 |
Bonjour
J'ai une dizaine de dossiers contenant chacun 100 à 200 fichiers PDF contenant du texte. Je souhaite transférer ces textes dans un document write de Libre office afin de pouvoir extraire des données qui m'intéressent. Je n'ai jamais utilisé AppleScript ni automator mais c'est l'occasion d'essayer. mon enregistrement ne comprends que l'ouverture, puis la fermeture du document, il n'y a pas la partie copier/coller des données sur le document Libre office (document déjà ouvert) Est ce normal ? Merci de votre aide PS : je viens de recevoir les documents, attendus depuis 3 mois, et ma femme en a besoin afin de continuer la prospection pour son boulot, c'est pour celà que je viens demander de l'aide, alors qu'en parallèle je n'en suis qu'au début de la lecture de l'aide AppleScript -------------------- Si tu te tapes la tête contre un vase et que ça sonne creux, n’en déduis pas pour autant que le vase est vide.
Sagesse asiatique |
|
|
5 Jul 2018, 06:23
Message
#2
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 264 Inscrit : 7 Dec 2013 Lieu : Ile de France Membre no 188 169 |
Bonjour,
Tu peux utiliser une astuce avec les logiciels gratuits fournis sur Mac, à savoir Aperçu et TextEdit. Pour extraire le texte d'un fichier PDF, tu peux utiliser la méthode suivante: 1) ouvre le fichier PDF dans Aperçu 2) dans Aperçu, sélectionne tout les objects du PDF (textes, images,...) avec le menu Edition / Tout sélectionner (raccourci clavier Command a) 3) dans Aperçu, copier la sélection avec le menu Edition/Copier (raccourci = command c) 4) Ouvre Text Edit ce qui ouvre un nouveau document, converti en format text (Plain text pour les anglais) via le menu Format / Convertir au format texte (raccourci command maj. t) 5) menu Edition / Coller (raccourci command v) Ton fichier TextEdit ne contient alors que le texte de ton PDF d'origine. La mise en page est nécessairement perturbée car les objets non texte du PDF d'origine ne sont plus là. Essayer avec 1 ou 2 PDF pour voir si le résultat te convient avec les PDF que tu dois traiter. Si c'est le cas, alors tu pourras faire un script qui simule ces étapes sur tous les PDF d'un dossier. Voici quelques pistes en attendant: - pour parcourir les fichiers PDF d'un dossier, il faut les lister, puis une boucle repeat sur chaque fichier - Aperçu n'est pas vraiment scriptable, c'est pourquoi j'ai indiqué les raccourcis que le script va simuler avec l'action Keystroke - idem pour TextEdit, d'ou aussi les raccourci clavier Je précise que pour TextEdit tu peux éviter l'étape 4 si, dans les préférences TextEdit, tu demandes format Text par défaut. Je n'ai pas le temps d'aller plus loin ce matin (d'écrire le script) , mais je pense que ces indications vont te permettre de googler pour apprendre les merveilles d'Applescript. Si tu es perdu, n'hésite pas ! Cordialement -------------------- iiMac 24 M1 16Go/1To 13.5.1
iMac 27 i5 3,1GHz 8Go/1To 10.11.6 / 10.6.8 iMac 20 C.Duo 2,6Ghz 8Go/350Go 10.6.8 / 10.11 Mini C.Duo 2,0Ghz 2Go/500Go 10.6.8 |
|
|
5 Jul 2018, 10:14
Message
#3
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 485 Inscrit : 24 Jul 2003 Lieu : Ancien du Ch'Nord, nouveau en Breizh (22) Membre no 8 750 |
Merci
Je regarde tout ça ce midi, ou, plus surement ce soir Cdlt -------------------- Si tu te tapes la tête contre un vase et que ça sonne creux, n’en déduis pas pour autant que le vase est vide.
Sagesse asiatique |
|
|
5 Jul 2018, 21:00
Message
#4
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 264 Inscrit : 7 Dec 2013 Lieu : Ile de France Membre no 188 169 |
Bonsoir,
Je rentre du travail et je viens de faire un petit script qui fait ce que j'ai indiqué, étape par étape. J'ai mis des instructions "delay" pour laisser le temps à Aperçu d'ouvrir et fermer les documents. Selon la vitesse de ta machine il faudra peut être ralentir (delay 2 attends 2 secondes !). A la fin tu obtiens un document texEdit qui contient tout les textes qui se suivent. Il faut penser à le sauvegarder ou le copier dans un document Libre Office. (il devrait aussi être possible de se passer de TextEdit pour coller directement dans Libre Office...Je te laisse adapter si nécessaire ! CODE set Dossier to choose folder "Sélectionner un dossier contenant les PDF à copier" tell application "Finder" to set ListePDF to every file of Dossier whose name extension is "PDF" tell application "TextEdit" activate make new document tell application "System Events" to tell process "TextEdit" to keystroke "T" using command down end tell repeat with unPDF in ListePDF tell application "Preview" to open unPDF activate delay 1 tell application "System Events" to tell process "Preview" keystroke "a" using command down -- tout selectionner keystroke "c" using command down -- copier keystroke "w" using command down -- fermer la fenêtre du document delay 1 end tell tell application "TextEdit" to activate -- met TextEdit au premier plan tell application "System Events" to tell process "TextEdit" to keystroke "v" using command down -- coller end repeat Cordialement -------------------- iiMac 24 M1 16Go/1To 13.5.1
iMac 27 i5 3,1GHz 8Go/1To 10.11.6 / 10.6.8 iMac 20 C.Duo 2,6Ghz 8Go/350Go 10.6.8 / 10.11 Mini C.Duo 2,0Ghz 2Go/500Go 10.6.8 |
|
|
5 Jul 2018, 22:57
Message
#5
|
|
Macbidouilleur d'Or ! Groupe : Modérateurs Messages : 19 353 Inscrit : 22 Jul 2004 Lieu : Louvain-la-Neuve (Gaule Gelbique) Membre no 21 291 |
Euh… J'ai voulu tester le script (fort clair par ailleurs du coup, je me suis laissé tenter…) mais j'ai eu un résultat un peu inattendu :
• J'ai copié le code dans l'Editeur d'Applescript • J'ai cliqué sur Exécuter • Après avoir choisi un dossier avec deux PDF, le script s'est lancé, et a terminé avec un petit message d'erreur « Impossible de fermer le document tant que le script est en cours d'exécution » — mais là n'est pas la blague : • Aperçu était ouvert avec le 2e document ouvert • Et le document TextEdit contenait… le script, tel que tu l'as écrit ! Je soupçonne que c'est dû aux commandes Code tell application "System Events" (J'avais aussi plusieurs autres applications ouvertes.)keystroke "T" using command down end tell […] end tell tell current application activate end tell Lors d'un second essai, avec un autre dossier et trois documents PDF, j'ai eu droit à la copie du script (P.S. vérification faite, pas le script cette fois mais les événements enregistré par l'Editeur Applescript, tels que retranscrits ci-dessous) puis du deuxième document par ordre alphabétique mais pas du premier ni du dernier. Pourtant quand je regarde la suite des événements dans l'Editeur, ça semble correct (sauf l'ordre dans lequel apparaissent les documents PDF, qui n'est pas alphabétique…?) : CODE tell application "AppleScript Editor" choose folder --> alias "AluSlim:Users:admin:Documents:Folklore:" end tell tell application "Finder" get every file of alias "AluSlim:Users:admin:Documents:Folklore:" whose name extension = "PDF" --> {document file "Cours-Tambour.pdf" of folder "Folklore" ⌐of folder "Documents" of folder "admin" of folder "Users" of startup disk, ⌐document file "Marches ESM - Brochure Unesco.pdf" of folder "Folklore" ⌐ of folder "Documents" of folder "admin" of folder "Users" of startup disk, ⌐document file "folk_mep_v12.pdf" of folder "Folklore" ⌐of folder "Documents" of folder "admin" of folder "Users" of startup disk} end tell tell application "TextEdit" activate make new document --> document "Sans titre 3" end tell tell application "System Events" keystroke "T" using command down end tell tell application "Finder" open document file "Cours-Tambour.pdf" of folder "Folklore" ⌐of folder "Documents" of folder "admin" of folder "Users" of startup disk end tell tell current application activate end tell tell application "System Events" keystroke "a" using command down keystroke "c" using command down keystroke "w" using command down end tell tell application "TextEdit" activate end tell tell application "System Events" keystroke "v" using command down end tell tell application "Finder" open document file "Marches ESM - Brochure Unesco.pdf" of folder "Folklore" ⌐of folder "Documents" of folder "admin" of folder "Users" of startup disk end tell tell current application activate end tell tell application "System Events" keystroke "a" using command down keystroke "c" using command down keystroke "w" using command down end tell tell application "TextEdit" activate end tell tell application "System Events" keystroke "v" using command down end tell tell application "Finder" open document file "folk_mep_v12.pdf" of folder "Folklore" ⌐of folder "Documents" of folder "admin" of folder "Users" of startup disk end tell tell current application activate end tell tell application "System Events" keystroke "a" using command down keystroke "c" using command down keystroke "w" using command down end tell tell application "TextEdit" activate end tell tell application "System Events" keystroke "v" using command down end tell Le seul document copié après le script est "folk_mep_v12.pdf" Ce message a été modifié par baron - 5 Jul 2018, 23:11. -------------------- ¶ MacBook Pro 14’’ 2021, M1 Pro, 16 Go/1 To – macOS 12.6 “Monterey” ¶ MacBook Pro 15’’ mi-2010 Core i5 2,53 GHz, 8 Go/SSD Samsung 860EVO 1 To – Mac OSX 10.6.8 ¶ Power Macintosh G3 beige de bureau, rev.1 @ 233MHz, 288 Mo/4Go – MacOS 9.1 + carte PCI IDE/ATA Tempo 66 Acard 6260 avec HD interne Maxtor 80 Go + graveur interne CDRW/DVD LG GCC-4520B + tablette A4 Wacom UD-0608-A + LaCie ElectronBlueIV 19" + HP ScanJet 6100C ¶ B-Box 3 + HP LaserJet 4000 N
¶ La recherche dans MacBidouille vous paraît obscure ? J'ai rédigé une proposition de FAQ. Le moteur logiciel a un peu changé depuis mais ça peut aider quand même. … Les corsaires mettent en berne… |
|
|
6 Jul 2018, 06:32
Message
#6
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 486 Inscrit : 29 Aug 2002 Membre no 3 340 |
Bonjour tous,
Une piste d'exploration qui peut être intéressante est de séparer les deux problèmes qu'on cherche à résoudre: - Trouver tous les pdf sous un certains dossier - Traiter un seul pdf Pour cela, on peut utiliser un script shell (dans text édit par exemple ), parce que c'est son boulot premier d'interagir avec l'OS, avec les commandes comme 'find' find /point/de/départ/ -nqme "*pdf" Ensuite on va s'appuyer sur AppleScript comme indiqué ci-dessus, mais pour un seul pdf à la fois dont le nom est passé au script (pas de boucle) Depuis le shell script on peut invoquer AppleScript avec la commande 'osascript'. https://apple.stackexchange.com/questions/1...rom-bash-script Il y a un commande aussi qui distribue le résultat d'une première commande pour l' injecter dans une autre command qui va faire le lien entre 'find' et 'osascript', c'est 'xargs', et ça évite d'écrire une boucle donc au final il faut deux ingrédients - le script shell principal de quelques lignes qui orchestre l'opération find + xargs + osascript. - l' AppleScript qui fait le boulot pour un pdf dont le nom est passé en argument. (On peut améliorer avec un autre Applescript pour choisir le dossier de départ pour passer son nom au script principal) Je sais que je ne suis pas suffisant précis, (manque de temps, tôt le matin, prêt à partir au boulot...) mais je peux donner plus de détail si ça intéresse. JP |
|
|
6 Jul 2018, 08:29
Message
#7
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 845 Inscrit : 23 Nov 2002 Membre no 4 808 |
et PdfZone ? cf : http://macbidouille.com/news/2018/06/22/pd...tions-attendues
-------------------- MBP 15 unibody 2,4 Ghz , 4Go ssd 256 Go, dual boot OSX10.9.5-Linux mint
MacMini late 2012, i7 2,3Ghz, 16Go, 2 ssd 1to, OSX Sonoma 14.4 (OpencoreLegacy Patcher 1,4.3) |
|
|
6 Jul 2018, 22:04
Message
#8
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 264 Inscrit : 7 Dec 2013 Lieu : Ile de France Membre no 188 169 |
Bonsoir,
J'ai eu ce type de comportement lors de mes tests pour le script, lorsque les temps d'attente (les fameux 'delay') étaient trop courts. Je pense que c'est lié à la fois à la vitesse de la machine et à la complexité/ taille des PDF. Dans un premier temps, il faut donc augmenter les delay avec 2 (secondes) cela devrait fonctionner (déjà avec 1 seconde cela fonctionne chez moi, avec des PDF simples). En fait d'après ce que tu décris, le 'copier' se fait sur l'application ouverte (à savoir l'éditeur de script) et non sur le document PDF dans aperçu qui n'est pas encore ouvert. Par ailleurs, tu sembles demander que les PDF soient dans l'ordre alphabétique. Ce n'est pas ce que j'avais compris de la demande...ce n'est pas ce que fait le script. Le script prends tous les PDF du dossier sélectionné, mais dans l'ordre du "Finder"...qui n'est pas toujours l'alphabétique. Tant que le nombre de PDF est restreint (moins de 100 ou 200), cela peut convenir. Au delà, la proposition de Jaypee de passer par une commande Unix type 'find' est bien sûr plus rapide (Unix est toujours plu rapide que AS). Cependant, cela ne résout pas le problème de l'ordre ! Je précise que l'ordre du Finder est "souvent" alphabétique, mais j'aie des exceptions parfois, sans que je puisse en expliquer l'origine. Cordialement Ce message a été modifié par PBell - 8 Jul 2018, 14:42. -------------------- iiMac 24 M1 16Go/1To 13.5.1
iMac 27 i5 3,1GHz 8Go/1To 10.11.6 / 10.6.8 iMac 20 C.Duo 2,6Ghz 8Go/350Go 10.6.8 / 10.11 Mini C.Duo 2,0Ghz 2Go/500Go 10.6.8 |
|
|
7 Jul 2018, 03:03
Message
#9
|
|
Macbidouilleur d'Or ! Groupe : Modérateurs Messages : 19 353 Inscrit : 22 Jul 2004 Lieu : Louvain-la-Neuve (Gaule Gelbique) Membre no 21 291 |
Par ailleurs, tu semble demander que les PDF soient dans l'ordre alphabétique. Ce n'est pas ce que j'avais compris de la demande...ce n'est pas ce que fait le script. Bonsoir PBell, Le script prend tous les PDF du dossier sélectionné, mais dans l'ordre que "Finder"...qui n'est pas toujours l'alphabétique. D'abord merci pour tes interventions, aussi serviables que pédagogiques. C'est d'ailleurs pour cela que l'idée m'est venue de tester ta proposition de script, juste pour voir et me frotter un peu aux scripts — chose qui m'intéresse mais m'a toujours quelque peu résisté. Je ne suis toutefois pas l'auteur de la demande initiale, et donc la question de l'ordre des fichiers n'est vraisemblablement pas vraiment cruciale… Je faisais juste part d'une interrogation qui m'était venue lors de mes tests « pour du beurre » : pourquoi le script traite-t-il les fichiers dans cet ordre, qui n'est ni celui de l'affichage Finder ni chronologique… brenda repassera sûrement prochainement pour préciser ce qu'il espère… -------------------- ¶ MacBook Pro 14’’ 2021, M1 Pro, 16 Go/1 To – macOS 12.6 “Monterey” ¶ MacBook Pro 15’’ mi-2010 Core i5 2,53 GHz, 8 Go/SSD Samsung 860EVO 1 To – Mac OSX 10.6.8 ¶ Power Macintosh G3 beige de bureau, rev.1 @ 233MHz, 288 Mo/4Go – MacOS 9.1 + carte PCI IDE/ATA Tempo 66 Acard 6260 avec HD interne Maxtor 80 Go + graveur interne CDRW/DVD LG GCC-4520B + tablette A4 Wacom UD-0608-A + LaCie ElectronBlueIV 19" + HP ScanJet 6100C ¶ B-Box 3 + HP LaserJet 4000 N
¶ La recherche dans MacBidouille vous paraît obscure ? J'ai rédigé une proposition de FAQ. Le moteur logiciel a un peu changé depuis mais ça peut aider quand même. … Les corsaires mettent en berne… |
|
|
7 Jul 2018, 09:45
Message
#10
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 264 Inscrit : 7 Dec 2013 Lieu : Ile de France Membre no 188 169 |
Bonjour Baron,
Je n'ai pas la réponse à ta question. En général le 'get every file..' du Finder donne des listes qui sont effectivement dans l'ordre alphabétique des noms de fichiers, mais j'ai eu parfois des exceptions pour lesquelles je n'ai pas trouvé la cause. Cordialement -------------------- iiMac 24 M1 16Go/1To 13.5.1
iMac 27 i5 3,1GHz 8Go/1To 10.11.6 / 10.6.8 iMac 20 C.Duo 2,6Ghz 8Go/350Go 10.6.8 / 10.11 Mini C.Duo 2,0Ghz 2Go/500Go 10.6.8 |
|
|
25 Sep 2018, 10:42
Message
#11
|
|
Adepte de Macbidouille Groupe : Membres Messages : 40 Inscrit : 11 Sep 2018 Membre no 205 774 |
Bonjour
espérant que ça a marché mais si cela peut aider suivez ce lien aussi y a un tuto dessus avec des images https://fr.wikihow.com/copier-une-partie-d%...ouveau-document. Bonne chance |
|
|
Nous sommes le : 25th April 2024 - 07:32 |