Запуск предварительного просмотра PDF в кодировке base64 из javascript

Я осмотрел stackoverflow, пытаясь найти способ сделать это некоторое время, и не могу найти подходящий ответ. Мне нужно иметь возможность загружать PDF-файл в новом окне или в iframe через строку в кодировке base64 и запускать предварительный просмотр сразу после загрузки. Я могу легко загрузить PDF, используя оба этих метода, но не могу заставить его правильно отобразить предварительный просмотр. Вот что я попробовал:

С помощьюembed элемент в новом окне. призваниеwindow.print() пусто даже после загрузки контента.Использование скрытого, динамически созданногоiframe сsrc="data:application/pdf;base64,JVBERi0..." и звонитmyFrame.contentWindow.print(), Но это дает ошибку CORS. Я не уверен, почему, потому что я не загружаю новый домен через iframe, просто контент.Откройте новое окно только сiframe элемент как тот в # 2 и вызывая печать на всем окне. Это также показывает пустую белую страницу.Откройте новое окно с данными URI и распечатайте его.window.open('data:application/pdf;base64,JVBERi0...').print();, Это тоже не работает, так как даже не показывает предварительный просмотр. Я также пытался отложить это сsetTimeout но это тоже ничего не делает.

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

И если я щёлкну по значку печати, то предварительный просмотр будет идеальным. Что бы Chrome ни делал, когда я нажимаю эту кнопку, это именно то, чего я хочу достичь. Есть ли способ активировать эту функцию? Или есть другой способ сделать то, что я хочу? И чтобы уточнить, мне нужно только это для работы в Chrome, мне не нужно беспокоиться о других браузерах.

Ответы на вопрос(1)

Ваш ответ на вопрос