O projektu
comprimirunpdf razvija i održava Robert Bzia. To je neovisan projekt, bez tvrtke i bez ulagača: jedan alat koji radi jednu stvar.
Zašto postoji
Gotovo svi alati za kompresiju PDF-a rješavaju pogrešan problem. Komprimiraju „koliko mogu” i vrate vam datoteku proizvoljne veličine. No kad obrazac odbije vaš dokument, problem nije u tome što je velik, nego u tome što je veći od određene brojke —2 MB, 5 MB, 500 KB— a vi morate ostati ispod nje.
Zato se ovdje kreće obrnuto: vi zadajete najveću veličinu, a alat ponavlja pokušaje dok je ne postigne. Ako ne može, kaže vam to umjesto da vam vrati nešto što vam ionako ne koristi.
Zašto ništa ne izlazi iz vašeg preglednika
Druga odluka u dizajnu proizlazi iz prve. Alat za kompresiju PDF-a dobiva upravo one dokumente koje nitko ne želi predati neznancu: osobne iskaznice, platne liste, ugovore, medicinske nalaze. Način da ih se ne izloži nije obećanje da će se s poslužitelja izbrisati za sat vremena, nego da ih se nikad ne pošalje.
Sva se obrada odvija unutar kartice, snagom vašeg vlastitog uređaja. To ima neuobičajenu i vrlo praktičnu posljedicu: nakon prvog posjeta alat radi i bez internetske veze. Možete to i sami provjeriti, a na stranici o privatnosti točno objašnjavamo kako.
Kako je izrađen
Svaka se stranica PDF-a pomoću pdf.js iscrtava na platnu u memoriji i kodira kao JPEG slika, a dokument se ponovno sastavlja pomoću pdf-lib. Postupak se ponavlja uz smanjivanje rezolucije i kvalitete dok se ne postigne cilj, a kad se postigne s rezervom, kvaliteta se ponovno podiže kako bi se tražena veličina dosegnula odozdo, uz što manji gubitak.
Sve se to izvodi u zasebnoj niti, Web Worker, zbog čega sučelje i dalje reagira dok se komprimira datoteka od nekoliko desetaka megabajta.
Cijena, bez uljepšavanja: nakon rasterizacije tekst u PDF-u više se ne može označiti ni pretraživati. Ako ga trebate zadržati, ovaj alat nije prikladan za vaš slučaj.
Kontakt
Pripremamo adresu za kontakt za pitanja, pogreške i prijedloge. Do tada su pravne informacije o projektu u pravnim napomenama.