Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Odheslování pdf pomocí GUI  (Přečteno 456 krát)

JirkaZ

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 1930
  • Dlouholetý uživatel Linuxu a open source obecně.
Odheslování pdf pomocí GUI
« kdy: 22 Ledna 2025, 19:14:39 »
Situace: mám zaheslované pdf, potřebuju ho co nejjednodušším způsobem zbavit hesla (tj. zadat heslo a znovu uložit bez něj). Zdůrazňuji, že nejde o "crack", heslo musím znát!

Hledal jsem  a všude nacházel jen mně už dříve známé postupy v konzoli přes qpdf nebo pdftk, případně tiskem z některého prohlížeče opět do pdf souboru.

qpdf v konzoli sice funguje, ale postrádá jakoukoliv eleganci, neb do příkazu je vždycky potřeba napsat vstupní soubor, výstupní soubor a heslo. To je problém zejména u většího množství různých souborů s různými hesly... Ano, zase by šel napsat nějaký jednoúčelový skript, různě měnit jména souborů atd. apod., ale dohromady by to nic moc nepřineslo.

Tisk z prohlížečů sice nějak funguje taky, ale obvykle převede text v pdf souboru na rastr, takže k ničemu. Zbývá tisk přes virtuální tiskárnu (Boomaga) a vyvedení souboru z ní do pdf, tam fonty zůstanou, ale zase Boomaga na Linux Mintu neumožňuje ono vyvedení. Nevím proč - možná jen nastavení? V Kubuntu 18.04 to jde, nezkoumal jsem blíže.

Našel jsem i nějaké pokusy o GUI třeba v Javě (už nevím, zda pro qpdf nebo pdftk), ale např. to neumělo dnes docela běžně používané 256 bit AES šifrování, takže bohužel...

Pořád jsem si říkal, že přece není možné, aby tak jednoduchá klikací věc neexistovala....a pokud ne, tak že by ji to chtělo vytvořit

No a jelikož nejsem programátor, tak jsem si vzpomněl na Zenity a ejaj (jakkoliv ji nemám rád). Zadal jsem jí:

Napiš skript pro Zenity, který:

1) vyzve k otevření pdf souboru
2) vyzve k zadání hesla
3) zavolá program qpdf
4) vyzve k uložení nově vytvořeného souboru


Odpověď přišla obratem a její obsah je v příloze (jediná věc, kterou jsem musel opravit, byla špatná čeština v některých řetězcích). No a vše funguje "na první dobrou", ve skriptu jsou dokonce i ošetřeny nestandardní stavy...

Celá věc se dá následně integrovat třeba do Krusaderu přes Uživatelské činnosti (kudy se pak spouští onen skript a lze na to mít i ikonu v nástrojové liště plus nabídku v menu vyvolaném pravým myšítkem).

Co víc si přát...

Pro méně znalé dodávám, že pro běh skriptu je samozřejmě v systému nutné mít nainstalované prostředí Zenity a program qpdf, tedy případně
Kód: [Vybrat]
sudo apt install zenitya
Kód: [Vybrat]
sudo apt install qpdf a skript musí mít příslušná práva (zejména musí být spustitelný pro uživatele).
« Poslední změna: 22 Ledna 2025, 19:19:59 od JirkaZ »

 

Provoz zaštiťuje spolek OpenAlt.