Рекомендуемый способ встраивания PDF в HTML?

Какой рекомендуемый способ встраивания PDF в HTML?

  • iFrame?
  • Объект?
  • Встроить?

Что об этом говорит сама Adobe?

В моем случае PDF-файл создается на лету, поэтому его нельзя загрузить в стороннее решение до его очистки.

Попробуйте pdf2htmlEX: github.com/coolwanglu/pdf2htmlEX

Tezcat 10.05.2013 13:20

Есть отличное сравнение не только конкретных решений, но и общих стратегий, на вики репозитория pdf2htmlEX. Кроме того, хотя я не пробовал, это кажется поддерживаемым форком.

ShreevatsaR 23.04.2019 22:51
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
1 262
2
1 551 737
26
Перейти к ответу Данный вопрос помечен как решенный

Ответы 26

Ответ принят как подходящий

Вероятно, лучший подход - использовать библиотеку PDF.JS. Это чистый модуль рендеринга HTML5 / JavaScript для документов PDF без каких-либо сторонних плагинов.

Онлайн-демонстрация: http://mozilla.github.com/pdf.js/web/viewer.html

GitHub: https://github.com/mozilla/pdf.js

Как отмечено в другом ответе, scribd фактически использует pdf2swf для преобразования файлов pdf.

Peter Craig 04.11.2009 12:14

Я настоятельно рекомендую не использовать scribd - я только что провел эксперимент с определенным документом, и в firefox 4 он отображает только первые 3 страницы, тогда как в IE9 его текст отображается неверно - он смещает некоторые разделы страницы. Так что технически он глючит. Вдобавок они ожидают, что вы подпишетесь на распечатку или загрузку документов! По сути, они берут ранее бесплатные документы и устанавливают вокруг них платный доступ.

frankster 01.05.2011 23:15

Библиотека PDF.js на самом деле выглядит очень хорошим решением, хотя связанная демонстрация не показывает ее встроенной в страницу (она занимает всю страницу). Но он использует холст HMTL5, поэтому его должно быть легко встраивать, и это быстрый. С другой стороны, для использования требуется несколько js, в отличие от <object>: github.com/mozilla/pdf.js/blob/master/examples/helloworld/…

LarsH 11.10.2012 20:25

pdf.js плохо работает в браузерах планшетов, таких как Chrome. Я также считаю, что это очень и очень медленно для больших PDF-документов.

Rocco The Taco 06.08.2013 00:53

FDView объединяет PDF2SWF (который сам основан на xpdf) со средством просмотра SWF, поэтому вы можете на лету конвертировать и вставлять PDF-документы на свой сервер.

xpdf - не идеальный конвертер PDF. Если вам нужны лучшие результаты, то Ghostview имеет некоторую возможность конвертировать PDF-документы в другие форматы, для которых вам, возможно, будет проще создать программу просмотра Flash.

Но для простых PDF-документов FDView должен работать достаточно хорошо.

Доступен ли FDView где-нибудь еще? code4net.com, похоже, исчез.

Michael Myers 30.08.2011 20:18

@Michael Не то, чтобы я мог легко найти. Я оставлю этот ответ на случай, если кто-то повторно разместит fdview в другом месте.

Adam Davis 02.09.2011 20:09

Чтобы передать файл в браузер, см. Вопрос о переполнении стека Как передать файл PDF в виде двоичного файла в браузер с помощью .NET 2.0 - обратите внимание, что с небольшими вариациями это должно работать независимо от того, обслуживаете ли вы файл из файловой системы или генерируете динамически.

С учетом сказанного, упомянутая статья MSDN представляет собой довольно упрощенный взгляд на мир, поэтому вы можете также прочитать Успешная потоковая передача PDF-файла в браузер через HTTPS для некоторых заголовков, которые вам могут потребоваться.

При таком подходе лучше всего использовать iframe. Создайте одну веб-форму, которая передает файл, а затем поместите iframe на другую страницу с атрибутом src, установленным на первую форму.

