JODPF — skvelý PDF prehliadač s pár „ale“

Dnes | 17:17 | Richard | Richard

Prehliadačov PDF súborov je habadej. Niektoré sú extréme ľahké (MuPDF), iné vybavené mnohými dodatočnými funkciami (Okular), niektoré dokážu pdf-ka len zobraziť a niektoré aj poznámkovať a pod. A na pole vybavených programov vstupuje aj JOPDF. Je dozaista skvelý, ale má aj niekoľko „ale“. O tých si povieme neskôr.

Výrazné pozitíva

JOPDF (všetko verzálkami) je univerzálny bezplatný (ale nie slobodný!) editor a prehliadač PDF súborov pre systémy Windows, macOS a linux, navrhnutý tak, aby uľahčil, zjednodušil a urýchlil prácu s PDF súbormi.

Nepoznal som ho, ale vďaka užívateľovi Gejzovi v diskusii pod článkom „PDF - výstrižky z viacerých pdf strán spoj do jedinej stránky“ som ho začal registrovať, stiahol si ho, vyskúšal a plne rozumiem jeho spokojnosti.

Akoby aj nie, keď dokáže tieto veci (ktoré sa v jednom programe len tak nevidia):

Prehliadanie
Je rýchle. Skutočne. Rýchlejšie ako napríklad v qpdfview alebo Foxit Reader. Samozrejme: zoom, otáčanie, full-screen.

Editovanie
Dokáže pridávať vlastný text, vyznačovať, vkladať obrázky, linky. Tiež vkladať aj predvolené obrázky (pečiatky). Taktiež dokáže komprimovať pdf súbor (teda skomprimovať vložené obrázky).

Konverzia
Pomocou externých nástrojov dokáže (obmedzene, s pochopiteľnými chybami) konvertovať do .docx, .xlsx, .pptx, a tiež ako sústavu obrázkov (od 72 do 600 DPI).

Anotácia
Ako poznáme aj z iných programov: vyznačovanie textu farbami, podčiarkovanie, kreslenie perom, vkladanie textu, poznámok. Toto všetko je veľmi jednoducho a dobre urobené.

Organizovanie strán
Silný nástroj: Umožní jednotlivé alebo viacero označených stránok otáčať, presúvať (meniť poradie), vystrihovať. Dokonca deliť stránky na viac častí, meniť veľkosť strán.
Tu musíme zložiť autorom pochvalu, robí sa s tým príjemne, je to priamočiare a rýchle.

Ochrana
Umožňuje chrániť PDF heslom, prípadne heslo z dokumentu odstrániť.

Samé skvelé veci, povie si nejeden. Škoda len, že je tu niekoľko výrazných „ale“. Ktoré niekomu môžu prekážať viac a niekomu menej a niekomu vôbec nie.

Poďme si ich opísať.

Nedostatky a „nedostatky“

Tie úvodzovky som dal preto, lebo každý máme inú citlivosť na rôzne aspekty. Alebo hoci aj na čili.

Mne sa ale nepáčia tieto veci:

EULA

Nemesis slobody. EULA, t.j. licenčné ujednanie. Táto konkrétne má tieto nepekné veci, nekompatibilné s našim nazeraním na slobodu softvéru. Vyberám z nej, ale nech si názor spraví každý sám:

Používateľ nesmie najmä:

Distribúcia programu

Program sa dá stiahnuť z tejto podstránky. Verzia pre linux je distribuovaná iba ako .deb balíček. Teda v zhode s licenciou iba tento binárny blob. Od toho sme si už odvykli, no nie?

Kto je odvážny, tak ho len tak nainštaluje, napríklad pomocou gdebi. Ja som radšej balíček rozbalil a zistil som, že podstatou je binárka s názvom JOPDF. Tá sa dá spustil napr. vo firejail (to je nástroj, ktorý umožňuje spúšťanie aplikácií v izolovanom prostredí, umožňuje aplikáciám obmedziť prístup k systémovým prostriedkom a súborom). To by šlo.

Okrem toho program používa dodatočných (cca) 120 knižníc, ale hľadá/používa ich relatívne k binárke, takže ich nemusíme, ak nechceme, zahrnúť medzi systémové knižnice operačného systému.

Konvertory a iné

Ak používateľ zatúži po spomínanej konverzii PDF do iných formátov, tak program JOPDF si s povolením stiahne z adresy https://cdn.jopdf.com/tool/pdf-linux-x64_v....zip ďalšie programy a schová ich do ~/.local/share/JODPF. Pekných 470 MB. Prečo tak veľa? Pretože sú (a vlastne celý program) naprogramovaný v Jave a program, asi kvôli spoľahlivej prenositeľnosti, si stiahne aj Java Runtime Environment (JRE) vo verzii 17 (cca 135 MB). A k tomu samozrejme aj všetky ostatné programy, ako .jar súbory. A ponechá na disku aj onen .zip súbor, ale ten možno zmazať, takže to celkovo bude okolo 290 MB.

