Странный вопрос, который я знаю, но говорю, что у каждого есть данные байта PDF, содержащиеся в скрытом поле на странице, на которой также есть IFrame.
Есть ли способ записи данных PDF в IFrame с использованием JavaScript, чтобы IFrame загружался в подключаемый модуль Adobe и отображал данные?
Причина, по которой мы хотели бы сделать это, заключается в том, что нам все равно нужны данные PDF в скрытом поле, поэтому, если пользователь нажимает кнопку, мы можем вызвать апплет Java через JS с данными, чтобы он записал байтовые данные PDF в запатентованная система. Мы также хотели бы показать PDF-файл.
Итак:
- Данные в байтах PDF (сгенерированные на
сервер) забил на скрытое поле.
- Данные в байтах PDF из скрытого поля
некоторые клиенты написали в IFrame
в ближайшее время, чтобы быть обнаруженным-через-з-чуда-оф-StackOverflow
JS магия и, таким образом, отображается.
- Когда кнопка нажата, Java-апплет называется клиентской
передача в PDF байтовых данных, хранящихся в
скрытое поле
Так же, как гномы трусов Южного парка, у нас есть фаза 1 и 3, но не 2!
Любые идеи с благодарностью приняты!
Дополнительная информация:
Нам нужно, чтобы байтовые данные были доступны на стороне клиента для передачи через вызов JS в апплет Java. Мы делаем это в настоящее время через скрытое поле. Это нормально, и работает отлично.
Проблема заключается в том, что вызов апплета происходит только в том случае, если нажата кнопка «ОК» на модальном диалоговом окне ajax («Хотите отправить этот документ в UglyPprietorySystem?»).
Как вы все знаете, вы не можете положить что-либо поверх дисплея Adobe Plug-in. Очевидно, что если вся страница имеет тип PDF, то для JS нет места, чтобы показать диалоговое окно, чтобы оно не работало, и если вы используете IFrame, вы все равно не можете поместить что-либо поверх того, что отображает плагин (это фактически воздушное пространство другого приложения и нарушение, которое является просто грубым!).
Мы работали над этим:
- Сначала показывается размытое изображение стандартного документа PDF и появляется модальное диалоговое окно поверх этого.
- Когда пользователь ответил на диалоговое окно, которое мы вызывали (или нет), Java-приложение с данными pdf-байта из поля hiden
- Затем мы отправили сообщение после очистки скрытого поля (Woo! Отправка формы с двоичными данными в формате PDF не оценивается сервером!)
- В page_load кода позади мы затем, при обратной передаче, записали в поток ответов данные байтов в формате PDF, установив тип содержимого равным appplication / pdf, и, таким образом, отобразился pdf.
симпатичный. Все это работает и дает нам то, что мы хотели бы.
Единственная проблема в том, что нам нужно:
* generate the PDF data twice (once on initital page_load for the clientside call to our applet and then again on postback to display).
или
* We store the PDF byte data in the session after the first response so as to be able to, after the postback, still have the pdf data to be able to display it.
Ни то, ни другое, но мы пошли с последним, но теперь мы думаем, что хотели бы избежать этого, если сможем.
Таким образом, идея создания PDF, помещения его в скрытое поле, наличия кнопки на странице для сохранения PDF в нашей собственной системе с помощью вызова апплета, а также записи в IFrame с этими данными уже на клиенте в скрытое поле, таким образом отображая его.
Уф!
Вот почему мы хотели на клиенте, используя JS, записать двоичные данные pdf в IFrame и установить для его типа содержимого значение application / pdf, чтобы браузер загрузил подключаемый модуль Adobe и отобразил его.