URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 95960
[ Назад ]

Исходное сообщение
"Google открыл исходный код PDF-движка Chrome"

Отправлено opennews , 22-Май-14 20:19 
Компания Google открыла исходные тексты проекта PDFium (https://code.google.com/p/pdfium/), в рамках которого развивается движок для отображения и обработки документов в формате PDF, а также сопутствующий комплект для разработчиков (FPDF SDK (https://pdfium.googlesource.com/pdfium/+/master/fpdfsdk)), позволяющий задействовать движок в своих проектах. Код проекта написан на языке Си++ и распространяется (http://pdfium.googlesource.com) под лицензий BSD.


Судя по присутствующему (https://pdfium.googlesource.com/pdfium/+/master/core/src/fpd... во всех исходных файлах примечанию и списку коммиттеров (https://code.google.com/p/pdfium/people/list), движок основан на коде, созданном компанией Foxit Software (http://www.foxitsoftware.com), развивающей популярный проприетарный продукт для просмотра PDF -  Foxit Reader (http://ru.wikipedia.org/wiki/Foxit_Reader). Отдельно стоит отметить, что PDFium использует (https://pdfium.googlesource.com/pdfium/+/master/core/src/fxg... геометрическую библиотеку AntiGrain (http://antigrain.com/), автором которой является Максим Шеманарев, погибший (http://rsdn.ru/forum/life/5377743.flat) год назад. Компания Google намерена включить PDFium в состав браузера Chromium, чтобы поддержать функциональный паритет с браузером Chrome. С точки зрения производительности и качества поддержки PDF, PDFium превосходит написанный на JavaScript просмотрщик PDF.js (https://github.com/mozilla/pdf.js), интегрированный (http://www.opennet.me/opennews/art.shtml?num=36156) в Firefox.


URL: https://news.ycombinator.com/item?id=7781878
Новость: http://www.opennet.me/opennews/art.shtml?num=39838


Содержание

Сообщения в этом обсуждении
"Google открыл исходный код PDF-движка Chrome"
Отправлено Crazy Alex , 22-Май-14 20:19 
О, отлично. Фокситовский движок весьма хорош и шустр, если его можно будет использовать в открытых проектах - это жирный плюс.

"Google открыл исходный код PDF-движка Chrome"
Отправлено Vkni , 22-Май-14 22:15 
> О, отлично. Фокситовский движок весьма хорош и шустр, если его можно будет
> использовать в открытых проектах - это жирный плюс.

И ещё он будет избавлен от уязвимостей (см. недостатки xpdf, acroread).


"Google открыл исходный код PDF-движка Chrome"
Отправлено Crazy Alex , 23-Май-14 03:06 
Поглядим, как там с уязвимостями - но, учитывая, что код весьма неплох, плюс гугловская оплата за баги - думаю, особых ужасов ждать не приходится.

"Google открыл исходный код PDF-движка Chrome"
Отправлено Vkni , 23-Май-14 08:59 
Всё-таки, в отличие от других PDF-движков этот сразу планируется встраивать в браузер, т.е. обрабатывать им данные из недоверенных источников. Ну и культура написания защищённых программ у Гугеля значительно лучше, чем у Адобы.

"Google открыл исходный код PDF-движка Chrome"
Отправлено Аноннннн , 23-Май-14 05:08 
ТОка печатает безобразно

"Google открыл исходный код PDF-движка Chrome"
Отправлено Аноним , 24-Май-14 10:08 
> ТОка печатает безобразно

Как самокритично!


"Google открыл исходный код PDF-движка Chrome"
Отправлено Аноним , 22-Май-14 20:28 
Было бы хорошо, если бы мозильщики забили на свой JS-горбыль, который истошно жрет проц по 2 минуты и юзали вот это.

"Google открыл исходный код PDF-движка Chrome"
Отправлено Аноным , 22-Май-14 20:42 
Зато безопасно

"Google открыл исходный код PDF-движка Chrome"
Отправлено Vkni , 22-Май-14 22:15 
> Зато безопасно

Если не считать DOS (подвисание браузера) за уязвимость.


"Google открыл исходный код PDF-движка Chrome"
Отправлено Аноним , 22-Май-14 22:28 
это всего лишь самовнушение.

"Google открыл исходный код PDF-движка Chrome"
Отправлено Аноним , 24-Май-14 10:10 
> Зато безопасно

А если компьютер не подключать к питанию - тогда вообще станет зашибись. Если программой невозможно пользоваться - при этом уже не так важно какая она там мегабезопасная.


"Google открыл исходный код PDF-движка Chrome"
Отправлено Хрен с горы , 22-Май-14 21:03 
>свой JS-горбыль, который истошно жрет проц по 2 минуты

ЛОЛШТО?
http://arewefastyet.com/


"Google открыл исходный код PDF-движка Chrome"
Отправлено Lain_13 , 22-Май-14 22:43 
ЛОЛТО. Это у тебя сравнение JS-движков, а не производительности pdf.js и PDFium. Разницу понимаешь?

"Google открыл исходный код PDF-движка Chrome"
Отправлено Аноним , 24-Май-14 10:14 
> ЛОЛШТО?

Лолто. Это у...ще нисколько не сомневаясь будет перегонять весь PDF на 500 страниц в JS, пыхтя две минуты. Эти две минуты проц положен в полку, а интерфейс браузера будет клинить. Сколько оно памяти при этом съест - понятно, думаю. На большом может влегкую пойти на многие гигабайты.

Особенно хорошо когда ты в первые же 15 секунд понимаешь что этот электронный компонент тебе в принципе не годится по одному из ключевых параметров, например. Такая эффективность работы - 2 минуты ффтыкания на экран чтобы за 15 секунд понять что этот пдфник мне вообще не нyжен.

Мало того что писали на тормозном JS, так еще выбрали максимально идиoтскую стратегию рендеринга "а давайте все и сразу попробуем зарендерить, все 500 страниц!"


"Google открыл исходный код PDF-движка Chrome"
Отправлено Аноним , 25-Май-14 14:36 
А отключить встроенный просмотрщик руки отваливаются?

"Google открыл исходный код PDF-движка Chrome"
Отправлено Аноним , 25-Май-14 21:05 
> А отключить встроенный просмотрщик руки отваливаются?

Ну да, выходя на улицу не забудь одеть противогаз, напялить каску, убедись что взял бронежилет и костюм химзащиты. И миноискатель главное не забудь. Вдруг какой-нибудь добрый человек перекладывал асфальт? Для вашего же блага!


"Google открыл исходный код PDF-движка Chrome"
Отправлено Аноним , 23-Май-14 07:06 
Для нытиков, идём в about:config
pdfjs.disabled;true. Теперь скачиваем pdf и смотрим в том, чём нравится

"Google открыл исходный код PDF-движка Chrome"
Отправлено Crazy Alex , 23-Май-14 14:36 
Собственно, даже about:config не нужен, settings->applications - и выбираем для pdf нужный вариант. Но идея Мозиллы менее загадочной от этого не становится.

"Google открыл исходный код PDF-движка Chrome"
Отправлено rain87 , 23-Май-14 16:28 
просто она работает. да, у меня и7 и я не дрочу на индикатор загрузки проца

"Google открыл исходный код PDF-движка Chrome"
Отправлено Аноним , 24-Май-14 10:17 
> индикатор загрузки проца

Ффтыкать по 2 минуты в сильно тормозящий браузер - удовольствие ниже среднего. Оно конечно работает, но вопрос в том как. Мало того что JS сам по себе тормоз, так они еще выбрали максимально глупую и недружественную к пользователю стратегию рендеринга - рендерить сразу весь документ при попытке открытия. Более вменяемые вьюшки рендерят по мере мотания документа. И при том прорисовывают документ быстрее и лучше чем этот кусок гуано от мозиллы. Который половину пдфников рендерит некорректно, для начала. Простой как валенок evince обставляет это и по скорости рендера на порядки и по отсутствию глюков. Не говоря что он открывает пдфники мгновенно, без клина интерфейсов где либо на минуту.


"Google открыл исходный код PDF-движка Chrome"
Отправлено rain87 , 26-Май-14 12:29 
>[оверквотинг удален]
> Ффтыкать по 2 минуты в сильно тормозящий браузер - удовольствие ниже среднего.
> Оно конечно работает, но вопрос в том как. Мало того что
> JS сам по себе тормоз, так они еще выбрали максимально глупую
> и недружественную к пользователю стратегию рендеринга - рендерить сразу весь документ
> при попытке открытия. Более вменяемые вьюшки рендерят по мере мотания документа.
> И при том прорисовывают документ быстрее и лучше чем этот кусок
> гуано от мозиллы. Который половину пдфников рендерит некорректно, для начала. Простой
> как валенок evince обставляет это и по скорости рендера на порядки
> и по отсутствию глюков. Не говоря что он открывает пдфники мгновенно,
> без клина интерфейсов где либо на минуту.

я где то сказал хоть слово, что оно тормозит? повторюсь - у меня оно работает мгновенно и без тормозов. иначе я бы первым делом его отключил

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


"Google открыл исходный код PDF-движка Chrome"
Отправлено Аноним , 22-Май-14 20:30 
> встроенного в PDF-файлы JavaScript кода

"Ух ты, а что, так можно?"

И, главное, а как это заблокировать? А то ща все пи...сы начнут кто биткоины майнить, кто за пользователями следить, кто серваки ддосить кучей запросов...


"Google открыл исходный код PDF-движка Chrome"
Отправлено Аноним , 22-Май-14 21:43 
До Чингачгука только на двадцатый год дошло, что у сарая нет задней стены? Ну ты и т@рмозилла, да еще поди идейный.

Этой фишке в PDF 20 лет в обед.


"Google открыл исходный код PDF-движка Chrome"
Отправлено Аноним , 24-Май-14 10:18 
> Этой фишке в PDF 20 лет в обед.

Это не фишка, это фишинг.


"Google открыл исходный код PDF-движка Chrome"
Отправлено Аноним , 24-Май-14 11:49 
> И, главное, а как это заблокировать?

Ты не поверишь. Как обычно, в стандартной менюшке хрома, появляющейся по щелчку слева от урла в адресной строке.


"Google открыл исходный код PDF-движка Chrome"
Отправлено Аноним , 24-Май-14 12:58 
Мде, хром головного мозга во все поля.

"Google открыл исходный код PDF-движка Chrome"
Отправлено Аноним , 22-Май-14 20:58 
>поддержать функциональный паритет с браузером Chrome.

Ну сейчас это не нужно, ведь есть https://chrome.google.com/webstore/detail/oemmndcbldboiebfnl.../ . Да и засинхронизировать его можно в случае чего. Но надо посмотреть, что оне там сделают. Главное, чтобы их новый просмотрщик можно было в случае чего отключить и вновь пользоваться вышеуказанным.


"Google открыл исходный код PDF-движка Chrome"
Отправлено paulus , 22-Май-14 21:06 
Еще один повод поблагодарить Google за поддержку СПО. Теперь не нужно будет самому добавлять в Chromium pdf-просмотрщик из Chrome.

"Google открыл исходный код PDF-движка Chrome"
Отправлено megabaks , 22-Май-14 21:42 
>Теперь не нужно будет самому добавлять в Chromium pdf-просмотрщик из Chrome.
>самому

плохо быть тобой.
вообще-то есть пакеты с хромо-плагинами.


"Google открыл исходный код PDF-движка Chrome"
Отправлено Хрен с горы , 22-Май-14 21:09 
>При этом интеграция PDFium в Firefox маловероятна, так как для обработки встроенного в PDF-файлы JavaScript кода PDFium использует привязку к JavaScript-движку V8 и требует значительной переработки для перевода на использование движка SpiderMonkey.

Мозилловцы специально же пишут просмоторщик на js, не от того что альтернатив нет. Точно так же, как и флэш переписывают на него. Просто JavaScript - это технолгия будущего, настоящая кроссплатформенность и гибкость.


"Google открыл исходный код PDF-движка Chrome"
Отправлено Vkni , 22-Май-14 22:13 
> Мозилловцы специально же пишут просмоторщик на js, не от того что альтернатив
> нет. Точно так же, как и флэш переписывают на него. Просто
> JavaScript - это технолгия будущего, настоящая кроссплатформенность и гибкость.

Ага, прямо как один сказал "C - язык будущего". :-) Единственная польза от PDF.js в том, что просмотрщик крутится в той же песочнице, что и скрипты со страницы. То есть, в отличие от C++-ного кода, не добавляет новых уязвимостей (если не считать уязвимостью DOS - подвисание браузера).


"Google открыл исходный код PDF-движка Chrome"
Отправлено Хрен с горы , 22-Май-14 22:38 
>Единственная польза от PDF.js в том, что просмотрщик крутится в той же песочнице, что и скрипты со страницы.

Нет же. JS позволяет показать пдф-ку хоть где, где есть нормальный браузер.


"Google открыл исходный код PDF-движка Chrome"
Отправлено Led , 23-Май-14 01:13 
>JS позволяет показать пдф-ку хоть где, где есть нормальный браузер.

Врёшь, одного "нормального бразера" недостаточно. Нужно ещё пару лишних гигабайт памяти.


"Google открыл исходный код PDF-движка Chrome"
Отправлено Хрен с горы , 23-Май-14 11:40 
>Нужно ещё пару лишних гигабайт памяти.

А мой телефон с 512 оперативы то этого не знает!


"Google открыл исходный код PDF-движка Chrome"
Отправлено Аноним , 24-Май-14 10:20 
> А мой телефон с 512 оперативы то этого не знает!

Попробуй на нем в мозильской вьюшке посмотреть даташит на Ti OMAP. Хочу посмотреть как телефон расплавится и стечет в унитаз :)