Veľa? Málo?

Integrácia do OS

Java spôsobuje, že program má vlastný dizajn a vlastný grafický toolkit (ale už nie ten prastarý metal), ktorý je odlišný od GTK či QT. Užívatelia Windows sú zvyknutí, že „každá ves, iný pes“. Macos 26 má tiež svoje nedostatky.

Ale úprimne, ani v linuxe sa to nie vždy podarí na 100%. Ale ak programy používajú rozšírené grafické toolkity, tak sa jednotný vzhľad naprieč OS a programami dá dosiahnuť.

Samotný dizajn je moderný — rozumej plochý, nevýrazný. Ako natruc nepoužíva ani okenné dekorácie operačného systému. Ak to človek používa len občas, tak to zrejme zvládne.

Aké sú náhrady?

No dobre, ty frfľoš, toto je všetko v jednom, čo je lepšie pre väčšinu užívateľov?

Veru nepoznám univerzálnu odpoveď. Ja osobne som doteraz fungoval s takýmito nástrojmi a bol som spokojný.

Prehliadanie

MuPDF, Doc-view v Emacse. MuPDF a MuTools sú skvelé ľahké nástroje. Iste, nemá to ani menu a podobné hračky.

Zvýrazňovanie a pod,

Tu som si zväčša poradil s Xournal. Je to šikovný program. Prípadne som niečo do pdf-ka dokreslil v minulosti i pomocou neslobodného Foxit Reader. Ale ten už na oficiálnych stránkach vývojára nefiguruje. Prinajhoršom je možné použiť Gimp, ktorý vie PDF načítať i uložiť.

Konverzia, extrahovanie textu

Tu pomôže všemocný MuTool, dostupný v repozitároch. Ten dokáže konvertovať do obrázkových formátov, extrahovať text i obrázky, spájať viac pdf-iek do jedného (mnohé z toho dokáže i známy pdftk).

Na extrahovanie, výmenu, otáčanie strán možno použiť i grafický otvorený program PDFSam.

Ochrana heslom

Ja používam funkcie v Emacse, ktoré zastrešuje pdftk:

  (defun sr-decrypt-pdf (&optional arg)
  "Decrypt PDF using pdftk."
  (interactive "p")
  (let ((pass-query (read-from-minibuffer "Enter PDF password to decrypt: " ())))
    (shell-command (concat "pdftk " (thing-at-point 'filename) " input_pw " (format " %s " pass-query) "output "
                           (substring (thing-at-point 'filename) 0 -4) "-decrypted.pdf"))))

(defun sr-encrypt-pdf (&optional arg)
  "Encrypt PDF using pdftk."
  (interactive "p")
  (let ((pass-query (read-from-minibuffer "Enter PDF password to encrypt: " ())))
    (shell-command (concat "pdftk " (thing-at-point 'filename) " output "
                           (substring (thing-at-point 'filename) 0 -4) "-encrypted.pdf user_pw " (format " %s " pass-query)))))

Kompresia

Tu sa dá použiť konzolový gs alebo grafický program Densify.

(defun sr-compress-pdf ()
  "Compress PDF using gs."
  (interactive)
  (progn
    (shell-command (concat "gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile=compressed-output.pdf " (thing-at-point 'filename) "  >/dev/null 2>&1 & "))))


(defun sr-grayscale-pdf ()
  "Make grayscale PDF using gs."
  (interactive)
  (progn 
    (shell-command (concat "gs -sDEVICE=pdfwrite -sProcessColorModel=DeviceGray -sColorConversionStrategy=Gray -dOverrideICC=true -o grayscaleOutput.pdf " (thing-at-point 'filename) "  >/dev/null 2>&1 & "))))

Ďalšie

Na orezanie strán používam Briss. A ďalší „švajčiarsky nožík“: jPDFTweak.

Na odstránenie metadát je vhodný program Mat2. Dostupný i repozitároch pod názvom (iba) mat.

Záver

JOPDF je výborný program. Má oné spomínané muchy, ale myslím, že väčšina ľudí ich prehliadne kvôli ponúkanému komfortu. To je bezpochyby príjemné, ale práve nepohoda a nepokoj je motivačným zdrojom a dôvodom na napredovanie. Aj keď — ide len o PDF, nie o civilizačný pokrok 😏.

Prílohy