За проекта
comprimirunpdf се разработва и поддържа от Robert Bzia. Това е независим проект, без компания зад него и без инвеститори: един инструмент, който прави едно нещо.
Защо съществува
Почти всички инструменти за компресиране на PDF решават грешния проблем. Компресират „колкото могат“ и ви връщат файл с някакъв произволен размер. Но когато формуляр отхвърли документа ви, проблемът не е, че е голям, а че е по-голям от конкретна стойност —2 МБ, 5 МБ, 500 КБ— и трябва да слезете под нея.
Затова тук се започва наобратно: вие задавате максималния размер, а инструментът опитва отново и отново, докато го постигне. Ако не успее, ви го казва, вместо да ви върне нещо, което също не ви върши работа.
Защо нищо не напуска браузъра ви
Второто решение в дизайна следва от първото. Инструментът за компресиране на PDF получава точно документите, които никой не иска да дава на непознат: лични документи, фишове за заплата, договори, медицински епикризи. Начинът да не ги излагате на риск не е да обещаете, че ще бъдат изтрити от сървъра след час, а изобщо да не ги изпращате.
Цялата обработка се извършва в раздела, с мощността на собственото ви устройство. Това има необичайно и много удобно следствие: след първото посещение инструментът работи и без връзка. Можете да проверите това сами, а на страницата за поверителност обясняваме точно как.
Как е направен
Всяка страница на PDF файла се изчертава с pdf.js върху платно в паметта, кодира се като JPEG изображение и документът се сглобява наново с pdf-lib. Процесът се повтаря, като се намаляват резолюцията и качеството, докато целта бъде постигната, а когато е постигната със запас, качеството отново се повишава, за да се доближи до желания размер отдолу и да се загуби минимално.
Всичко това работи в Web Worker — отделна нишка, и затова интерфейсът продължава да реагира, докато се компресира файл от десетки мегабайта.
Цената, казана направо: след растеризирането текстът в PDF файла вече не може да се маркира и търси. Ако трябва да го запазите, този инструмент не е подходящ за вашия случай.
Контакт
Подготвяме адрес за въпроси, сигнали за грешки и предложения. Дотогава правната информация за проекта е в раздела правна информация.