2012-03-02 10 views
7

Mam bardzo prosty czysty plik HTML, w którym mam wiele plików PDF. Łączę to w następujący sposób:Zobacz plik PDF w HTML, aby go nie pobrać

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

Po kliknięciu linku plik PDF jest pobierany i wyświetlany w rodzimym programie Reader. Chcę, aby otworzyło się w innym oknie przeglądarki i tam ją przeczytałem, a następnie ręcznie zapisałem kopię na moim komputerze i otworzyłem ją.

+0

Wydaje się, że jest to znany problem w Chrome. Czy widzisz te same problemy gdzie indziej? W przypadku poprawki Chrome możesz użyć tego https://chrome.google.com/webstore/detail/nnbmlagghjjcbdhgmkedmbmedengocbn –

Odpowiedz

8

Przeglądanie pliku PDF w przeglądarce (bez pobierania) wymaga dodatku do przeglądarki klienta. Na przykład Google Chrome ma wbudowaną przeglądarkę plików PDF i może otwierać pliki bezpośrednio, podczas gdy IE i Firefox wymagają zainstalowania wtyczki (tej, która jest dostarczana z programem Adobe Reader).

Istnieją dwa inne sposoby:

  1. przekonwertować plik do formatu HTML, obrazu, lub innym formacie, które mogą być oglądane bezpośrednio w przeglądarce. Ta konwersja może być w locie za pomocą strony serwera (napisanej w PHP, Pythonie, ASP, w dowolnym języku), lub możesz po prostu wstępnie przekonwertować wszystkie pliki do czytelnego.

  2. Inne podejście, którym jest najlepsze, to użycie przeglądarki plików PDF opartej na technologii Flash (na przykład http://flexpaper.devaldi.com/). Jest to łatwe, elastyczne i nie wymaga pisania kodu po stronie serwera. Takie podejście jest używany przez wielu miejscach wymiany dokumentów (np http://www.scribd.com/, http://www.slideshare.net/, http://www.docstoc.com/)

+0

Myślę, że ta odpowiedź ma najbliższe rozwiązanie mojego problemu. Dzięki @Aziz – woninana

1

Twoja przeglądarka wymaga wtyczki do czytnika PDF, aby czytać pliki PDF w przeglądarce. Szybkie wyszukiwanie google powinno zapewnić jedną dla dowolnej przeglądarki, z której korzystasz.

0

Jeśli plik nie jest zapisany w pamięci podręcznej, musi zostać pobrany. To znaczy, jeśli złapiesz go za pomocą protokołu HTTP. Jeśli jest to w twoim lokalnym systemie plików, możesz użyć file URI scheme.

+0

Oznacza on, że chce, aby był wyświetlany w przeglądarce, a nie pobrany i przeglądany przez Adobe Reader. –

+1

Sądząc po innych odpowiedziach i głosach, masz rację. Ale wtedy jego pytanie powinno brzmieć jak "jak otworzyć PDF w oknie przeglądarki, a nie w innej aplikacji". Nie jest tak oczywiste, co on oznacza. –

+0

Masz rację, to nie jest oczywiste. Zmieniłem to pytanie, aby je rozwinąć. –

2

Używam tego

dla HTML

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

i pliku view.php do oglądania to poprzez 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; 
?> 

Upewnij się, że Twoja przeglądarka ma dodatek do PDF.

3

Mozilla utworzyła bibliotekę PDF.js. Wyświetla pliki PDF na stronie internetowej bez zewnętrznego czytnika lub wtyczki.

Powiązane problemy