Jak převést PDF soubor na obrázky a zase zpátky

Řešil jsem situaci, kdy bylo potřeba zaretušovat v naskenovaném PDF dokumentu určitá místa a publikovat ho pak na webu. Bohužel neznám nástroj, který dokáže „malovat“ do PDF dokumentu. Ale znám jiné programy, které pdfko rozeberou po stránkách, uloží jako obrázky a pak je zase složí.

V Linuxu je hodně dlouho utilita pdftoppm, ale formát obrázků ppm je nepraktický. GIMP s ním sice pracuje, ale v podstatě je to okrajová věc. Lepší by byl formát PNG nebo JPG. Zjistil jsem, že existuje docela nová utilita pdftocairo, která umí to, co starší programy, ale přidává export do PNG, JPG, SVG. Takže jsem si nechal vytvořit 15 PNG obrázků (PDF má 15 stránek):

pdftocairo -png -f 1 -l 15 vstupni-dokument.pdf vystup

Parametr -f určuje první stránku, kterou chci zpracovat, -l pak tu poslední. Slovo vystup na konci je základem pro názvy souborů, které vzniknou přidáním čísla stránky, např. vystup-09.png. Ve výsledku tedy vznikne patnáct PNG souborů s číslem v názvu.

V GIMPu jsem provedl patřičné úpravy – vymazání vybraných oblastí. Teď následuje zase složení obrázků do výsledného PDF souboru. Je to jednoduché:

convert *.png vysledek.pdf

Všimněte si, že nejsou potřeba žádné speciální parametry. Program najde soubory v číselné řadě a takto je seřadí do výsledného PDF souboru.

A to je to, proč mám rád Linux a open source.

13 komentářů u „Jak převést PDF soubor na obrázky a zase zpátky“

  1. Mám ten pocit, že convert (ImageMagick) umí i opačný směr, ale nejsem si jistý jestli by fungoval i vícestránkvý dokument. Dobrý tip.

  2. @w4rr10r> To by asi nešlo použít, mně šlo o skenovaný dokument.

    @lzap> Samotný convert to možná umí, každopádně má moc složitou nápovědu. 🙂

  3. Nerozumím. Spustím Xournal, vyberu Anotovat PDF, začmárám, co potřebuju, vyberu Exportovat do PDF a mám začmárané PDF. Pokud je to navíc skenované, nemusím řešit pdftotext (mimochodem, tady by AFAIK nepomohlo ani normální linuxové tisknutí, je nutné to násilně konvertovat do bitmapy).

  4. Jeden můj kamarád jednou udělal program, který převádí pdf plnohodnotně do docu.

  5. Hmm a co Gimp? Otevřít PDF umí, malovat do něj taky, ukládat ho taky umí… teď je jen otázka co by s tak upraveným PDF udělal PDF to TXT.

  6. @w4rr10r> Ok, pak znáš druhý způsob. Neznám Xournal.

    @Marek> Jde o sken listiny, doplnil jsem to do textu. GIMP otevře buď 15 obrázků, nebo 15 vrstev. Ani jedno neumím uložit do jednoho pdf. (Zkoušel jsem to jako první nápad.)

  7. @w4rr10r> Vaším postupem pravděpodobně získáte PDF s vrstvou s původním obrazem, a přes něj je vrstva se začmáráním. Zkušenější uživatel tedy vrchní vrstvu se začmáráním odstraní a má zase původní obraz. Tedy ne že by se občas nedalo na takhle naivně udělané začernění narazit.

  8. @Filip> To mě taky napadlo, ale asi bych to zkusil. Myslím, že v případě skenu by to bylo i na zkušenějšího uživatele dost práce.

  9. Což je ale aktuální pouze za předpokladu, že to stejně nebudu konvertovat do bitmapy kvůli pdftotext.

  10. Nemyslím, že by to odstranění „začernění“ anotací bylo moc práce – stačilo by to PDF otevřít v OpenOffice.org, v Inkscape, v Adobe InDesignu, nebo možná jen označit ten spodní obrázek v PDF prohlížeči.

    pdftotext je jenom jeden z mnoha nástrojů, které umí s PDF pracovat. Podstatné je to, že PDF je vektorový formát, takže tam skládáte jednotlivé objekty přes sebe. Pokud chcete něco skutečně odstranit, nejde to „přemalovat“ jako v bitmapovém editoru, ale musíte skutečně odstranit příslušný text nebo upravit bitmapu (pokud je to např. vložený sken).

Komentáře nejsou povoleny.