"Google открыл исходный код PDF-движка Chrome"
Отправлено Vkni , 23-Май-14 01:46 
Нормальный браузер есть на 3-х ОС: Windows, Linux, OSX. И везде, кроме Windows, есть просмотрщик PDF.

"Google открыл исходный код PDF-движка Chrome"
Отправлено Хрен с горы , 23-Май-14 11:40 
> Нормальный браузер есть на 3-х ОС: Windows, Linux, OSX. И везде, кроме
> Windows, есть просмотрщик PDF.

А как же телевизоры всякие? Сейчас куда не плюнь интернет встраивают.


"Google открыл исходный код PDF-движка Chrome"
Отправлено Аноним , 24-Май-14 12:52 
> А как же телевизоры всякие? Сейчас куда не плюнь интернет встраивают.

Не думаю что это попадает под критерий нормального браузера.


"Google открыл исходный код PDF-движка Chrome"
Отправлено rob pike , 23-Май-14 05:41 
>просмотрщик крутится в той же песочнице, что и скрипты со страницы. То есть, в отличие от C++-ного кода, не добавляет новых уязвимостей

А если С++ный код крутится в другой песочнице, это добавляет уязвимостей?
Каким образом? Или вы просто имеете в виду что с точки зрения теории вероятности больше песочниц - больше вероятности багов?