@downvoter хочет объяснить, почему вы анонимно голосуете против ответа 10-летней давности?

GalacticCowboy 17.07.2018 16:46

Найдите этот код - чтобы встроить PDF в HTML

<!-- Embed PDF File -->
<object data = "YourFile.pdf" type = "application/x-pdf" title = "SamplePdf" width = "500" height = "720">
    <a href = "YourFile.pdf">shree</a> 
</object>

Похоже, это не работает. У меня всегда получается пустой серый экран вместо pdf. Но переключение src на data, как в ответе @Gayle, действительно работает.

Mottie 21.10.2011 18:07

Я использую Chrome 44, и он не работает. Я также пробовал переключать данные на src.

NotJay 05.08.2015 21:19

type = "application / pdf" устраняет проблему. Прекрасно работает в хроме.

Gavin Simpson 27.10.2018 18:10

Включение type = "application / x-pdf" теперь фактически предотвратит рендеринг как в Chrome, так и в FireFox. Его следует удалить.

Jared Wilber 01.07.2020 03:52

Вы также можете использовать для этого программу просмотра PDF-файлов Google. Насколько я знаю, это не официальная функция Google (я ошибаюсь?), Но у меня она работает очень хорошо и плавно. Вам нужно куда-то загрузить свой PDF-файл и просто использовать его URL-адрес:

<iframe src = "http://docs.google.com/gview?url=http://example.com/mypdf.pdf&embedded=true" style = "width:718px; height:700px;" frameborder = "0"></iframe>

Важно то, что ему не нужен Flash-плеер, он использует JavaScript.

Следует упомянуть, что существует верхний предел размера отображаемого PDF-файла. Я думаю, что сейчас это 10 МБ / 100 страниц. PS: Я не думаю, что зритель «неофициальный»; у них даже есть страница с инструкциями, которая создает для вас URL для встраивания: docs.google.com/viewer

SuperElectric 29.04.2011 20:26

Этот вариант отлично работает, но вы должны сделать свои PDF-файлы общедоступными, что для меня не всегда вариант.

KoviNET 19.08.2012 11:19

@riot_starter это решение больше не работает, если вы полностью вышли из Google, оно загружается нормально, если вы полностью вошли в систему, оно загружается нормально, однако, если вы находитесь между ними (что бы это ни значило), он запрашивает ваш пароль. А в случае с iframe он просто не загружается.

dwenaus 03.04.2013 00:23

Вы можете установить конфиденциальность любых документов Google между public, sign-in required и private. Это определенно официальная функция, учитывая, что любой документ в Google Docs имеет опцию embed.

b1nary.atr0phy 06.04.2013 04:44

Еще одна вещь, о которой следует упомянуть, - это предупреждение «вы недавно сделали слишком много запросов», что является ограничением.

kommradHomer 25.06.2013 18:16

Scribd больше не требует, чтобы вы размещали свои документы на их сервере. Если вы создадите учетную запись с ними, вы получите идентификатор издателя. Для загрузки файлов PDF, хранящихся на вашем собственном сервере, требуется всего несколько строк кода JavaScript.

Подробнее см. Инструменты разработчика.

Не могли бы вы опубликовать еще одну ссылку, показывающую, как это делается? Это не ясно из размещенной вами ссылки.

SuperElectric 29.04.2011 20:41

Похоже, они обновили свой сайт и изменили эту страницу. Я думаю, что на этой странице есть контент, о котором я упоминал в своем исходном сообщении: scribd.com/developers/api?method_name=Javascript+API

Bjorn 30.04.2011 14:19

Хотелось бы, чтобы это нравилось мне больше, чем один раз, работает отлично. Прокрутите веб-сайт вниз и нажмите API, чтобы увидеть примеры.

Rocco The Taco 06.08.2013 00:52

Регистрация на scribd закрыта.

Lance Fisher 23.09.2015 11:11

