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 :)

rassom
źródło
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

Kristian
źródło
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.


źródło
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.

Chirag
źródło
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