GNU/Linux >> Linux Esercitazione >  >> Linux

Come distillare/rasterizzare un PDF in Linux

Dopo aver provato senza successo alcune opzioni per rendere i caratteri come contorni (inclusi questa domanda e pstoedit), ho trovato un modo per convertire facilmente il PDF in forma rasterizzata usando ImageMagick:

convert -density 600 +antialias input.pdf output.pdf

Questo crea un PDF reso a 600 dpi, con l'antialias disattivato (non necessario a quella risoluzione).

I file di output sono enormi (~30 MB per un documento di 8 pagine) ed estremamente lenti da stampare, ma dovrebbero funzionare finché la stampante ha memoria sufficiente per il rendering del contenuto.


Penso che il mio attuale modo preferito per farlo sia:

  1. Usa pdftoppm per convertire il file PDF in una serie di immagini.

    $ pdftoppm source.pdf output -png

  2. Usa img2pdf per creare un file pdf da quelle immagini.

    $ img2pdf *.png -o output.pdf

La buona notizia è che puoi creare uno script bash per automatizzare l'intero processo.

Ecco uno script bash che distillerà tutti i file pdf all'interno di una directory e conserverà gli originali in una nuova directory "originals".

#!/bin/bash

mkdir "originals";
for filename in ./*.pdf; do
    pdftoppm "$filename" output -png
    mv "$filename" ./originals
    img2pdf *.png "-o" "$filename"
    rm *.png
done

Crediti:risposta img2pdf e risposta pdftoppm e aiuto script bash:1 e 2

(Nota a margine) Puoi installare img2pdf usando:

$ sudo apt install img2pdf


Linux
  1. Come usare BusyBox su Linux

  2. Come installare Python su Linux

  3. Come installare Java su Linux

  4. Come partizionare un disco in Linux

  5. Come creare un video da file PDF in Linux

Come aprire un PDF nel terminale Linux Mint 20

Come unire più file PDF in un unico PDF in Linux

Come comprimere PDF in Linux [GUI e terminale]

Come convertire una pagina Web in PDF in Linux

Come convertire PDF in immagini PNG e viceversa in Linux

Come aprire un PDF in un terminale Linux