Перейти к содержанию
Fire Monkey от А до Я
  • 0

Открытие PDF


Сергей Сергеев

Вопрос

Есть мобильная версия сайта. Задача простая - открывать его в МП.

Положил TWebBrowser, который открывает сразу сайт, все ок..НО! не работает открытия pdf файлов по ссылке, если без МП - все ок - Chrome задает   вопрос - Скачать? и скачав открывает.. 

а тут - никак..

сложные решения ( типа поймать ссылку ПДФ, скачать самому, открыть через Интент - не нужно) там всякие разрешения полезут и т.д. Задача сделать "вечное" -  МП которое просто открывает сайт.. чтобы не продлевать лицензию и не напарываться на требования обновлять версию Дельфи ( то 64, то новый ИОС, то новые правила размещения.. ) 

Изменено пользователем Сергей Сергеев
Ссылка на комментарий

Рекомендуемые сообщения

  • 0
9 минут назад, Slym сказал:

заголовки смотрел? может там честное Content-Disposition: attachment...

смущает, что просто в хроме то работает все.. а через TWebBrowser - не звонит по tel: . не емейлит по mailto:

но это решил перехватом и через интент..

но пдф принимать, сохранять.. не хочется.. 

Заголовки вот что разработчики сайта ответили:

Изначально было

    header("Content-Type: application/pdf");
    header("Content-Length: " . $_GET['size']);
    echo $recordPdf;


Т.е. отдавался полученный из ПДФ контент с корректным типом и браузер сам принимал решение, что с ним делать.

Для варианта открытия  из МП (с параметром MP в get строке) реализовали вариант с выдачей заголовков на принудительное сохранение файла

header("Content-Type: application/pdf");
header("Content-Length: " . $_GET['size']);
header("Content-Disposition: attachment; filename=\"card_record_".$_GET['id'].".pdf\"; filename*=utf-8''card_record_".$_GET['id'].".pdf");
header("Content-Transfer-Encoding: binary");
header("Cache-Control: no-cache, must-revalidate, post-check=0, pre-check=0");
header("Expires: 0");
header("Pragma: public");
echo $recordPdf;



В чистом баузере работает корректно, однако, в браузере в  МП ( моб. прил)не открывает и запрос на сохранение не вызывает.

Ссылка на комментарий
  • 0

Content-Disposition: inline?
или тогда может в сторону js копать https://ru.stackoverflow.com/questions/439058/Открыть-pdf-в-окне-браузера-ajax

Изменено пользователем Slym
Ссылка на комментарий
  • 0
37 минут назад, Slym сказал:

Content-Disposition: inline?
или тогда может в сторону js копать https://ru.stackoverflow.com/questions/439058/Открыть-pdf-в-окне-браузера-ajax

спасибо, попробуем..

Ссылка на комментарий
  • 0

вообщем поставил Андроид студию, по нескольким примерам сделал приложение из одного компонента WebView - и ведет оно себя также как Дельфи браузер, никаких tel:

mailTo: никаких просмотров pdf, также все надо писать вручную, перехватывая..

лучше уж тогда на Дельфи.. знакомей да и написано уш давно..

неожиданно.. все в коротких штанах..

Ссылка на комментарий
  • 0
1 час назад, Slym сказал:

http://www.ohandroid.com/pdf-x.html
пробовали ? 

браузером открывает по  https://docs.google.com/viewer?url='+ URL

 

просто если присвоить по клику на ссылке с пдф в событии ОнЛоад ТВэбБраузера - то ничего не происходит

если через таймер - открывает первый раз, потом опять ничего ( может это Докс Гугла блокирует повторные запросы..)

 

 

Ссылка на комментарий
  • 0

Все про ИОС.

В ходе теста, вернулся на Дельфи 10.3.3 и что? Все работает ( в ИОС), и звонит по тел:, и пдф вьювером своим открывает

Похоже в 10.4.1 поменяли твэббоаузер на этот кокоа ( который ещё и в симулятор забыли положить, в 3 3 все компилится кстати в симуляторе, запускается и падает на симуляторе пример вэббраузер). Буду на 3.3 пытаться выложить, в тест Флай проходит.

Изменено пользователем Сергей Сергеев
Ссылка на комментарий
  • 0

ну так вот .. в 10.4.1 в ИОС перешли на другой TWebBrowser

в итоге pdf не открывает, по телефону на странице не звонит.. хорошо 10.3.3. не снес еще.. успеть бы в АппСтор закинуть..

image.thumb.png.43fdea50f434a8c7c274fdac84a14068.png

 

https://www.embarcadero.com/ru/products/rad-studio/whats-new-in-10-4-sydney

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...