У вас есть некоторый контроль над тем, как PDF-файл отображается в браузере, передав некоторые параметры в строке запроса. Я был счастлив, что это работает, пока не понял, что это не работает в IE8. :(

Он работает в Chrome 9 и Firefox 3.6, но в IE8 отображается сообщение «Вставьте сюда сообщение об ошибке, если PDF-файл не может быть отображен».

Однако я еще не тестировал старые версии ни одного из вышеперечисленных браузеров. Но вот код, который у меня есть, на случай, если он кому-то поможет. Это устанавливает масштаб на 85%, удаляет полосы прокрутки, панели инструментов и панели навигации. Я обновлю свой пост, если найду что-то, что работает и в IE.

<object width = "400" height = "500" type = "application/pdf" data = "/my_pdf.pdf?#zoom=85&scrollbar=0&toolbar=0&navpanes=0">
    <p>Insert your error message here, if the PDF cannot be displayed.</p>
</object>

Это лучшее решение, потому что оно использует возможности браузера, а не сложное стороннее решение. Во все современные браузеры (IE9, FF или Chrome) PDF должен хорошо встраиваться. Извините за пользователей IE 6/7. Их нужно обновлять. Мы давно перестали поддерживать эти браузеры. :(

Adrian P. 14.02.2013 04:55

Это быстро, легко, по делу и не требует сторонних скриптов:

<embed src = "http://example.com/the.pdf" width = "500" height = "375" 
 type = "application/pdf">

ОБНОВЛЕНИЕ (03.02.2021)

Adobe теперь предлагает собственный PDF Embed API.

https://www.adobe.io/apis/documentcloud/dcsdk/pdf-embed.html

ОБНОВЛЕНИЕ (1/2018):

Браузер Chrome на Android больше не поддерживает встраивание PDF. Вы можете обойти это, используя программу просмотра PDF-файлов на Google Диске.

<embed src = "https://drive.google.com/viewerng/
viewer?embedded=true&url=http://example.com/the.pdf" width = "500" height = "375">

Лучше использовать тег <object>, чтобы можно было включить откат.

Jonathon Hill 29.08.2011 19:53

если вы хотите убедиться, что он будет показан вместо автоматической загрузки pdf (как это случилось со мной), добавьте type='application/pdf' в тег вставки

Hassek 04.09.2012 19:44

Лучше использовать тег <object>, потому что он может отображать альтернативный контент в браузерах, которые не могут отображать PDF-файлы. Можете даже поместить тег <embed> в тег <object>, если хотите. Ссылка: stackoverflow.com/questions/1244788/embed-vs-object

Raphael 11.09.2012 20:05

Преобразуйте его в PNG с помощью ImageMagick и отобразите PNG (быстро и грязно).

<?php
  $dir = '/absolute/path/to/my/directory/';
  $name = 'myPDF.pdf';
  exec("/bin/convert $dir$name $dir$name.png");
  print '<img src = "$dir$name.png" />';
?>

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

Или конвертируйте изображение в PNG с помощью приложения, например Preview на Mac.

Garrett 05.09.2012 22:19

но можно ли это сделать программно?

Dan Mantyla 22.09.2012 01:55

что делать, если в документе больше 1 страницы? Я думаю, тогда вы покажете только первую страницу

seb 10.11.2014 16:49

@seb это было давно, но я смог использовать его в двух-трехстраничных PDF-файлах. Было бы неразумно идти намного дальше этого, я думаю, что мобильным браузерам трудно отображать такие изображения. Вот почему я назвал его «быстрым и грязным» методом, но я думаю, что это хороший метод, если PDF-файл занимает не более нескольких страниц.

Dan Mantyla 22.11.2014 01:33

Если вы откроете PDF-файл с помощью библиотеки zend, вы можете сделать foreach($pdf->pages as $page) и создать изображение для каждой страницы.

99 Problems - Syntax ain't one 04.10.2016 18:04

Использование как <object>, так и <embed> предоставит вам более широкую совместимость с браузерами.

<object data = "http://yoursite.com/the.pdf" type = "application/pdf" width = "750px" height = "750px">
    <embed src = "http://yoursite.com/the.pdf" type = "application/pdf">
        <p>This browser does not support PDFs. Please download the PDF to view it: <a href = "http://yoursite.com/the.pdf">Download PDF</a>.</p>
    </embed>
</object>

Это не будет работать в браузерах, если надстройка pdf не установлена ​​или устарела.

Umair Hamid 09.12.2014 09:37

Кроме того, это не будет проверено для тех, кто занимается проверкой кода.

NotJay 05.08.2015 21:22

Это отлично сработало для меня, тогда как использование тега embed само по себе считалось unsafe в Chrome и Firefox.

Richie Thomas 20.10.2017 00:44

По какой-то причине на Android (Chrome) он не встраивает PDF-файл, а вместо этого предлагает его загрузить. На iPhone (сафари) отображается только первая страница PDF-файла.

Ivan Rubinson 22.02.2018 18:01

Один из вариантов, который вам следует рассмотреть, - Известный PDF
. У него есть бесплатный план, если вы не планируете онлайн-сотрудничество в режиме реального времени с PDF-файлами.

Вставьте следующий iframe в любой HTML-код и наслаждайтесь результатом:

<iframe width='1000' height='800' src='http://bit.ly/1JxrtjR' frameborder='0' allowfullscreen></iframe>
<object width = "400" height = "400" data = "helloworld.pdf"></object>
  1. Создайте контейнер для вашего PDF-файла

    <div id = "example1"></div>
    
  2. Сообщите PDFObject, какой PDF-файл нужно встроить и куда его вставить.

    <script src = "/js/pdfobject.js"></script>
    <script>PDFObject.embed("/pdf/sample-3pp.pdf", "#example1");</script>
    
  3. При желании вы можете использовать CSS для определения визуального стиля, включая размеры, границу, поля и т. д.

    <style>
    .pdfobject-container { height: 500px;}
    .pdfobject { border: 1px solid #666; }
    </style>
    

источник: https://pdfobject.com/

Это было очень хорошее решение, которое хорошо работало в сочетании со стилем начальной загрузки. Все это происходило поверх других элементов начальной загрузки.

netfed 06.02.2019 02:32

Вы пробовали с файлом blob? Я использовал это с pdf.output('bloburl') из библиотеки jspdf, но, похоже, он не работает в IE11.

Hoang Tran Son 29.04.2019 13:06

Это хорошее решение, но оно не работает даже в последней версии браузера Safari для iPhone :(

Mehmet Taha Meral 11.06.2020 19:36

PdfToImageServlet с помощью команды ImageMagick convert.

Пример использования: <img src='/webAppDirectory/PdfToImageServlet?pdfFile=/usr/share/cups/data/default-testpage.pdf'>

Если вы не хотите размещать PDF.JS самостоятельно, вы можете попробовать DocDroid. Он похож на программу просмотра PDF-файлов Google Диска, но позволяет настраивать брендинг.

Я обнаружил, что это работает нормально, и браузер обрабатывает это в firefox. IE не проверял ...

<script>window.location='url'</script>

Чего это должно достичь? Я не понимаю, как он отвечает на вопрос.

TRiG 06.09.2018 14:08

Когда я встраиваю PDF-файл в свой HTML-код, я считаю, что лучше всего иметь ссылку на этот документ. например, <a href = "server1.network/trifold_JonesChiro.pdf" target='_blank'> Клиентский портал Trifold (образец) </a>, иногда простой ответ - открыть страницу и показать pdf или tring, чтобы поместить ее в html. Это также позволяет PDF-файлу оставаться открытым во вкладке.

Wynn 07.09.2018 18:27

Итак, ваша рекомендация - ссылаться, а не встраивать? Это нормально, но в качестве ответа это довольно непонятно.

TRiG 08.09.2018 18:26

Наша проблема в том, что по юридическим причинам нам не разрешено временно хранить PDF на жестком диске. Кроме того, не следует перезагружать всю страницу при отображении PDF-файла в качестве предварительного просмотра в браузере.

Сначала мы попробовали PDF.jS. Он работал с Base64 в программе просмотра для Firefox и Chrome. Однако для нашего PDF это было неприемлемо медленно. IE / Edge вообще не работал.

Поэтому мы попробовали это со строкой Base64 в теге объекта HTML. Это снова не сработало для IE / Edge (возможно, та же проблема, что и с PDF.js). В Chrome / Firefox / Safari опять же без проблем. Поэтому мы выбрали гибридное решение. В IE / Edge мы используем IFrame, а для всех остальных браузеров - объектный тег.

Решение IFrame, конечно, также будет работать для Chrome и компании. Причина, по которой мы не использовали это решение для Chrome, заключается в том, что, хотя PDF-файл отображается правильно, Chrome отправляет новый запрос к серверу, как только вы нажимаете "скачать" в предварительном просмотре.. Требуемое скрытое поле pdfHelperTransferData (для отправки данных формы, необходимых для создания PDF-файла) больше не установлено, потому что PDF-файл отображается в IFrame. Для этой функции / ошибки см. Chrome отправляет два запроса при загрузке PDF (и отменяет один из них).

Теперь проблемные дети IE9 и IE10 остаются. Для этого мы отказались от предварительного просмотра и просто отправили документ, щелкнув кнопку предварительного просмотра для загрузки пользователю (вместо предварительного просмотра). Мы много пробовали, но даже если бы мы нашли решение, дополнительные усилия для этой крошечной части пользователей не окупились бы. Вы можете найти наше решение для загрузки здесь: Скачать PDF без обновления с IFrame.

Наш Javascript:

var transferData = getFormAsJson()
if (isMicrosoftBrowser()) {
        // Case IE / Edge (because doesn't recoginzie Pdf-Base64 use Iframe)
        var form = document.getElementById('pdf-helper-form');
        $("#pdfHelperTransferData").val(transferData);
        form.target = "iframe-pdf-shower";
        form.action = "serverSideFunctonWhichWritesPdfinResponse";
        form.submit();
 } else {
        // Case non IE use Object tag instead of iframe
        $.ajax({
            url: "serverSideFunctonWhichRetrivesPdfAsBase64",
            type: "post",
            data: { downloadHelperTransferData: transferData },
            success: function (result) {
                $("#object-pdf-shower").attr("data", result);
            }
        })
 }

Наш HTML:

<div id = "pdf-helper-hidden-container" style = "display:none">
   <form id = "pdf-helper-form" method = "post">
        <input type = "hidden" name = "pdfHelperTransferData" id = "pdfHelperTransferData" />
   </form>
</div>

<div id = "pdf-wrapper" class = "modal-content">
    <iframe id = "iframe-pdf-shower" name = "iframe-pdf-shower"></iframe>
    <object id = "object-pdf-shower" type = "application/pdf"></object>
</div>

Чтобы проверить тип браузера для IE / Edge, см. Здесь: Как я могу обнаружить Internet Explorer (IE) и Microsoft Edge с помощью JavaScript? Я надеюсь, что эти результаты сэкономят время кому-то еще.

Извините, но я не понимаю, какое значение имеет переменная transferData?

Kate 17.10.2018 18:50

Привет @Kate! В нашем случае мы генерируем PDF-файл на основе ввода пользователя в нашу веб-форму. TransferData содержит данные, которые отправляются в виде JSON в функцию создания PDF в веб-API. Я добавил еще строчку кода для пояснения.

Userino 18.10.2018 10:56

Так я поступил с AXIOS и Vue.js:

        axios({
            url: `urltoPDFfile.pdf`,
            method: 'GET',
            headers: headers,
            responseType: 'blob'
        })
        .then((response) => {
            this.urlPdf = URL.createObjectURL(response.data)
        })
        .catch((error) => {
            console.info('ERROR   ', error)
        })

динамически добавить urlPDF в HTML:

<object width='100%' height='600px' :data='urlPdf' type='application/pdf'></object>
  1. Создайте большой двоичный объект из входных байтов PDF
  2. Используйте iframe и PDF.js с исправлением этот кросс-браузер обходной путь

URI для iframe должен выглядеть примерно так:

/viewer.html?file=blob:19B579EA-5217-41C6-96E4-5D8DF5A5C70B

Теперь FF, Chrome, IE 11 и Edge отображают PDF-файл в средстве просмотра в iframe, переданном через стандартный URI большого двоичного объекта в URL-адресе.

Вы можете использовать относительное расположение сохраненного PDF-файла следующим образом:

Пример1

<embed src = "example.pdf" width = "1000" height = "800" frameborder = "0" allowfullscreen>

Пример2

<iframe src = "example.pdf" style = "width:1000px; height:800px;" frameborder = "0" allowfullscreen></iframe>

Chrome понимает, что встраивание похоже на Flash, и автоматически блокирует его. iFrame с начальной загрузкой - хороший вариант.

Mehmet Taha Meral 11.06.2020 19:38

Мне пришлось предварительно просмотреть PDF-файл с помощью React, поэтому, попробовав несколько библиотек, моим оптимальным решением было получить данные и удалить их.

const pdfBase64 = //fetched from url or generated with jspdf or other library

  <embed
    src = {pdfBase64}
    width = "500"
    height = "375"
    type = "application/pdf"
  ></embed>

просто используйте iFrame для PDF.

У меня были особые потребности в моем приложении React.js, я пробовал миллионы решений, но в итоге получил iFrame :) Удачи!

Я обнаружил, что лучший способ встроить PDF-файл для моего случая - использовать бутстрап, потому что он не только показывает PDF-файл, но также заполняет доступное пространство, и вы можете указать соотношение по своему усмотрению. Вот пример того, что я с ним сделал:

<link rel = "stylesheet" href = "https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css">

<div class = "embed-responsive embed-responsive-1by1">
  <iframe class = "embed-responsive-item" src = "http://example.com/the.pdf" type = "application/pdf" allowfullscreen></iframe>
</div>

<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>

Раньше у меня возникла проблема с внедрением base64, закодированного с помощью PDF, из-за ограничения URI, поэтому любые файлы размером более 2 МБ не будут правильно отображаться в Chrome.

Мое решение:

  1. Преобразование URI, закодированного в Blob:

  2. Создайте временную базу строки DOM на Blob.

    const blob = dataURItoBlob(this.dataUrl);

    var temp_url = window.URL.createObjectURL(blob);

  3. Решите, где вы хотите прикрепить iframe к DOM:

    const target = document.querySelector(targetID);

    target.innerHTML = `<iframe src='${temp_url}' type = "application/pdf"></iframe>

Если вы не хотите размещать PDF-файлы самостоятельно или хотите настроить программу просмотра PDF-файлов с дополнительными функциями безопасности, такими как запрет пользователям загружать PDF-файл. Рекомендую использовать CloudPDF. https://cloudpdf.io

<!DOCTYPE html>
<html lang = "en">
<head>
  <meta charset = "UTF-8">
  <meta name = "viewport" content = "width=device-width, initial-scale=1.0">
  <title>CloudPDF Viewer</title>
  <style>
    body, html {
      height: 100%;
      margin: 0px;
    }
  </style>
</head>
<body style = "height: 100%">
  <div id = "viewer" style = "width: 800px; height: 500px; margin: 80px auto;"></div>
  <script type = "text/javascript" src = "https://cloudpdf.io/viewer.min.js?version=0.1.0-beta.11"></script>
  <script>
    document.addEventListener('DOMContentLoaded', function(){
      const config = { 
        documentId: 'eee2079d-b0b6-4267-9812-b6b9eadb9c60',
        darkMode: true,
      };
      CloudPDF(config, document.getElementById('viewer')).then((instance) => {

      });
    });
  </script>
 </body>
</html>
<embed src = "data:application/pdf;base64,..."/>

это не ссылка

raoof 06.02.2021 16:23

Другие вопросы по теме