Vue lecture

Astuce pour récupérer la version initiale d'un fichier PDF.

Actuellement, des fichiers PDF caviardés outrancièrement (des pages entières recouvertes d'un gros pavé noir) ont été publiées. Malheureusement les auteurs ont oublié d'aplatir leur fichier, si bien qu'il est possible de récupérer l'information avec un simple Ctrl-C.

Il existe cependant une méthode encore plus simple en utilisant la structure des fichiers PDF.

En effet ces fichiers sont constitués
- d'une entête ;
- d'un corps qui regroupe tous les objets décrivant des éléments à afficher ;
- d'une table indexant tous les objets suivie de la séquence %%EOF.

Lorsqu'on modifie un PDF, on modifie ou on ajoute des objets qui sont alors écrits à la fin du fichier (donc après la séquence %%EOF) et une nouvelle table indexant les objets est créée et écrite (avec les caractères %%EOF) à la suite.

Si bien qu'il y a maintenant 2 séquences %%EOF dans le fichier (en fait il y en aura autant qu'on l'aura modifié).

Donc en ouvrant ce fichier avec un éditeur de texte comme Notepad++ et en cherchant les séquences %%EOF, on peut supprimer la partie après la première séquence %%EOF et retrouver la version initiale.

Bien sûr ça ne marche que si le fichier n'a pas été aplati (= les objets inutiles ont été purgés et qu'il n'y a plus qu'une table d'index).

Voilà !

Commentaires : voir le flux Atom ouvrir dans le navigateur

  •  

WinFindr - Un outil de recherche Windows qui trouve tout ce que vous cherchez

Tout le monde n'a pas la chance d'avoir un moteur de recherche aussi rapide que le mien . Par exemple, Windows c'est pas le plus rapide pour trouver un fichier sur votre PC avec l'explorateur. Vous tapez le nom exact et ça ne trouve rien... Franchement, c'est relou, et je compatis, parce qu'on est tous passés par là.

Mais c'était sans compter sur WinFindr , un logiciel de recherche de fichiers pour Windows qui fait ce que l'explorateur Windows devrait faire depuis le début. En gros, avec ce freeware, vous pouvez chercher dans vos fichiers, dans la base de registre, et même à l'intérieur des PDF, des documents Word, Excel, PowerPoint, et même des ebooks EPUB.

WinFindr propose une recherche en langage naturel, ce qui veut dire que si vous cherchez un fichier avec "Desiree" dans le nom mais qu'en fait il s'appelle "Désirée" avec des accents, il le trouvera quand même. Pratique quand on sait plus comment on a nommé ce foutu document il y a 3 ans. Et ça va même plus loin puisque le soft gère la recherche phonétique. Du coup, si vous tapez "peace", il trouvera aussi "piece" parce que ça sonne pareil.

Y'a aussi un mode de recherche avec opérateur logique et/ou qui permet de combiner plusieurs critères. Genre vous cherchez un fichier qui contient à la fois "facture" ET "2024" ET qui se trouve dans un dossier spécifique. Vous pouvez même faire des recherches par proximité, c'est-à-dire trouver des termes qui sont à maximum X mots l'un de l'autre dans un document.

Et le truc vraiment cool, c'est que WinFindr cherche aussi dans les archives ZIP et RAR sans avoir besoin de les décompresser. Il peut même fouiller dans les métadonnées de vos MP3 (album, artiste) et de vos images. Du coup, si vous avez 50 000 photos et que vous cherchez celles prises à un endroit précis ou avec un appareil spécifique, ça peut servir.

Le soft pèse 3 Mo (y'a aussi une version portable), tourne sur Windows 7, 8, 10 et 11, et la version de base est totalement gratuite. Après si vous voulez du support technique dédié ou des options en ligne de commande pour l'intégrer à vos scripts, y'a une version Pro payante mais je trouve que la version gratuite suffit pour la plupart des usages. Ah et vous pouvez exporter vos résultats en TXT, CSV ou HTML si besoin.

Bref, si vous en avez marre de galérer à retrouver vos fichiers, WinFindr est là pour vous tenir la main !

Merci à Lorenper pour le partage !

  •  

Mistral OCR 3 - L'OCR français qui lit même l'écriture de votre médecin

Vous avez des tonnes de vieux documents papier qui traînent dans des cartons, des factures scannées à l'arrache, des formulaires remplis à la main, des tableaux Excel imprimés puis re-scannés par quelqu'un qui n'a visiblement jamais entendu parler du concept de "bien faire son boulot" ?

Considérez que ce problème est réglé puisque Mistral AI vient de sortir OCR 3, un modèle de reconnaissance de documents qui promet de transformer tout ça en données exploitables, et pour pas cher en plus.

Le modèle est capable de déchiffrer du cursif dégueulasse, des annotations griffonnées dans les marges, voire du texte manuscrit par-dessus des formulaires imprimés. Mistral montre même une démo avec une lettre au Père Noël écrite par un gamin et l'OCR arrive à en extraire le contenu structuré. Bon, c'est cool pour les lettres au Père Noël, mais surtout ça veut dire qu'il peut gérer vos ordonnances médicales ou les notes de réunion de votre collègue qui écrit comme un cochon.

Niveau performances, Mistral annonce un taux de victoire de 74% sur leur précédent modèle OCR 2 et sur les solutions concurrentes. Et comme c'est testé sur des cas réels d'entreprises avec des mesures de précision en fuzzy-match, on n'est pas dans du benchmarks théoriques bidon. Le modèle gère les scans pourris avec compression JPEG, les documents de travers, les faibles résolutions, le bruit de fond... Bref, tout ce qui fait que l'OCR traditionnel vous sort de la bouillie.

Et ce qui est vraiment intéressant, c'est surtout la reconstruction structurelle car contrairement aux OCR classiques qui vous crachent un bloc de texte en vrac, Mistral OCR 3 reconstruit la structure du document. Les tableaux complexes avec cellules fusionnées et hiérarchies de colonnes ressortent en HTML propre avec les colspan et rowspan préservés. Vous obtenez du markdown enrichi en sortie, directement exploitable par vos systèmes sans avoir à nettoyer le bordel derrière.

Côté tarifs, c'est 2 dollars pour 1000 pages et si vous passez par l'API Batch, c'est moitié moins cher à 1 dollar les 1000 pages. Pour un modèle qui se dit plus petit que la plupart des solutions concurrentes tout en étant plus précis, c'est plutôt compétitif. Le modèle peut traiter jusqu'à 2000 pages par minute sur un seul nœud, donc même si vous avez des millions de documents à numériser, ça devrait pas prendre des plombes.

Pour l'utiliser, vous avez deux options. Soit vous passez par l'API (mistral-ocr-2512), soit vous allez sur le Document AI Playground dans Mistral AI Studio où vous pouvez glisser-déposer vos PDF et images pour tester. C'est pratique pour voir ce que ça donne avant de l'intégrer dans vos workflows.

Bref, on est en train tout doucement de passer d'OCR qui "lisent du texte" à des modèles qui comprennent la structure des documents. Et ça, ça veut dire que vos archives papier vous pouvoir enfin devenir des données JSON exploitables par vos agents IA, vos systèmes de recherche ou vos bases de connaissances.

Voilà, si vous avez des projets de numérisation d'archives ou d'automatisation de traitement de documents, ça vaut le coup d'aller tester leur playground.

Source

  •  

Lecture de texte avec Coqui TTS

Sommaire

Cher Nal,

Je prends bien rarement ma plume, mais j'ai fait une petite expérimentation qui pourrait t'intéresser.

Le besoin

J'aimerais pouvoir écouter des documents que je possède à l'écrit, quand je suis dans les transports. Jusque là rien de bien compliqué, c'est du TTS (text-to-speech), mais j'aimerais surtout :

  • obtenir une lecture de bonne qualité : fluide, naturelle, avec un minimum d'intonations
  • que ce soit opensource
  • local : ne pas avoir besoin d'aller téléverser un document dans le cloud
  • pouvoir directement passer un fichier PDF

Par contre, je n'ai pas besoin :

  • que ce soit en temps réel (i.e. je peux préparer à l'avance)

La quête

J'ai commencé par regarder les solutions classiques espeak-ng, festival, puisqu'ils sont pas mal utilisé : le niveau de qualité n'était pas celui que je recherchais (même si on peut améliorer un peu les choses avec de la configuration). J'ai donc recherché des options côté IA générative, et il y en a… mais surtout dans le cloud.

Et puis je suis tombé sur CoquiTTS : un TTS opensource créé par Coqui AI, une boite hélas fermée depuis 2024, fondée par d'anciens de Mozilla.

L'installation

Je regarde la doc, ça semble relativement simple, avec 2 options :

  • pip et de l'install manuelle
  • utiliser une image docker pré-construite

J'aime bien l'idée de pouvoir partir d'un truc propre facilement transposable sur d'autres machines, je choisis donc l'option docker (c'est aussi l'occasion de découvrir docker, que je n'ai jamais vraiment utilisé).

Après une brève lecture de la doc des images docker, je choisis l'image docker pour un traitement sur CPU (il y en a un autre pour GPU NVidia, mais mon hardware n'en a pas). 10 Go de téléchargement plus tard, me voici avec la bête.

Utilisation de base

Après lecture de la doc je parviens à générer un premier fichier audio:

docker run -it --rm \
  -v "$(pwd):/output" \
  ghcr.io/coqui-ai/tts-cpu \
  --text "Hello world" \
  --out_path "/output/plop.wav"

Explication (désolé si vous connaissez déjà docker, mais moi je ne connaissais pas, alors je détaille pour celles ou ceux qui seraient dans mon cas) :

  • docker run : lance une image docker
  • -it : mode interactif pour docker
  • --rm : repart de l'image à chaque fois (ne garde pas les modifications)
  • -v "/local/path:/image/path" : permet de créer un volume, un truc qui mappe un chemin dans l'image sur un chemin en local
  • ghcr.io/coqui-ai/tts-cpu : le nom de l'image docker à lancer
  • --text "Blabla" : le texte à lire
  • --out_path "/image/path": le fichier WAV à produire

Résultat :

  • qualité pas encore terrible, mais je sais qu'il y a d'autres modèles potentiellement meilleurs d'après la doc
  • ça marche uniquement pour de l'anglais : le rendu en français est incompréhensible, le modèle par défaut n'est pas entrainé pour
  • à chaque fois qu'on lance la commande avec une phrase, on se retape les 104 Mo de chargement du (petit) modèle par défaut

Améliorations

Éviter de re-télécharger le modèle à chaque fois

Pour ça, on va stocker les modèles hors de l'image.

docker run -it --rm \
  -v tts_models:/root/.local/share/tts \
  -v "$(pwd):/output" \
  ghcr.io/coqui-ai/tts-cpu \
  --text "Hello world" \
  --out_path "/output/plop.wav"
  • -v tts_models:/root/.local/share/tts : crée un volume pour stocker les modèles hors de l'image

Résultat:

  • plus besoin de re-télécharger le modèle 😊

Utilisation d'un modèle plus qualitatif :

Celui par défaut est d'une taille "raisonnable", mais mono-lingue et mono-locuteur. Je me tourne donc vers celui mis en avant sur le github : XTTSv2. Il est multi-lingue, multi-locuteur, et permet même de faire du voice-cloning (ce n'est pas dans mes besoins de base, mais je trouve l'idée cool).

docker run -it --rm \
  -v tts_models:/root/.local/share/tts \
  -v "$(pwd):/output" \
  ghcr.io/coqui-ai/tts-cpu \
  --text "Salut le monde." \
  --model_name tts_models/multilingual/multi-dataset/xtts_v2 \
  --language_idx "fr" \
  --speaker_idx "Filip Traverse" \
  --out_path "/output/plop.wav"
  • --model_name tts_models/multilingual/multi-dataset/xtts_v2 : le modèle XTTSv2
  • --language_idx "fr" : on indique la langue (le français ici, mais il y a pas mal d'autres langues supportées)
  • --speaker_idx "Filip Traverse" : on indique le locuteur (il y a pas mal de locuteurs inclus. L'autre alternative est d'utiliser l'argument --speaker_wav pour passer une voix à cloner)

Résultat:

fichier audio et un autre un peu plus long.

  • la qualité est enfin au rendez-vous !
  • on peut enfin avoir du français
  • ça prend beaucoup de temps à télécharger (plus de 5 Go à télécharger la première fois, heureusement qu'on stocke le modèle) et à traiter

Accepter un PDF en entrée

J'ai utilisé pdftotext:

pdftotext -nopgbrk -layout "$pdf_file" -

À noter qu'en plus j'ai utilisé quelques filtres pour améliorer le texte d'entrée (ce qui améliore la diction), on pourrait sûrement aller plus loin :

  • remplacer les retours de chariots par des espaces (sauf quand il y a une ligne blanche)
  • dédoublonner les lignes blanches
  • dédoublonner les espaces

Je ne détaille pas, parceque là c'est particulièrement lié au type de documents qui m'intéresse.

Produire directement un MP3

J'ai utilisé ffmpeg:

ffmpeg -y -hide_banner -nostats -loglevel warning -i "$wav_file" -vn -ar 44100 -ac 2 -b:a 192k "$mp3_file"

Le résultat

Je me suis créé des wrappers pour faire tout ça facilement : https://github.com/mrlem/easy-tts

Si vous voulez l'utiliser, vous en servir comme base, ou bien juste farfouiner, n'hésitez pas.
Disclaimer : je ne suis pas expert en bash, ni en IA générative, du coup il y a sûrement des choses perfectibles, faisables différemment. Je suis donc ouvert aux remarques et suggestions.

Bilan

Très chouette ! Plus précisément :

Dans les + :

  • j'ai appris plein de choses
  • mon besoin est plutôt bien rempli, je peux avoir des fichiers audio vraiment très bons
  • la qualité est vraiment chouette, c'est vraiment un outil très chouette que Coqui AI a créé (il peut faire bien plus que ce pour quoi je l'ai utilisé)

Dans les - :

  • Coqui AI qui n'a pas tenu : je trouve ça très dommage pour eux, même s'ils laissent un outil que je trouve génial en opensource
  • le modèle XTTSv2 a une licence particulière, en bref c'est totalement gratuit pour un usage qui ne génère pas de revenu (c'est mon cas, donc ça me va)
  • c'est gourmand en ressources, et pas super rapide (3-5 minutes pour lire une lettre d'une page, pas très longue, sur mon laptop), mais pour moi c'est acceptable
  • suivant les PDFs, il peut y avoir pas mal de caractères parasites (ça dépend de la conversion en texte)
  • c'est inhérent à l'IA générative, mais le résultat varie d'un lancement à l'autre, et il y a parfois des hallucinations (sous forme d'ajouts compréhensibles ou non à la fin de l'audio)
  • des difficultés pour ce qui est des sigles / acronymes qu'il essaie de prononcer (genre dans "linuxFR", ou bien "GNU/Linux")
  • j'ai dû pas mal tâtonner pour obtenir ce que je voulais (le journal représente la version épurée du parcours 😉)

Commentaires : voir le flux Atom ouvrir dans le navigateur

  •  

Amazon va autoriser les ebooks sans DRM en EPUB et PDF sur Kindle

Amazon vient d’annoncer un truc qui va faire plaisir à tous les lecteurs d’ebooks. A partir du 20 janvier 2026, les auteurs auto-édités pourront proposer leurs ebooks sans DRM en formats EPUB et PDF via la plateforme KDP (Kindle Direct Publishing). Vous pourrez enfin télécharger vos achats dans un format lisible ailleurs que sur Kindle et ça, ça fait plaisir parce que DeDRM ça commençait à bien faire ^^.

Toutefois, cette décision d’activer ou non le DRM reste entre les mains des auteurs et vu les réactions sur les forums KDP, beaucoup risquent de garder les verrous en place. Pour les titres déjà publiés, rien ne change automatiquement et les auteurs qui le souhaitent devront se connecter au portail KDP et modifier manuellement les paramètres de chaque livre s’ils veulent proposer les versions sans DRM. Et Amazon dans sa grande bonté, prévient que les modifications prendront jusqu’à 72 heures pour être effectives…

Donc si vous désactivez le DRM sur vos ouvrages, tous les acheteurs vérifiés pourront télécharger les fichiers EPUB et PDF. Et si vous réactivez le DRM plus tard, les nouveaux téléchargements dans ces formats seront bloqués. Rassurez-vous quand à vos royalties, elles restent identiques dans les deux cas.

Ce qui est dingue dans cette histoire, c’est qu’Amazon renforce en parallèle le DRM sur ses liseuses Kindle de 11e et 12e génération. Une mise à jour récente a en effet introduit un nouveau système de protection qui empêche les utilisateurs de sauvegarder leurs ebooks, sauf en jailbreakant l’appareil. Ils ont aussi supprimé la possibilité de télécharger et transférer des livres via USB.

Du coup, d’un côté Amazon ouvre une porte aux formats ouverts pour les auteurs indépendants, et de l’autre ils cadenassent encore plus leur écosystème Kindle pour les éditeurs traditionnels. La grande majorité des livres sur le Kindle Store restera donc protégée par DRM…

Bref, pour les lecteurs qui jonglent entre différentes plateformes (Apple Books, Google Play, Kobo et j’en passe), ça pourrait quand même faciliter les choses puisque vous pourrez importer vos achats KDP sans protection dans la liseuse de votre choix.

Mais encore faut-il que les auteurs jouent le jeu ? On verra bien !

Source

  •  

Nano-PDF - Éditez vos PDF grâce à l'IA Nano Banana

Modifier un PDF, c’est toujours la galère surtout si c’est un PDF avec que des images sans texte sélectionnable. Soit vous avez Adobe Acrobat qui coûte une couille, soit vous vous tapez des outils en ligne douteux, soit vous exportez en Word et vous priez pour que la mise en page survive. Bref, vous faites vos trucs de losers….

Mais ça c’était sans compter sur Nano-PDF qui propose une approche radicalement différente : Vous décrivez ce que vous voulez changer en langage naturel, et l’IA se chargera du reste.

Par exemple, si vous avez une présentation PDF avec une faute de frappe sur la slide n°5, au lieu de galérer avec un éditeur, vous tapez juste

`nano-pdf edit ma_presentation.pdf 5 "Corrige la faute sur le mot 'investisement'"`

Et hop, c’est réglé. Vous voulez mettre à jour un graphique avec les données de 2025 ? Pareil, vous décrivez le changement et l’outil se débrouille !

Nano-PDF utilise le modèle Gemini 3 Pro Image de Google (surnommé “Nano Banana Pro”) pour interpréter vos instructions et générer les modifications visuelles. Le workflow technique est d’ailleurs bien fichu puisque les pages PDF sont converties en images via Poppler , envoyées au modèle avec votre prompt, puis les images générées sont reconverties en PDF avec une couche de texte restaurée par OCR via Tesseract. Du coup, vos PDF restent sélectionnables et cherchables après modification, contrairement aux solutions qui vous filent des images aplaties.

Côté fonctionnalités, y’a pas mal de choses sympas. Vous pouvez par exemple éditer plusieurs pages en une seule commande, créer de nouvelles slides qui respectent le style visuel de votre deck existant, même utiliser des pages de référence pour que l’IA comprenne mieux votre charte graphique, et le traitement par lot est géré en parallèle pour gagner du temps sur les grosses présentations.

L’installation passe par pip avec

`pip install nano-pdf`

Et comme je vous le disais, il vous faudra aussi Poppler pour le rendu PDF et Tesseract pour l’OCR. Et attention, petit détail qui a son importance, l’API Gemini Pro Image nécessite un compte payant. Faudra sortir la thune car les clés gratuites ne permettent pas de générer des images… donc bon, prévoyez quelques euros de crédit Google Cloud si vous voulez tester.

Le truc cool, c’est par défaut c’est du 4K en résolution, mais vous pouvez descendre en 2K ou 1K si vous voulez économiser sur les coûts d’API. Y’a aussi une option --use-context qui envoie tout le texte du PDF au modèle pour qu’il comprenne mieux le contexte de vos modifications. Et si vous créez une nouvelle slide, cette option est activée par défaut pour que le résultat soit cohérent avec le reste du document.

Voilà, si vous passez votre vie à modifier des présentations PDF et que vous en avez marre des workflows à rallonge, installez Nano-PDF . C’est open source sous licence MIT, et ça change la vie !

Merci Lorenper pour le partage !

  •