Вопрос:

Как открыть .pdf на новой вкладке

javascript jquery asp.net-mvc-3 url.action

42343 просмотра

6 ответа

565 Репутация автора

Цель:

Я должен напечатать PDF на новой вкладке после того, как некоторые задачи были выполнены правильно.

Шаги: я хочу выполнить метод, который должен пойти на сервер, взять PDF и открыть его на новой вкладке, я пытался с этим, но не работает:

Контроллер : Экспорт

 public ActionResult PrintPdf()
    {
        Response.AppendHeader("Content-Disposition", "inline; filename= " + MyClassPdfWriter.GetFileName);
        return File(MyClassPdfWriter.GetMemoryStream, "application/pdf");
    }

Просмотр :

function TasksSucced(){
      $.get('@Url.Action("PrintPdf", "Export", "new {target = _blank}")');
}
Автор: user1520494 Источник Размещён: 11.04.2013 08:39

Ответы (6)


17 плюса

565 Репутация автора

Решение

Решено! Это подходит для меня

 window.open('/Export/PrintPdf');
Автор: user1520494 Размещён: 11.04.2013 10:07

2 плюса

990 Репутация автора

$("a[target!='_blank'][href$='.pdf']").attr("target", "_blank");
Автор: Timtech Размещён: 03.12.2014 12:14

1 плюс

68 Репутация автора

Вы можете использовать следующее решение

   jQuery('<form target="_blank" action="' + URL + '" method="get"></form>').appendTo('body').submit().remove();

где URL - это URL PDF ...

Автор: Ephy L Размещён: 25.03.2017 11:54

2 плюса

1027 Репутация автора

Если у кого-то возникла подобная проблема, ни одно из перечисленных выше решений не помогло мне в Google Chrome (в Firefox они работали)

Этот код работал во всех основных браузерах:

var a = document.createElement('A');
var filePath = 'https://pathtopdf.com/file.pdf';
a.href = filePath;
a.download = filePath.substr(filePath.lastIndexOf('/') + 1);
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
Автор: Jordash Размещён: 06.02.2018 07:03

0 плюса

396 Репутация автора

Вы можете попробовать использовать jQuery.deffered . Я подготовил образец функции для вас. Он обработает вызов getPdf, а затем разрешит обещание. Надеюсь это поможет

function getPDF() {
    return '';
}

getPdf()
  .then(function(response) {
    console.log('response here' + response);
    window.open(response);
  }).fail(function(){
      console.error('failed reposne');
  });
Автор: dganenco Размещён: 20.11.2018 08:24

0 плюса

187 Репутация автора

Есть несколько способов скачать или просмотреть PDF.

  • Посмотреть

Вы можете установить тип контента как application / pdf в заголовке ответа так же, какContent-Type: application/pdf

И чтобы открыть его на новой вкладке в javascript, добавьте этот код.

window.open("Here Download PDF url", '_blank');
  • Скачать

Вам необходимо установить тип содержимого как application / octet-stream в заголовке ответа, как application/octet-stream.

И добавить скачать атрибут HTML5 в виде тега или просто цель = «_blank» .

<a href="PDF URL" download="pdf">Download</a>
<a href="PDF URL" target="_blank">Download</a>

Таким образом, вы можете использовать PDF.js или 3-ю библиотеку для просмотра PDF в iFrame или на встроенной странице.

Автор: jin li Размещён: 12.06.2019 10:27
Вопросы из категории :
32x32