# Triturer ses PDF à la ligne de commande Cette publication est issue de [[https://pad.caldarium.be/pdf?edit|l'atelier .pdf du di 16 mai 2021]]. ## Installe tes paquets ``` sudo apt-cache policy poppler-utils (1) Installé : 0.71.0-5 sudo apt-cache policy ghostscript (2) Installé : 9.27~dfsg-2+deb10u4 sudo apt-cache policy pdftk (3) Installé : 2.02-5 sudo apt-cache policy tesseract-ocr Installé : 4.0.0-2 sudo apt-cache policy tesseract-ocr-fra Installé : 1:4.00~git30-7274cfa-1 ``` **Éventuellement :** xournal : annoter livrer, ou compléter un questionnaire, y coller une signature et réimprimer mupdf : visionner un pdf, même s'il n'est pas tout à fait standard et 'un peu tronqué' ## Je vois à l'intérieur… ``` pdfdetach -list pdfdetach -saveall ``` (pdfattach) ``` pdfinfo pdfinfo -h #pour afficher l'aide ``` ## J'allège gs, pour alléger le fichier 3 niveaux de qualité : /screen /ebook /printer ``` gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dBATCH -sOutputFile=file.pdf origine.pdf ``` ## Pour alléger, je coupe et recolle ``` pdftk myfile.pdf cat 1-11 13-30 output myfileRaboté.pdf pdftk myfile.pdf cat 59-end output myfilePart.pdf pdftk in1.pdf in2.pdf cat output out1.pdf ``` ## Je transmute en txt ``` pdftotext -layout eticket_vaccin_2.pdf etick2.txt pdftocairo fichier.pdf -tiff -gray tesseract fichier-002.tif fichier-002 -l fra (-l eng+deu+fra+ita) ``` Rassembler tous les (noms de) fichiers image en un seul fichier ``` ls fichier-*.tif > fichier.txt ``` Scanner le tout en un seul fichier ``` tesseract -l fra fichier.txt fichier-ocr txt ``` Ou (re-)générer un pdf : ``` tesseract -l fra fichier.txt fichierocr pdf ``` ## Ou le contraire ! supprimer la couche txt ``` pdftocairo -png your.pdf # pdftocairo is from the poppler package and will render all PDF pages to PNG convert *.png out.pdf # join all PNGs into a single PDF file, from imagemagick ``` ## Méta données ``` pdfinfo manuel.pdf exiftool BigPDF100Mo.pdf pdftk manuel.pdf dump_data_utf8 output meta.txt nano meta.txt pdftk manuel.pdf update_info_utf8 meta.txt output manuel_modifié.pdf ``` ## Références * https://wiki.debian.org/PDF * https://riptutorial.com/pdf/example/18250/pdftk-server-for-pdf-manipulation * https://www.geeksforgeeks.org/installing-and-using-exiftool-on-linux/ * https://papy-tux.legtux.org/ * https://doc.ubuntu-fr.org/tesseract-ocr * https://linuxfr.org/users/ploum/journaux/scanner-et-ocr-sans-passer-par-le-cloud#comment-1843232 * https://tesseract-ocr.github.io/tessdoc/ ## train yr tesseract 4 ## digg ? ``` cat /usr/share/applications/mimeinfo.cache | grep pdf application/pdf=org.gnome.Evince.desktop;inkscape.desktop;libreoffice-draw.desktop;xpdf.desktop;xournal.desktop;calibre-ebook-viewer.desktop;mupdf.desktop;calibre-gui.desktop;gimp.desktop; apropos pdf >> apropospdf apt-cache show pdf* >> showpdf ``` ## Matos pdf lourdingue à autopsier ? Pains Gourmands - 50 Recettes simples et creatives.pdf\\ ! Camille Lavrat - Trucs et astuces de A a Z BRICO\\ (recherche sur 'cuisine', y'a qques autres lourds) ## Autres outils dispo ``` apt-cache pkgnames pdf pdfarranger, xpdf, qpdf, pdfShuffler… ``` ``` pdftk BigPDF100Mo.pdf cat 1 5 7 9-10 12-16 18 21-26 28-34 36-44 46-48 50 52-54 58-60 62-64 68-70 72-74 76 78-80 82 85-104 114-116 118 120 122 124-126 128 130 132-146 148-156 158-160 output SmallerPDF.pdf pdftk MyMagazine.pdf cat 8 output MyMagazinep.8.pdf ocrmypdf -l fra MyMagazinep8.pdf MyMagazinep8-ocr.pdf --psm N pdftotext -layout MyMagazinep8-ocr.pdf MyMagazinep8.txt pdftocairo MyMagazinep.pdf -ps (fausse piste ?) pdftocairo MyMagazinep.pdf -tiff -gray ## dès maintenant, page par page tesseract MyMagazinep-007.tif MyMagazinep-007 -l fra ```