"Google открыл исходный код PDF-движка Chrome"
Отправлено Vkni , 23-Май-14 09:11 
> А если С++ный код крутится в другой песочнице, это добавляет уязвимостей?

Да. Следим за руками:

а) Песочницы неидеальны - они содержат ошибки.

б) Чем больше вариантов кода может бегать в песочнице, тем легче её взломать. Скажем, если в песочнице может выполняться только Hello world (в силу каких-то обстоятельств), такая песочница, скорее всего, невзламываема.

в) Мы можем подсовывать браузеру любой JS код, а вот С++ код, выполняемый в песочнице, мы менять не можем. Например, мы можем подсунуть ему PDF.js, а заставить передать управление PDFium'у не можем (если тот не встроен).

Таким образом, PDF.js не увеличивает кол-во программ, которые могут использоваться для взлома JS песочницы, а PDFium - увеличивает. Соответственно, если забыть про DOS атаки на браузер, то PDF.js безопаснее.


"Google открыл исходный код PDF-движка Chrome"
Отправлено Аноним , 24-Май-14 12:55 
> а) Песочницы неидеальны - они содержат ошибки.

Это можно сказать и про JSную VM, если что. Более того - половина уязвимостей именно там и возникает.

> б) Чем больше вариантов кода может бегать в песочнице,

