web-dev-qa-db-fra.com

Voir un PDF déposer en HTML pour ne pas télécharger

J'ai un fichier html pur très simple dans lequel j'ai beaucoup de fichiers PDF. J'ai un lien comme ça:

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

Lorsque je clique sur le lien, le fichier PDF est téléchargé et visualisé dans le programme Reader natif. Je veux qu'il s'ouvre dans une autre fenêtre du navigateur et que je le lise, plutôt que d'enregistrer une copie manuellement sur mon ordinateur et de l'ouvrir.

10
woninana

Mise à jour 2018

Presque tous les navigateurs modernes possèdent des visualiseurs PDF intégrés. Vous pouvez directement créer un lien vers le fichier PDF et le navigateur l'affichera. Vous pouvez également utiliser un <iframe> si vous souhaitez l'afficher dans une page HTML (par exemple, avec les en-têtes de votre site Web, etc.). 

Une autre approche, mais plus compliquée et non nécessaire, sauf dans des circonstances très particulières, consiste à convertir les fichiers PDF en HTML (comme décrit dans le n ° 1 de la réponse de 2012 ci-dessous).

Réponse originale (périmé, de 2012)

L'affichage du fichier PDF dans le navigateur (sans téléchargement) nécessite un add-on au navigateur du client. Google Chrome, par exemple, possède une visionneuse intégrée PDF et peut ouvrir des fichiers directement, tandis que IE et Firefox nécessitent l'installation d'un plug-in (celui fourni avec Adobe Reader).

Il y a deux autres approches:

  1. Convertissez le fichier en HTML, en image ou en tout autre format pouvant être visualisé directement dans le navigateur. Cette conversion peut se faire à la volée en utilisant un serveur (écrit en PHP, Python, ASP, quelle que soit la langue), ou vous pouvez simplement pré-convertir tous les fichiers en fichiers lisibles.

  2. L’autre approche, qui est la meilleure, consiste à utiliser un visualiseur PDF basé sur Flash (tel que http://flexpaper.devaldi.com/ ). C’est simple, flexible et ne nécessite pas d’écriture de code côté serveur. Cette approche est utilisée par de nombreux sites de partage de documents (par exemple http://www.scribd.com/ , http://www.slideshare.net/ , http : //www.docstoc.com/ )

10
Aziz

je l'utilise

pour le HTML

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

et le fichier view.php pour l’afficher au format 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;
?>

Assurez-vous que votre navigateur dispose du complément PDF. 

3
Bert

Mozilla a créé la bibliothèque PDF.js . Il affiche les fichiers pdf dans une page Web sans lecteur externe ni plugin.

3
VishnuMoorthy

Votre navigateur nécessite un lecteur PDF permettant de lire les fichiers PDF dans le navigateur. Une recherche rapide sur Google devrait vous en fournir une, quel que soit le navigateur que vous utilisez.

1
Oleksi

clic droit Ouvrir avec Choisir le programme par défaut Sélectionner Adobe Reader OK Si vous voulez ouvrir chrome à une autre application Mêmes étapes Dernière étape Sélectionner Chrome

0
Librarian

Si le fichier n'est pas mis en cache, il doit être téléchargé. C'est-à-dire si vous le récupérez en utilisant HTTP. Si c'est sur votre système de fichiers local, vous pouvez utiliser le schéma d'URI fichier .

0
Călin Darie