Jak poinstruować Chrome, aby pobierał pliki PDF zamiast (wstępnego) widoku w przeglądarce?


9

Mam plik PDF do pobrania przez użytkowników na mojej stronie internetowej.

Czy istnieje sposób, aby poinstruować Chrome, aby nie wyświetlał pliku PDF w przeglądarce użytkownika, gdy użytkownik kliknie link do pliku PDF, ale zamiast tego pobierze plik PDF do folderu pobierania użytkownika? A przynajmniej poinstruuj Chrome, aby zapytał użytkownika, czy chce wyświetlić plik PDF w przeglądarce, czy pobrać go (zamiast tylko automatycznie przeglądać w przeglądarce)?

Dzięki :)


Dzięki :) Wypróbowałem najwyżej ocenianą odpowiedź tutaj, ale to nie działa :( wordpress.stackexchange.com/questions/5419/…
rassom

1
Myślę, że to nie zadziała w przypadku chrome, ponieważ chrome wykrywa dokument jako pdf przed załadowaniem htaccess i interakcją z przeglądarką. więc chrome załaduje go jako plik PDF i nie będzie uzyskiwać dostępu do niego podczas pobierania.

Być może można by dodać javascript, który znajdzie łącze poprzez określony identyfikator CSS, a następnie doda do niego atrybut pobierania ref w3schools.com/TAgs/att_a_download.asp . Jeśli ktoś tutaj zna wystarczająco dużo javascript, aby to zrobić, pomoc będzie mile
widziana

1
@rassom, którego serwera używasz? Content-DispositionNagłówek wymienione w linku w pierwszym komentarzu jest właściwym sposobem, aby to zrobić.
heavyd

1
Content-Disposition w .htaccess nie działa, wypróbowałem już.
rassom

Odpowiedzi:


11

Możesz użyć downloadwłaściwości w swoim linku (kotwicy) w następujący sposób:

<a href="some/path/somefile.pdf" download target="_blank">download PDF file</a>

Wymusiłoby to pobieranie w przeglądarkach, które go obsługują (Chrome, Firefox i Opera). Jednak nie jest obecnie obsługiwany w IE ani Safari zgodnie z tym linkiem

Źródło: /programming/3802510/force-to-open-save-as-popup-open-at-text-link-click-for-pdf-in-html


1
Dokumentacja atrybutu, ponieważ ma kilka fajnych funkcji. Szkoda, że ​​IE jest uparty. w3schools.com/tags/att_a_download.asp

Jest też tak źle, że Chrome ogranicza atrybut dla tej samej domeny i tego samego portu :-( jednak pozwalają ci pobrać plik przez „Zapisz jako”
użytkownik1156544,

2

Nie jestem pewien, czy jest to możliwe dzięki niestandardowemu kodowi na stronie internetowej. O ile wiem, jest to całkowicie zależne od ustawień użytkownika w przeglądarce Chrome.

Zasadniczo po wpisaniu: chrome: // plugins / , wyświetli się lista wtyczek chrome, a jeśli użytkownik wyłączy wtyczkę o nazwie: Chrome PDF Viewer , tylko Chrome poprosi o pobranie pliku PDF, w przeciwnym razie PDF otworzy się tam automatycznie.


Dzięki, ale nie odpowiadam na pytanie, w jaki sposób, jako webmaster, mogę się upewnić, że tak postępują użytkownicy, którzy nie ustawili tego ustawienia preferencji Chrome. Ale miło z twojej strony, że odpowiedziałeś :-)
rassom

1

Można to zrobić po prostu zamiast klikać plik PDF, kliknąć go prawym przyciskiem myszy i wybrać „zapisz link jako”, a następnie Chrome rozpocznie pobieranie pliku PDF i upewnij się, że sprawdził format pliku przed zapisaniem adresu linku, ogólnie byłby to .pdf, ale jeśli nie, to ręcznie napisz .pdf po nim.


Dzięki, ale nie odpowiadam na pytanie, w jaki sposób, jako webmaster, mogę się upewnić, że tak postępują użytkownicy, którzy nie ustawili tego ustawienia preferencji Chrome. Ale miło z twojej strony, że odpowiedziałeś :-)
rassom
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.