![]() |
CGI +Content-type: application/pdf
Следующий вопрос (кто с этим сталкивался).
Есть cgi, который возвращает документ pdf (Content-type: application/pdf). Считается, что на клиентской машине установлен Acrobat reader и соответствующий плагин для IE. Ситуация: при выполнении запроса на этот документ IE показывает содержимое pdf'а в текстовом виде. И так до тех пор, пока не закроешь браузер. После этого и до скончания времен ответы cgi типа application/pdf на этом конкретном клиенте работают нормально. Ситуация 100% воспроизводима. Вопрос: можно ли обойти эту бяку? |
Я не понял суть вопроса. Скрипт должен выводить pdf с сервера, так? Он корректно его выводит или нет?
Объясни ситуацию по-подробнее, плз. |
Genux
Да, скрипт должен выводить pdf с сервера. Он его корректно выводит. Но в ситуации, когда pdf на этом конкретном IE открывается впервые, IE не запускает плагин от Acrobat Reader'а, а выводит все как text/plain. Лечение простое - закрыть IE, запустить заново. Я хочу избежать этой ситуации в принципе. |
В таком случае надо идти от настроек ослика. Мб запускать плагин через яваскрипт?
|
Как?
|
Не знаю :).
В любом случае, вывод pdf через плагин ие - плохой тон. |
В любом случае, вывод pdf через плагин ие - плохой тон
А как его еще выводить? Чтобы любая тетя Маша могла распечатать? А если не pdf - то назови любой другой формат, обеспечивающий точность печати. Ограничение - чтобы денег не требовало :) |
http://www.php.net/manual/en/ref.pdf.php
На сервере должен стоять php. Денег не требует. С этими функциями разбирайся сам :). Да, если нужно чтобы любая тетя Маша смогла распечатать - самое то, т.к. выполняется на сервере и эта тетя может хоть линкс юзать :). |
А если не pdf, то doc
|
Genux
Ты не так понял - мне не надо создавать pdf, он у меня и так есть в виде файла, и прекрасно возвращается в ответе. Проблема в том, что адобовский плагин для IE начинает работать только со второго вызова. А мне хотелось бы не писать для среднестатистического юзера ЦУ в стиле "если не сработало - попробуй еще раз", а сделать так, чтобы работало с первого вызова. Mips Невозможно. Хотя бы потому, что точность печати все равно не обеспечивает. |
Ну тогда ничем помочь не могу :). Единственное, что я могу сказать - pdf надо выводить не через клиент, а средствами сервера.
|
Genux
PDF выводится средствами сервера. А показывается (адобовский плагин для IE запускает Acrobat Reader в IE in-place) средствами клиента. То есть: Content-Type: application/pdf Content-Length: 53645 %PDF-1.2 ... и т.д. |
Неа, это сервер просто браузеру такой файл подсовывает в исходном виде, а уже сам браузер с помощью плагина его выводит. Это через клиент получается ;)
|
Genux
Тогда объясни, пожалуйста, что такое "средствами сервера"? Hint: даже та пхпшная библиотека для формирования pdf'ов, ссылку на которую ты поместил, в итоге делает то же самое. |
Ну смотри. Юзер заходит на куда-нибудь навроде some.ru/pdf.php и сервер генерирует пользователю страницу pdf.php, где pdf конвертируется в простой html и выводится пользователю без всяких плагинов.
Доступно объяснил? :) |
Genux
Извини, но это - бред сивой кобылы. 1) Формат PDF'а - частично закрытый формат. Посему разбирать его невозможно. 2) PDF не ложится на HTML - у них попросту разные направленность и возможности вывода. 3) В PDF'е наличествует встроенный язык, который на javascript/vbscript совсем не похож ;) можно продолжать и продолжать... Неужели где-то находится такой неразумный человек, который будет заниматься подобной абсолютно бесполезной деятельностью на трезвую голову?!! |
В таком случае *опа.
Ни разу не видел, чтобы на каком-нибудь сайте просматривался pdf, только скачать можно. Да и у тети Мани скорее найдется акробат ридер, чем абстрактный плагин к ie. |
All times are GMT +3. The time now is 11:08. |
Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
Любое использование материалов сайта
возможно только с разрешения его администрации.