Despre proiect
comprimirunpdf este dezvoltat și întreținut de Robert Bzia. Este un proiect independent, fără vreo firmă și fără investitori în spate: un singur instrument care face un singur lucru.
De ce există
Aproape toate compresoarele de PDF rezolvă problema greșită. Comprimă „cât pot” și îți dau înapoi un fișier de o dimensiune oarecare. Dar când un formular îți respinge documentul, problema nu e că e mare: e că depășește o cifră anume —2 MB, 5 MB, 500 KB— și trebuie să cobori sub ea.
De aceea aici se pornește invers: tu stabilești dimensiunea maximă, iar instrumentul face încercări succesive până o atinge. Dacă nu reușește, îți spune asta în loc să-ți dea ceva care nu-ți folosește nici el.
De ce nimic nu iese din browserul tău
A doua decizie de proiectare decurge din prima. Un compresor de PDF primește exact documentele pe care nimeni nu vrea să le dea unui necunoscut: acte de identitate, fluturași de salariu, contracte, rapoarte medicale. Calea de a nu le expune nu e să promiți că vor fi șterse de pe server într-o oră, ci să nu le trimiți niciodată.
Toată procesarea are loc în filă, cu puterea propriului tău dispozitiv. Asta are o consecință neobișnuită și foarte comodă: după prima vizită, instrumentul funcționează și offline. Poți verifica singur, iar pe pagina de confidențialitate explicăm exact cum.
Cum este construit
Fiecare pagină a PDF-ului este desenată cu pdf.js pe o pânză în memorie, codificată ca imagine JPEG, iar documentul este reasamblat cu pdf-lib. Procesul se repetă, coborând rezoluția și calitatea până se atinge ținta, iar când o atinge cu marjă, crește din nou calitatea ca să se apropie de dimensiunea cerută de dedesubt, pierzând cât mai puțin.
Totul rulează într-un Web Worker, un fir de execuție separat, și de aceea interfața continuă să răspundă în timp ce se comprimă un fișier de zeci de megaocteți.
Compromisul, spus pe față: prin rasterizare, textul nu mai poate fi selectat și căutat în PDF. Dacă ai nevoie să-l păstrezi, acest instrument nu e potrivit pentru cazul tău.
Contact
Pregătim o adresă de contact pentru întrebări, erori și sugestii. Până atunci, informațiile legale ale proiectului se găsesc în mențiunile legale.