По определению, количество кода бесконечно. Мозилла генерит код из входных данных.

> Таким образом, PDF.js не увеличивает кол-во программ, которые могут использоваться для
> взлома JS песочницы,

Да, тав всего 1 немеряный движок всему вебу вывешен. И половина секурити багов лисы - именно там.


"Google открыл исходный код PDF-движка Chrome"
Отправлено Vkni , 24-Май-14 17:20 
Прочесть прочёл, а понять не понял. Аноним.

"Google открыл исходный код PDF-движка Chrome"
Отправлено mma , 23-Май-14 07:10 
Ктонибудь сравнивал, как оно по сравнению с poppler?

"Google открыл исходный код PDF-движка Chrome"
Отправлено commiethebeastie , 23-Май-14 08:24 
Жду в chromium.

"Google открыл исходный код PDF-движка Chrome"
Отправлено meequz , 23-Май-14 11:24 
Конечно ок что открыли, но имхо Mozilla ничего переделывать из-за этого не надо. У меня и на стареньком нетбуке Eee PC pdfки в Firefox с достаточной скоростью открываются и корректно отображаются.

"Google открыл исходный код PDF-движка Chrome"
Отправлено абыр , 23-Май-14 11:34 
А если открыть две pdf-ки ?

"Google открыл исходный код PDF-движка Chrome"
Отправлено Михаил , 23-Май-14 13:35 
А зачем вообще в браузере открывать pdf-ки?

