GNU/Linux >> Znalost Linux >  >> Linux

Jak destilovat / rastrovat PDF v Linuxu

Po neúspěšném vyzkoušení některých možností vykreslení písem jako obrysů (včetně této otázky a úpravy pstoedit) jsem přišel na způsob, jak snadno převést PDF do rastrované podoby pomocí ImageMagick:

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

Tím se vytvoří PDF vykreslený v rozlišení 600 dpi s vypnutým vyhlazováním (při tomto rozlišení není nutné).

Výstupní soubory jsou obrovské (~30 MB pro 8stránkový dokument) a extrémně pomalý při tisku, ale měly by fungovat, pokud má tiskárna dostatek paměti k vykreslení obsahu.


Myslím, že můj současný preferovaný způsob, jak to udělat, je:

  1. Pomocí pdftoppm převeďte soubor PDF na sérii obrázků.

    $ pdftoppm source.pdf výstup -png

  2. Pomocí img2pdf vytvořte z těchto obrázků soubor PDF.

    $ img2pdf *.png -o output.pdf

Dobrou zprávou je, že můžete vytvořit bash skript, který celý proces zautomatizuje.

Zde je bash skript, který destiluje všechny pdf soubory v adresáři a zachová originály v novém adresáři "originals".

#!/bin/bash

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

Kredity:odpověď img2pdf &odpověď pdftoppm &nápověda ke skriptu bash:1 &2

(vedlejší poznámka) Img2pdf můžete nainstalovat pomocí:

$ sudo apt install img2pdf


Linux
  1. Jak používat BusyBox na Linuxu

  2. Jak nainstalovat Python na Linux

  3. Jak používám cron v Linuxu

  1. Jak nainstalovat Javu na Linux

  2. Jak rozdělit disk v Linuxu

  3. Jak vytvořit video ze souborů PDF v Linuxu

  1. Jak převést více obrázků do PDF v Ubuntu Linux

  2. Jak extrahovat text pomocí OCR z PDF na Linuxu?

  3. Jak mohu rastrovat veškerý text v PDF?