Ссылки на веб-странице для просмотра или загрузки PDF - PullRequest
2 голосов
/ 22 февраля 2012

Я никогда не думал об этом раньше, но есть ли способ контролировать, что происходит, когда пользователь щелкает ссылку на файл PDF?

Мой начальник хотел бы предложить две ссылки, чтобы сделать следующее:1. Просмотрите этот PDF в браузере. 2. Загрузите PDF

. Есть ли способ сделать это?Я не думаю о таких вещах, большинство современных браузеров открывают PDF в браузере.Если я хочу скачать его, я щелкаю правой кнопкой мыши по скачиванию.Любой способ заставить действие?

Спасибо

Ответы [ 3 ]

3 голосов
/ 22 февраля 2012

Вы можете сделать ссылку на ресурс или передать данные в браузер. Это единственные два варианта, которые у вас есть.

Если вы ссылаетесь на файл: <a href="file.pdf"> независимо от того, открывается он в браузере или нет, полностью зависит от браузера конечного пользователя и настроек операционной системы.

Вы можете принудительно загрузить файл, однако, передав его в браузер, что обычно вызывает диалог браузера save as.

Лучше всего, однако, с точки зрения пользовательского опыта, это просто сделать ссылку на PDF и дать пользователю знать, что он собирается щелкнуть ссылку PDF ... таким образом, он сможет решить, что делать с ним. ,

1 голос
/ 22 февраля 2012

Способ отображения PDF-файлов зависит от версии и конфигурации браузера пользователя.Например, Chrome по умолчанию включает просмотрщик PDF, но у пользователя есть возможность изменить поведение плагина (автоматически открывать PDF, отключать, спрашивать пользователя).

Один из способов сделать это - установить ContentType и Content-Disposition, чтобы браузер знал, как обрабатывать запрос.Например, в ASP.NET вы должны сделать это следующим образом:

Response.ContentType = "application / pdf";

Response.AddHeader ("Content-Disposition", "attachment"; filename = filename.pdf ");

Раскрытие информации: Я похитил этот код из этой статьи

Дайте мне знать, если этопомогает.

1 голос
/ 22 февраля 2012

Существует несколько способов использования серверных технологий:

вы можете создать ссылку на страницу .net / php, которая служит для загрузки файла, например:

<a href="/ServeFile.aspx?filename=sample.pdf">download pdf</a>

или для отображения:

<a href="/sample.pdf">view pdf</a>

Если вы используете itextsharp для генерации вашего pdf, вы можете добавить следующее к объекту Response для принудительной загрузки:

Response.AddHeader(
  "Content-Disposition",
  "attachment; filename=itext.pdf"
);

или следующее, чтобы открыть вто же окно:

Response.AddHeader(
 "Content-disposition",
 "inline; filename=itext.pdf");   

Пользователь всегда может установить свой плагин Adobe Reader для постоянной загрузки, и в этом случае отображение окна браузера не будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...