Как изменить просмотрщик pdf браузеров через программу (например, HTML, JS, PHP?

цель: базовый просмотрщик pdf браузера, который имеет функцию масштабирования и перетаскивания/ панорамирования (лучше, если разрешить скрывать функцию сохранения), чтобы заменить браузер по умолчанию один

проблема: весь браузер (исключая старый IE) имеет свою собственную сборку в PDF viewer, которая без перетаскивания/панорамирования

В настоящее время этот код использует средство просмотра pdf по умолчанию:

<object id = 'zoomPage' type='application/pdf' data= '1.pdf'>
   <p>The PDF can not display
   </p>
</object>

можно ли заставить весь браузер (Chrome, FireFox, IE8+) с помощью adobe reader открыть pdf-файл с помощью javascript / jquery / html / php? Или есть ли какая-либо веб-база pdf viewer имеет функции, упомянутые выше?

Примечание:

для первого подхода:

Я нашел способ, например содержание-диспозиция: вложение

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

5 ответов


для подхода 2: (который я рекомендую) Проверьте:

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

в формате PDF.js-это портативный просмотрщик формата документа (PDF), который построен с В HTML5.

в формате PDF.js управляется сообществом и поддерживается Mozilla Labs. Наша цель создание универсальной платформы на основе веб-стандартов для синтаксического анализа и рендеринга PDF-файлов.

EDIT: для ваших потребностей в скорости проверьте обсуждение других параметров здесь:рекомендуемый способ встраивания PDF в HTML-код? и посмотреть, соответствуют ли другие параметры вашим требованиям.

подход 1 по своей сути является рискованной из-за соображений безопасности


единственный способ заставить его на стороне клиента-это предоставить альтернативу...например, pdf.JS, zoho, Google PDF viewer, scribd и т. д. (Их много). Я не уверен, что Adobe предоставляет просмотрщик pdf в браузере, как вы ожидаете.

средство просмотра pdf по умолчанию хранится в переменной, найденной в about: config, которая может быть изменена только пользователем.


можно ли заставить весь браузер (Chrome , FireFox , IE8+) использовать adobe reader для открытия pdf-файла с помощью javascript / jquery / html / php?

вы можете попробовать это, используя iframe, указывающий на файл pdf. Браузер автоматически откроет файл pdf с помощью программы чтения pdf на клиентском компьютере. Вот так:

<iframe src="yourpdffile" style="width:100%;height:500px"></iframe>

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

  1. вы можете контролировать, есть ли Adobe Reader с помощью javascript и кода, который проверяет, установлен ли читатель со скриптом этой (я использовал эти строки год назад, и они работа)

  2. попробуйте использовать этой плагин, который, возможно, для вас pourpose (ссылка на первое предложение).


вы также можете использовать google docs viewer для достижения этой функции.

просто обратитесь по этой ссылке:https://docs.google.com/viewer

вы можете получить url iframe и поместить его на свой сайт.

<iframe src="http://docs.google.com/viewer?url=http%3A%2F%2Fwww.yoursite.com%2Fpdf%2Ftest.pdf&embedded=true" width="600" height="780" style="border: none;"></iframe>

обратите внимание:value на на src is url encoded.

Проверьте пример скрипки JS здесь