Просмотр PDF-файла в HTML, чтобы не загружать его - PullRequest
11 голосов
/ 02 марта 2012

У меня есть очень простой чистый HTML-файл, в котором у меня много PDF-файлов.У меня есть такая ссылка:

<a href="pdffile.pdf"> PDF 1 here </a>

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

Ответы [ 6 ]

10 голосов
/ 02 марта 2012

2018 Обновление

Почти во всех современных браузерах есть встроенные средства просмотра PDF.Вы можете напрямую связаться с файлом PDF, и браузер будет просматривать его.Вы также можете использовать <iframe>, если хотите просмотреть его на HTML-странице (например, с заголовками вашего сайта и т. Д.).

Другой подход, но более сложный и не обязательный, за исключением особых обстоятельств, заключается в преобразовании файлов PDF в HTML (как описано в № 1 ответа 2012 года ниже).

Оригинальный ответ(Устарело, с 2012 г.)

Для просмотра PDF-файла в браузере (без загрузки) требуется дополнение к браузеру клиента.Например, Google Chrome имеет встроенную программу просмотра PDF и может открывать файлы напрямую, в то время как IE и Firefox требуют установки подключаемого модуля (который поставляется с Adobe Reader).

Существует двадругие подходы:

  1. Преобразование файла в HTML, изображение или любой другой формат, который можно напрямую просмотреть в браузере.Это преобразование может быть выполнено на лету с использованием серверной части (написано на PHP, Python, ASP, на любом другом языке), или вы можете просто предварительно преобразовать все файлы в читаемый.

  2. Другой подход, который является лучшим, заключается в использовании средства просмотра PDF на основе Flash (например, http://flexpaper.devaldi.com/).. Это просто, гибко и не требует написания кода на стороне сервера. Этот подход используетсяна многих сайтах обмена документами (например, http://www.scribd.com/, http://www.slideshare.net/, http://www.docstoc.com/)

3 голосов
/ 04 февраля 2015

Mozilla создала библиотеку PDF.js . Он отображает PDF-файлы на веб-странице без внешнего ридера или плагина.

3 голосов
/ 02 марта 2012

я использую это

для HTML

<a href="view.php?download_file=MIKOGO Remote Support.pdf"><img src="images/view.png" alt=" " border="0"/></a>

и файла view.php для просмотра его в формате PDF.

<?php

$path = $_SERVER['DOCUMENT_ROOT']."/demo/documents/"; // change the path to fit your websites document structure
$fullPath = $path.$_GET['download_file'];

if ($fd = fopen ($fullPath, "r")) {
$fsize = filesize($fullPath);
$path_parts = pathinfo($fullPath);
$ext = strtolower($path_parts["extension"]);
switch ($ext) {
    case "pdf":
    header("Content-type: application/pdf"); // add here more headers for diff. extensions
    header("Content-Disposition: inline; filename=\"".$path_parts["basename"]."\"");     
    break;
    default;
    header("Content-type: application/octet-stream");
    header("Content-Disposition: filename=\"".$path_parts["basename"]."\"");
}
header("Content-length: $fsize");
header("Cache-control: private"); //use this to open files directly
while(!feof($fd)) {
    $buffer = fread($fd, 2048);
    echo $buffer;
}
}
fclose ($fd);
exit;
?>

Убедитесь, что ваш браузеримеет надстройку PDF на нем.

1 голос
/ 02 марта 2012

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

0 голосов
/ 14 февраля 2019

правый клик Открыть с Выберите программу по умолчанию Выбрать Adobe Reader Хорошо Если вы хотите открыть Chrome любое другое приложение Те же шаги Последний шаг Выбрать Chrome

0 голосов
/ 02 марта 2012

Если файл не кэширован, его необходимо загрузить.То есть, если вы берете его с помощью HTTP.Если это ваша локальная файловая система, вы можете использовать file URI-схему .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...