Pull to refresh

Comments 21

Ждём статьи «Верстаем сайт в PDF / Ненормальное программирование / Хабрахабр».
А что, на JS есть ведь эмулятор Линукса. Постоянное хранилище есть — это сам документ, так что, я думаю, можно сделать PDF документ, который на самом деле являлся бы виртуальной машиной с Линуксом внутри. Надо только найти удобные средства в API для ввода-вывода.
Мало нам разных браузеров с разными движками и разных экма-стандартов. Давайте ещё и от версии pdf-просмоторщика зависеть. :)
Самое распространённое применение JS в PDF — это вызов диалога печати документа сразу при его открытии. Что позволяет печатать PDF документы сразу из браузера, «не открывая» их ридером, если конечно в браузере установлен PDF плагин. Так, например, делают всякие Майкрософтовские веб-штуки :)
У нас некоторые проектировщики используют JS в PDF прототипах, например при клике по какой-нибудь кнопке производится переход к какой-либо другой странице в документе, на которой отображён результат выполнения этого действия.
Не смог сделать совсем уж silent-print, всё равно выводит диалог 'This document is trying to print: Ok/Cancel'. Вы побеждали?
Совсем сайлент делать цели не было, поэтому не знаю. Стандартный принт-диалог нам не мешал :)
Жаль. Я хотел сделать прозрачный для пользователя процесс печати накладных и прочих документов. В веб-админке по нажатию кнопки в скрытый iframe-начинает грузиться pdf c javascript-ом для автоматической печати.

Работает практически как и задумывалось — стандартный принт-диалог не показывает, выводит только диалог 'This document is trying to print: Ok/Cancel'. Вот от него, похоже, избавиться нельзя.

Можно сделать silent-печать в Firefox, если там задать соответствующий параметр в about:config. Но это не для pdf, а просто для печати из браузера.
А флеш не смотрели?
Флеш для печати PDF? Не думал в эту сторону. Умеет?
Мы начинали копать в эту сторону, но пока забросили. Есть флеш библиотеки которые умеют открывать PDF, останется лишь вызвать print (в теории) и готово
Какой-то сложный путь вы избрали, через C#. Уже давно существует и успешно используется для верстки PDF программа Adobe LiveCycle Designer, в которой все это делается намного проще.
ложнее писать Javascript код, чем в случае обычной web-разработки. Нужно создать и открыть документ, чтобы проверить корректность написанного кода.

и в которой все проверки документа делаются кликом по табу предпросмотра. Никакого стороннего кода, сторонних программ.
Не спорю, создавать документы и тем более писать Javascript для PDF, конечно же, значительно удобней в Adobe LiveCycle Designer (как и, например, создавать docx документы в Word, а не программно)

Подход описанный в статье более низкоуровневый и может представлять дополнительный интерес для разработчиков приложений, которым требуется создавать или модифицировать PDF документы. Это может быть программная генерация разного рода форм или отчетов. Или, например, сжатие существующих документов — одним из приемов тут может быть удаление всех Javascript action'ов из документа.
ну пост называется «Javascript в PDF», а не «Javascript в PDF с помощью C#», собственно поэтому и написал, разобраться в работе Javascript проще там. Кстати, для работы с PDF есть также библиотека PDFLib, с очень мощным функционалом.
Для php я пришёл к использованию mPDF — остальные работали некорректно
опять же зависит от задач. Я очень много работаю с генерацией, заполнением, изменением PDF. Самая эффективная библиотека все таки PDFLib (в т.ч. для php), только она достаточно громоздкая, в ней надо разобраться, к тому же платная. Но она устанавливается на сервер, что дает ей заметное преимущество перед остальными, и функционал действительно впечатляющий. Пока была только одна задача, с которой она не смогла справиться, там пришлось другую подключать.
Недалек тот час, когда PDF документы можно будет полноценно отображать средствами Javascript. При этом обратная возможность, а именно использование Javascript в PDF документах, существует уже очень давно.
А если PDF со встроенным Javascript'ом скормить Javascript'овой PDF-читалке — получим Javascript, выполняемый средствами… Javascript.
а потом написать Javacript, который отображает PDF, со встроенным Javascript, отображающим тот же самый PDF… и далее по рекурсии
UFO just landed and posted this here
Sign up to leave a comment.

Articles