"Google открыл исходный код PDF-движка Chrome"
Отправлено meequz , 23-Май-14 13:50 
Нормально. Лаги есть, но некритичные (вроде полусекундной задержки раз в 15 секунд). В одной вкладке даташит на Atmel, 448 страниц, в другой на PIC16F87X, 218 страниц. Первое что в гугле нашлось. Asus Eee PC 1005PE, Mint 15 MATE 32bit, Firefox 32.0a1.

"Google открыл исходный код PDF-движка Chrome"
Отправлено Хрен с горы , 23-Май-14 14:00 
>Лаги есть, но некритичные (вроде полусекундной задержки раз в 15 секунд)

Ща Generational Garbage Collector допилят и те пропадут.


"Google открыл исходный код PDF-движка Chrome"
Отправлено Аноним , 24-Май-14 12:40 
> В одной вкладке даташит на Atmel, 448 страниц, в другой на
> PIC16F87X, 218 страниц.

Теперь расскажи сколько минут они открываются.

> Первое что в гугле нашлось.

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

Не говоря о том что я иной раз вижу рендеринг при мотании пдфки. А иногда приходится откровенно ждать пока страница отрендерится, если там много линейной графики, например более-менее сложная схема нарисована. Некоторые пдф просто некорректно рендерятся - на схеме может внезапно не оказаться половины линий. Висят какие-нибудь отверстия и черточки в воздухе. Чего висят? Открываем в нормальной вьюхе - о, там схема оказывается! Настолько поганого рендера не демонстрировал ни 1 другой просмотрщик вообще.

