«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как генерировать PDF из двоичного ответа на веб-сервис в JavaScript в браузерах?

Как генерировать PDF из двоичного ответа на веб-сервис в JavaScript в браузерах?

Опубликовано в 2025-03-22
Просматривать:975

How to Generate a PDF from a Binary Web-Service Response in JavaScript Across Browsers?

построение PDF из ответа двоичного веб-сервиса в Javascript

founal:

этот вопрос адресован задачу создания файла PDF из бинарной строки, полученной через AJAX. Предоставленный двоичный поток состоит из заголовка PDF и содержания. В то время как метод Data-URI работает в некоторых браузерах, он не работает в Internet Explorer 9 и Firefox.

]

:

. Реализация.

] Решение:

, чтобы решить эту проблему, предложено следующий подход:

использование каплей и загрузки:

, чтобы продемонстрировать это решение, можно использовать следующий фрагмент кода:

var request = new XMLHttpRequest();
request.open("GET", "/path/to/pdf", true); 
request.responseType = "blob";
request.onload = function (e) {
    if (this.status === 200) {
        // `blob` response
        console.log(this.response);
        // create `objectURL` of `this.response` : `.pdf` as `Blob`
        var file = window.URL.createObjectURL(this.response);
        var a = document.createElement("a");
        a.href = file;
        a.download = this.response.name || "detailPDF";
        document.body.appendChild(a);
        a.click();
        // remove `a` following `Save As` dialog, 
        // `window` regains `focus`
        window.onfocus = function () {                     
          document.body.removeChild(a)
        }
    };
};
request.send();

walfers:

. Этот метод предлагает следующие преимущества:

    Совместимость со всеми основными браузерами, включая IE9, Firefox, Opera, Chrome и Safari
  • позволяет пользователям удобно загружать файл PDF
  • ]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3