?

Log in

pdf.js - Поклонник деепричастий [entries|archive|friends|userinfo]
Anatoly Vorobey

[ website | Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Links
[Links:| English-language weblog ]

pdf.js [фев. 21, 2013|02:43 am]
Anatoly Vorobey
[Tags|]

Firefox запустил поддержку чтения PDF-файлов внутри браузера.

Да, верно, на пару лет позже Хрома, но в Хроме это лицензированный у другой компании закрытый движок (недоступный в опенсорсном Chromium), а у Мозиллы открытый код. Более того, вызывает дикое уважение тот факт, что движок написан на чистом Джаваскрипте, и умудряется быстро читать и рендерить PDF за счет того, что элементы и функции PDF-а транслирует в функции Джаваскрипта, которые становятся доступны JIT-движку.

Можно даже попробовать сам движок в Хроме или другом браузере. Оно работает. Офигительные молодцы.
СсылкаОтветить

Comments:
(Удалённый комментарий)
[User Picture]From: avva
2013-02-21 01:16 am
Это расширение - один из основных источников багов в браузере, включая нередко дырки в секьюрити, помогающие злоумышленникам взламывать чужие компьютеры.
(Ответить) (Parent) (Thread)
(Удалённый комментарий)
[User Picture]From: piter239
2013-02-21 04:38 am
Интересно, а что принципиально изменилось с т.з. уязвимости при замене этого расширения на движок на JavaScript?
(Ответить) (Parent) (Thread)
[User Picture]From: _arty
2013-02-21 07:40 am
закрытый код ленивых малограмотных раздолбаев сменился открытым и доступным всем специалистам для исследования кодом, исполняющимся в песочнице, которую протестировал уже весь интернет
(Ответить) (Parent) (Thread)
[User Picture]From: piter239
2013-02-21 07:48 am
Ага, значит безопасность существенно улучшилась, что не может не радовать.

Просто в первый момент идея "вызываем функции из внешнего файла" настораживает.

Спасибо за пояснение.

Осталось одно непонятное место: что мешало надстройку запускать в той же "песочнице"
(Ответить) (Parent) (Thread)
[User Picture]From: _arty
2013-02-21 07:53 am
то, что это была по сути отдельная программа с полным доступом к компьютеру. Для неё сделали нечто вроде песочницы, отобрав некоторые базовые опасные возможности, но многие другие отобрать было нельзя: она бы перестала работать. А песочница для javascript изначально основывалась на принципе «всё, что не разрешено, запрещено», и поэтому она намного надёжнее.
(Ответить) (Parent) (Thread)
[User Picture]From: _iga
2013-02-22 03:39 pm
Думаете, безопаснее транслировать PDF в исполняемый javascript?
(Ответить) (Parent) (Thread)
[User Picture]From: avva
2013-02-22 03:42 pm
Да, намного.
(Ответить) (Parent) (Thread)
[User Picture]From: spamsink
2013-02-21 01:13 am
Выделение текста у меня в FF16 работает странно. Понятие о горизонтальном размере символов у движка не соответствует действительности.
(Ответить) (Thread)
[User Picture]From: kot_begemot
2013-02-21 01:18 am
Они бы ещё native print to PDF добавили - цены бы им не было.
Addons существуют, конечно, но такая морока их отслеживать, устанавливать, выбирать...
(Ответить) (Thread)
[User Picture]From: nec_p1us_u1tra
2013-02-21 08:11 am
Это у вас ОС не той системы.
У той системы нативный принт в PDF -- часть систему принтинга.
(Ответить) (Parent) (Thread)
[User Picture]From: gdy
2013-02-21 01:24 pm
Какая морока?
http://www.dopdf.com/ru/download.php
(Ответить) (Parent) (Thread)
[User Picture]From: _winnie
2013-02-21 01:56 am
1) круто
2) сейчас шрифт в Win7+Firefox 18 выглядит ооооень плохо, надо ждать 500dpi-мониторов: скриншот: http://dobrokot.ru/pics/i2013-02-21__05-55-09_192kb.png
(Ответить) (Thread)
[User Picture]From: _winnie
2013-02-21 01:59 am
А! В JS-версии не испльзуется ClearType. Тогда весьма вероятно что починят.
(Ответить) (Parent) (Thread)
From: selfmade
2013-02-21 04:03 am
Хорошая первая попытка. Но есть и недостатки. Шрифты оставляют желать лучшего.
(Ответить) (Thread)
[User Picture]From: meshko
2013-02-21 04:06 am
Да это на самом деле одна из самых поразительный новостей индустрии за последний год если не больше. То есть надо понимать, что такое PDF и что такое (вернее чем был еще несколько лет назад) JavaScript.
(Ответить) (Thread)
[User Picture]From: bolk
2013-02-21 04:47 am
(Ответить) (Parent) (Thread)
[User Picture]From: ziavra
2013-02-21 12:34 pm
а еще всякие вещи типа http://media.tojicode.com/q3bsp/
(Ответить) (Parent) (Thread)
[User Picture]From: migmit
2013-02-21 04:42 am
Молодцы, блин. Чуть инфаркт мне не устроили, когда вместо нормального Preview открылось это. Я за давностью лет не сразу вспомнил, где эта хрень отключается.
(Ответить) (Thread)
[User Picture]From: _iga
2013-03-01 11:51 pm
А где этот pdf.js отключается?
(Ответить) (Parent) (Thread)
[User Picture]From: djuffin
2013-02-21 05:04 am
Надо было просто для JS linux-а (http://bellard.org/jslinux/) написать драйвер видеокарты с выводом на Canvas и тогда можно просто запускать Acrobat Reader в новом табе. :)
(Ответить) (Thread)
[User Picture]From: aafin
2013-02-21 07:55 am
Нет чтоб просто ghostscript прикрутить.
(Ответить) (Thread)
[User Picture]From: nec_p1us_u1tra
2013-02-21 08:13 am
так и libevince прикрутить можно.
Но им нужна кроссплатформенность, причем тотальная.
(Ответить) (Parent) (Thread)
[User Picture]From: dyak
2013-02-21 10:22 pm
Работает, но пока слишком ненадежно. Как минимум, заполненные формы (заполненные бланки?) он показывать отказывается. И еще странности есть.
(Ответить) (Thread)
[User Picture]From: thejustmoose
2013-02-22 10:44 am
Яндекс.Диск / Яндекс.Почта прям внутри веб-интерфейса отображает pdf документы. И не только их.
Подозреваю, что оно тоже на JavaScript реализовано (а что ещё можно запустить в пределах браузера??)
(Ответить) (Thread)
[User Picture]From: avva
2013-02-22 10:50 am
Можно на сервере рендерить PDF-документы в HTML; так делает Scribd и еще много кто, наверное и Яндекс тоже.
(Ответить) (Parent) (Thread)
[User Picture]From: _iga
2013-02-27 02:03 pm
Выглядит оно хуже.

В FF:



В Adobe Reader:


(Ответить) (Thread)
[User Picture]From: _iga
2013-03-01 02:34 pm
И ещё.
Если в старом FF по нажатию Ctrl-S сохранялся текущий pdf-документ, то в новом сохраняется нечто html-образное, однако с расширением .pdf, так что при повторном открытии запускается Adobe Reader, и конечно обламывается. Но даже если сменить расширение сохранённому документу на html, он оказывается совершенно несмотрибельным в том же FF.

Это полный кю в плане юзабилити. Фактически они поломали одну из основных функций браузера - сохранение документа.
(Ответить) (Thread)