Open-source plugin

Accessibility for PDFs

WordPress plugin, ktorý automaticky zlepšuje prístupnosť PDF súborov v Media Library. OCR pre naskenované dokumenty, záložky, metadata, embedding fontov — všetko na pozadí po uploade.

GitHub → GPL-2.0 · v1.0.0

Plugin vznikol pri práci na projekte sbagency.sk — webe agentúry Ministerstva hospodárstva SR, ktorý musí spĺňať WCAG 2.2 AA. Jednou z požiadaviek bola prístupnosť všetkých PDF dokumentov zverejnených na webe.

Ručné opravovanie desiatok naskenovaných dokumentov by trvalo dni. Postavil som nástroj, ktorý to rieši automaticky — a keďže rovnaký problém majú aj iné inštitúcie a weby, urobil som z neho open-source plugin pre WordPress.

100+ jazykov Tesseract language packs

OCR pre naskenované dokumenty

Plugin automaticky detekuje PDF súbory bez selektovateľného textu a spustí Tesseract OCR. Text sa stane čitateľným pre screen readery bez manuálneho zásahu. Stránky s existujúcim textom sa preskočia.

Auto-detekcia z veľkostí písma

Záložky a navigačný outline

Ak PDF nemá navigačné záložky, plugin analyzuje veľkosti písma v dokumente a automaticky vygeneruje hierarchický outline (H1/H2/H3). Umožňuje používateľom so screen readerom skákať po sekcii.

Title / Author / Lang PDF metadata properties

Metadata dokumentu

Nastaví interný titul PDF z WordPress titulku prílohy, autora z názvu webu, predmet z popisu a jazykový atribút (sk, en, …). Čítačky obrazovky podľa jazyka vyberajú správnu výslovnosť.

Ghostscript -dEmbedAllFonts=true

Embedding fontov

Cez Ghostscript re-distilluje PDF s príznakom EmbedAllFonts. Zabraňuje situácii, keď PDF zobrazuje substitučné fonty alebo sa inak renderuje na zariadeniach bez daného fontu nainštalovaného.

WP-Cron asynchrónne na pozadí

Automatické spracovanie po uploade

Po nahratí PDF do Media Library sa automaticky naplánuje WP-Cron úloha. Upload sa okamžite dokončí — OCR a opravy prebehnú na pozadí bez blokovania admina. Status ⏳ sa zmení na výsledok.

attachment_fields_to_edit natívny WP hook

Integrácia do Media Library

Sekcia "PDF Accessibility" sa zobrazí priamo v bočnom paneli pri každom PDF súbore — tam kde kopíruješ URL alebo pridávaš alt text. Tlačidlo "Fix now" spustí opravu bez opustenia stránky.

01
Upload PDF

Admin nahráva PDF do WordPress Media Library ako zvyčajne.

02
WP-Cron zaradí úlohu

Hook add_attachment zachytí nový PDF upload a naplánuje spracovanie na pozadí (štart za 5 sekúnd).

03
Python pipeline

PHP zavolá bin/process_pdf.py cez shell_exec(). Script skontroluje PDF, spustí OCR ak treba, embedduje fonty, nastaví metadata a vygeneruje záložky.

04
Status v Media Library

Výsledok sa uloží do post meta a zobrazí priamo v paneli prílohy: ✓ Text / ✓ Záložky / ✓ sk / ✓ Fonty.

Python 3ocrmypdfPyMuPDFTesseract OCRGhostscriptWordPress HooksWP-CronPHP 8

Plugin volá systémové nástroje cez shell_exec() — nefunguje na shared hostingu. Je určený pre self-hosted WordPress na VPS, dedikovanom serveri alebo v Docker kontajneri.

Verejné inštitúcie
Samosprávy, štátne organizácie a verejné inštitúcie musia zo zákona zverejňovať prístupné dokumenty. Plugin automatizuje väčšinu manuálnej práce pri oprave existujúcich PDF.
WordPress developeri
Ak robíš weby pre klientov s množstvom PDF dokumentov, plugin sa postará o prístupnosť automaticky bez nutnosti vzdelávať klienta v ručnej oprave každého súboru.
Accessibility špecialisti
Hromadný audit cez stránku Media → PDF Accessibility ukáže stav všetkých PDF naraz. Bulk oprava jedným kliknutím — bez potreby externých nástrojov ako Adobe Acrobat.

Zaujíma ťa plugin alebo spolupráca?

Pozri zdrojový kód alebo napíš mi priamo.

GitHub → Napíš mi