rad blog programowanie, majsterkowanie, życie

Google Docs Viewer jako przeglądarka PDF w Operze

G

Google Docs Viewer umożliwia przeglądanie dokumentów PDF, PowerPoint, DOC(X), TIFF i pewnie kilku innych na stronie internetowej, bez potrzeby pobierania ich na dysk naszego komputera czy posiadania specjalnego oprogramowania. Przyznacie, że to wygodne.
Powstało kilka sposobów na użycie Google Docs Viewer jako przeglądarki dokumentów w Operze. Bookmarklet, opcja w menu kontekstowym czy np. UserScript. Chciałbym jednak pokazać bardziej optymalne i intuicyjne rozwiązanie, bazujące na wbudowanym mechanizmie obsługi plików w Operze.

Cała sztuczka polega na tym, że zamiast zewnętrznej aplikacji do obsługi plików PDF takiej jak np. Adobe Acrobat Reader, użyjemy Opery z Google Docs Viewer. Po kliknięciu na link do pliku w tej samej karcie otworzymy Google Docs Viewer i podamy jej adres klikniętego linka.

Linux

Niestety wersja linuksowa Opery w przeciwieństwie do tej z Windows nie posiada zmiennej %s, która pozwala przekazać adres klikniętego odnośnika w zaawansowany sposób do zewnętrznej aplikacji. Będziemy musieli więc użyć prostego zewnętrznego skryptu shella, który przekaże nam automatycznie doklejany na końcu adres w pożądane przez nas miejsce. Ma to jednak i swoje zalety. Jeśli użyjemy tego sposobu dla kilku rodzajów plików w przypadku zmian w Google Docs Viewer wystarczy drobna poprawka w jednym pliku (a nie skojarzeń dla każdego z nich z osobna), aby wszystko ponownie działało poprawnie.

Oto małe HowTo:

  1. zapisujemy skrypt gview.sh (pokazany poniżej) np. w katalogu z nasza konfiguracją Opery ( domyślnie jest to /home/nazwa_użytkownika/.opera)
    #!/bin/bash
    # GView by rad
    # rev 3
     
    url=$(echo $* | sed 's/!/%21/g;s/*/%2A/g;s/'\''/%27/g;s/(/%28/g;s/)/%29/g;s/\;/%3B/g;s/:/%3A/g;s/@/%40/g;s/\&/%26/g;s/=/%3D/g;s/+/%2B/g;s/\$/%24/g;s/,/%2C/g;s/\//%2F/g;s/?/%3F/g;s/#/%23/g;s/\[/%5B/g;s/\]/%5D/g')
    opera -remote "openURL(http://docs.google.com/viewer?url=$url)"
    
  2. nadajemy skryptowi prawo wykonywalności:
    chmod +x gview.sh
    
  3. w Operze wybieramy Menu > Ustawienia > Preferencje > Zaawansowane > Pobieranie (położenie może się nieznacznie różnić w zależności od wersji Opery)
  4. wybieramy interesujący nas typ pliku, np. PDF i klikamy Edytuj. Można skorzystać z wyszukiwarki, dla niektórych typów plików trzeba będzie odznaczyć “Ukryj typy plików obsługiwane przez Operę” lub po prostu je dodać.
  5. w okienku, które się pojawi wybieramy “Otwórz za pomocą innej aplikacji”
  6. wskazujemy położenie naszego skryptu gview.sh
  7. i zaznaczamy “Przekaż adres WWW bezpośrednio do aplikacji”
  8. OK, OK, Gotowe 🙂

Działanie możemy sprawdzić na przykładowych plikach PDF.

W podobny sposób możemy przypisać otwieranie prezentacji programu PowerPoint czy dokumentów Worda. Jeśli zamiast podglądu będziemy chcieli zapisać, któryś z nich na dysku wystarczy kliknąć na link nie lewym, a prawym klawiszem myszki i wybrać opcję “Zapisz element docelowy jako…”.

P.S.: Oryginalny kod Google to 1687 linii JavaScript. Poddany kompresji, ze zmienionymi nazwami zmiennych i usuniętymi komentarzami przez co nie miałem jeszcze czasu się w niego wgryźć 😛
Skrypt na chwilę obecną powinien obsługiwać większość poprawnych adresów, ale nie wszystkie obsługiwane przez Google Doc Viewer.

Add comment

rad blog programowanie, majsterkowanie, życie

Kategorie