Оффтоп Daria Khokhlova
5 288

Инструмент из России: PDF.io — набор веб-сервисов для работы с PDF-файлами

Основатель студии разработки Site by Site Михаил Кашафутдинов рассказал на своей странице в Facebook о новом проекте — наборе инструментов для работы с PDF-файлами PDF.io.

С помощью PDF.io можно сжимать PDF-файлы, объединять несколько файлов в один или, наоборот, дробить крупный файл на части, конвертировать форматы, разворачивать страницы документа и производить другие операции.

Сервис работает только в десктопных браузерах, работу над ним Кашафутдинов вёл более шести месяцев. Проект локализован на русский и английский языки, но, по словам предпринимателя, вскоре пользователям окажутся доступны ещё 12 языков. Разработчик также планирует внедрить новую функциональность — например, преобразование из растрового формата PDF в векторный.

{ "author_name": "Daria Khokhlova", "author_type": "editor", "tags": [], "comments": 31, "likes": 14, "favorites": 1, "is_advertisement": false, "subsite_label": "flood", "id": 21439, "is_wide": true }
00
дни
00
часы
00
мин
00
сек
(function(){ var banner = document.querySelector('.teaserSberbank'); var isAdsDisabled = document.querySelector('noad'); if (!isAdsDisabled){ var countdownTimer = null; var timerItem = document.querySelectorAll('[data-sber-timer]'); var seconds = parseInt('15388' + '59599') - now(); function now(){ return Math.round(new Date().getTime()/1000.0); } function timer() { var days = Math.floor(seconds / 24 / 60 / 60); var hoursLeft = Math.floor((seconds) - (days * 86400)); var hours = Math.floor(hoursLeft / 3600); var minutesLeft = Math.floor((hoursLeft) - (hours * 3600)); var minutes = Math.floor(minutesLeft / 60); var remainingSeconds = seconds % 60; if (days < 10) days = '0' + days; if (hours < 10) hours = '0' + hours; if (minutes < 10) minutes = '0' + minutes; if (remainingSeconds < 10) remainingSeconds = '0' + remainingSeconds; if (seconds <= 0) { clearInterval(countdownTimer); } else { timerItem[0].textContent = days; timerItem[1].textContent = hours; timerItem[2].textContent = minutes; timerItem[3].textContent = remainingSeconds; seconds -= 1; } } timer(); countdownTimer = setInterval(timer, 1000); } else { banner.style.display = 'none'; } })();
{ "id": 21439, "author_id": 5723, "diff_limit": 1000, "urls": {"diff":"\/comments\/21439\/get","add":"\/comments\/21439\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/21439"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199791 }

31 комментарий 31 комм.

Популярные

По порядку

Написать комментарий...
13

Давно пользуюсь конвертером Smallpdf.com. Очевидных преимуществ в новом сайте пока что не заметил.

Ответить

Комментарий удален

2

Моднявый домен. Импортозамещение. =)

Ответить
0

Плюсую за сервис. Тоже давно им пользуюсь.

Ответить
5

Опечаточка на главной =)

Ответить

Комментарий удален

6

Домен годный)

Ответить
6

Спасибо большое за публикацию. Сервис, если честно, пока работает в тестовом режиме, но в ближайшее время все доведу до ума!

Ответить
0

Будем конкурировать значит http://take.ms/tjmYb :-)

Ответить

Комментарий удален

1

Спасибо! Да, продукт ещё очень сырой, много недоработок. Но, как говорится: "главное ввязаться в бой" :)

Ответить
1

Авторы, ау, из раза в раз одни и те же продуктовые ошибки.

1) как с вами должны связываться пользователи? даже email нет, обратная связь для вас все.

2) Я не сколько не умоляю тот функционал что вы сделали, но мой опыт говорит, что сервис должен должен решать проблемы ПОЛЬЗОВАТЕЛЕЙ.

А какая проблема у пользователей при работе с PDF?

Что то стереть или отредактировать.

Все остальные фитчи вторичны.

Ответить
1

Ну вы взяли описали свои проблемы и выдаете их за вселенские)

Сервис решает свои задачи, кому-то подходит кому-то нет.

Ответить
1

Это не моя проблема, это проблема пользователяй, посмотрите популярные поисковые запросы и вам все станет ясно.

Ответить
1

Дело в том, что редактирование PDF – это не такая простая с точки зрения реализации задача, как может показаться. Поэтому я решил сначала сделать то, что проще.

Ответить
0

Не все сразу)

Ответить
1

Отличный проект!

Ответить
1

Есть планы касательно монетизации?

Ответить
1

Потыкал — вполне годный тул, свою функцию выполняет.

1) Интересно услышать планы по монетизации (если они есть).
2) Интересно стоимость обслуживания такого сервиса, скажем рублей на страницу.

Опубликуйте статью на Хабре с техническими деталями — специалистам будет интересно почитать, вам — реклама.

Ответить
1

Есть ли (планируются ли) какие-нибудь принципиальные отличия от ilovepdf.com, например?

Ответить

Комментарий удален

0

был файл 3.3 Мб, стал 4,22 Мб после "сжатия" ))
остальные не проверял..
но судя по отзывам выше, я уже знаю куда пойдет этот "предприниматель" )))

Ответить

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

0

Сервис отличный. Только добавить бы конвертацию из pdf в png. Jpg многих не устраивает.

Ответить
1

Понял, сделаю.

Ответить
0

Я что-то не пойму: загружаю файл PDF на сжатие размером в 16 мб, а получаю после обработки файл с 50-ю мб. Это как получается?!

Ответить
0

Стопроцентный баг. Поправлю.

Ответить
1

Удачи вам!

Ответить
0

Толковый сервис. Не хватает только конвертеров форматов FB2 и DJVU

Ответить
0

Добавим.

Ответить

Комментарий удален

0

Сейчас да, но в ближайшее время должно стать все хорошо. Не все лицензионные вопросы решены ещё.

Ответить
0

Сделайте уже кто-нибудь замену кодировки в пдф!

Ответить
0

А чем Acrobat Pro не подошел, что нужно было делать альтернативу?

Ответить
0

Acrobat Pro гораздо мощнее и лучше, это правда. Но стоит 5448 в год )

Ответить
0

.... что является низкой ценой для человека, который постоянно работает с документами. Если нужно воспользоваться функционалом раз в год - да, Acrobat Pro - это перебор.

Ответить
0

В чем преимущества? Таких сервисов куча в рунете.

Ответить

Комментарий удален

0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } } ]
Голосовой помощник выкупил
компанию-создателя
Подписаться на push-уведомления