По моему нескромному мнению это одновременно самый недоразвитый, самый тормозной и самый проблемный в использовании просмотрщик PDF который я когда либо видел. И самый ресурсоемкий. Если это по мнению мозиллы "не надо менять" - мне тогда пора менять браузер.


"Google открыл исходный код PDF-движка Chrome"
Отправлено цирроз , 23-Май-14 12:46 
И большие файлы тоже?

"Google открыл исходный код PDF-движка Chrome"
Отправлено meequz , 23-Май-14 13:52 
> И большие файлы тоже?

Да (448 страниц). Asus Eee PC 1005PE, Mint 15 MATE 32bit, Firefox 32.0a1.
Но вы можете прислать мне для теста ссылку на большой в вашем понимании документ.


"Google открыл исходный код PDF-движка Chrome"
Отправлено Аноним , 24-Май-14 12:41 
> Но вы можете прислать мне для теста ссылку на большой в вашем
> понимании документ.

Просто погуглите разные PDF и опробуйте хотя-бы сотню-другую. Два пдфа из всех миллионов на планете - это не тест, извините.


"Google открыл исходный код PDF-движка Chrome"
Отправлено Аноним , 23-Май-14 18:36 
Так это получается, что Chrome по сути стал полностью открытым?

"Google открыл исходный код PDF-движка Chrome"
Отправлено Аноним , 24-Май-14 09:58 
Flash же.

"Google открыл исходный код PDF-движка Chrome"
Отправлено Аноним , 24-Май-14 11:57 
Итого, для рендеринга есть xpdf с отпрыском poppler, Ghostscript, реактивный MuPDF, да вот этот PDFium.  А чем из C создавать PDF?  libHaru не умеет в UTF-8 и CCITT/G4. Точнее, в UTF-8 умеет, но результат либо рендерится неправильно, либо через pdftotext не проходит и поиск не работает; а CCITT понимает только на импорт (в чём мало смысла, поскольку TIFF библиотека импортировать не умеет).  PoDoFo? Не умеет жать в CCITT/G4; с UTF-8, на первый взгляд в сорцы, получше.  Есть ещё варианты?

"Google открыл исходный код PDF-движка Chrome"
Отправлено rob pike , 24-Май-14 22:18 
http://www.foxitsoftware.com/russian/products/sdk/

"Google открыл исходный код PDF-движка Chrome"
Отправлено Аноним , 25-Май-14 21:08 
> http://www.foxitsoftware.com/russian/products/sdk/

Вы сайтом ошиблись. Тут про открытые технологии. А вендовoзная blob-онли буита - это не сюда, извините.


"Google открыл исходный код PDF-движка Chrome"
Отправлено rob pike , 25-Май-14 23:19 
Человек же просил рабочее а не открытое

"Google открыл исходный код PDF-движка Chrome"
Отправлено Аноним , 27-Май-14 00:05 
Я (тред-стартер) наивно полагал, что на сайте, посвященном открытому ПО, в новости об открытой библиотеке подскажут софт под свободными лицензиями (тем более, в коментарии закрытого ПО не упоминал). Заблуждался, должно быть…

Собственно, меня пока устраивает питонячий свободный пакет ReportLab, но для идеала и ему не хватает поддержки вывода в CCITT/G4.


"Google открыл исходный код PDF-движка Chrome"
Отправлено universite , 26-Май-14 00:12 
Есть еще SumatraPDF под GPL v3 лицензией.

"Google открыл исходный код PDF-движка Chrome"
Отправлено Аноним , 27-Май-14 00:08 
> Есть еще SumatraPDF под GPL v3 лицензией.

Цитата из «Википедии»: «For rendering PDFs it uses the MuPDF library». Да ещё и Windows-only.