Czy można utworzyć łącze do zakładki w pliku PDF za pomocą parametrów adresu URL?

82

Czy podając link do pliku PDF na stronie internetowej, możliwe jest umieszczenie w adresie URL informacji (parametrów żądania), które sprawią, że wtyczka przeglądarki PDF (jeśli jest używana) przeskoczy do określonej zakładki, zamiast otwierać ją na początku?

Coś jak: http://www.somehost.com/user-guide.pdf?bookmark=chapter3 ?

Gdyby nie zakładka, czy można by było przejść do określonej strony?

Zakładam, że jeśli istnieje odpowiedź, może ona być specyficzna dla wtyczki czytnika PDF firmy Adobe lub czegoś podobnego i może mieć ograniczenia wersji, ale najbardziej interesuje mnie, czy ta technika w ogóle istnieje.

Chris Carruthers
źródło

Odpowiedzi:

78

Tak, możesz łączyć się z określonymi stronami według numerów lub nazwanych lokalizacji i to zawsze będzie działać, jeśli przeglądarka użytkownika używa programu Adobe Reader jako wtyczki do przeglądania plików PDF .

Dla określonej strony według numeru:

<a href="http://www.domain.com/file.pdf#page=3">Link text</a>

W przypadku nazwanej lokalizacji (celu):

<a href="http://www.domain.com/file.pdf#nameddest=TOC">Link text</a>


Aby utworzyć miejsca docelowe w pliku PDF za pomocą programu Acrobat:

  1. Ręcznie przejrzyj plik PDF, aby znaleźć żądaną lokalizację
  2. Idź do Widok> Karty nawigacyjne> Miejsca docelowe
  3. W obszarze Opcje wybierz opcję Skanuj dokument
  4. Po zakończeniu wybierz opcję Nowe miejsce docelowe z menu Opcje i wprowadź odpowiednią nazwę
Wayne
źródło
16
Ważna uwaga: nazwane miejsca docelowe nie są zakładkami. Nazwane miejsca docelowe można dodawać za pomocą programu Adobe Acrobat (pełny, nie czytnik!) I jego panelu nawigacyjnego „miejsca docelowe”. Nie wiem, jak jeden link do zakładek bezpośrednio. Nie ma udokumentowanego parametru adresu URL.
eFloh
Wiem, że to stare pytanie. Ale zastanawiam się, czy ktoś wie, jak dodać nazwane miejsca docelowe do pliku PDF podczas budowania pliku PDF w kodzie .net. Używamy komponentu Dynamic PDF do tworzenia naszych plików PDF w formacie .net. Dynamiczny plik PDF nie obsługuje dodawania nazwanych miejsc docelowych.
mortb
1
to nie działa z względną odniesienia, np somedir/my.pdf#page=3oraz PDF-XChange Viewer (utworzony z my.docx poprzez Save As .. pdf z MS Office Professional Plus 2010 / 14.0.7116.5000 )
Andreas Covidiot
2
Wygląda na to, że prosty znak kotwicy działa w przypadku „zakładek”, przynajmniej w przypadku Chrome v57. Tak więc link taki jak <a href=" example.com/file.pdf#mybookmark"> Tekst linku </a> działa w przeglądarce Chrome w wersji 57 (lub nowszej, jak przypuszczam)
Kemal Erdogan
16

RFC 3778 sekcja 3 określa „Identyfikatory fragmentów”, których można używać z plikami PDF, które obejmują nameddest i page.

sanxiyn
źródło
11

Istnieje wiele parametrów zapytania, które można obsłużyć. Pełna lista poniżej:

Źródło

+-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
| Syntax                  | Description                                                                                  | Example                                              |
+-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
| nameddest=destination   | Specifies a named destination in the PDF document                                            | http://example.org/doc.pdf#Chapter6                  |
+-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
| page=pagenum            | Specifies a numbered page in the document, using an integer                                  | http://example.org/doc.pdf#page=3                    |
|                         | value. The document’s first page has a pagenum value of 1.                                   |                                                      |
+-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
| comment=commentID       | Specifies a comment on a given page in the PDF document. Use                                 | #page=1&comment=452fde0e-fd22-457c-84aa-             |
|                         | the page command before this command.                                                        | 2cf5bed5a349                                         |
+-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
| collab=setting          | Sets the comment repository to be used to supply and store                                   | #collab=DAVFDF@http://review_server/Collab           |
|                         | comments for the document. This overrides the default comment                                | /user1                                               |
|                         | server for the review or the default preference. The setting is of the                       |                                                      |
|                         | form store_type@location, where valid values for store_type are:                             |                                                      |
|                         | ● DAVFDF (WebDAV)                                                                            |                                                      |
|                         | ● FSFDF (Network folder)                                                                     |                                                      |
|                         | ● DB (ADBC)                                                                                  |                                                      |
+-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
| zoom=scale              | Sets the zoom and scroll factors, using float or integer values. For                         | http://example.org/doc.pdf#page=3&zoom=200,250,100   |
| zoom=scale,left,top     | example, a scale value of 100 indicates a zoom value of 100%.                                |                                                      |
|                         | Scroll values left and top are in a coordinate system where 0,0                              |                                                      |
|                         | represents the top left corner of the visible page, regardless of                            |                                                      |
|                         | document rotation                                                                            |                                                      |
+-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
| view=Fit                | Set the view of the displayed page, using the keyword values                                 | http://example.org/doc.pdf#page=72&view=fitH,100     |
| view=FitH               | defined in the PDF language specification. For more information,                             |                                                      |
| view=FitH,top           | see the PDF Reference.                                                                       |                                                      |
| view=FitV               | Scroll values left and top are floats or integers in a coordinate                            |                                                      |
| view=FitV,left          | system where 0,0 represents the top left corner of the visible                               |                                                      |
| view=FitB               | page, regardless of document rotation.                                                       |                                                      |
| view=FitBH              | Use the page command before this command.                                                    |                                                      |
| view=FitBH,top          |                                                                                              |                                                      |
| view=FitBV              |                                                                                              |                                                      |
| view=FitBV,left         |                                                                                              |                                                      |
+-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
| viewrect=left,top,wd,ht | Sets the view rectangle using float or integer values in a                                   |                                                      |
|                         | coordinate system where 0,0 represents the top left corner of the                            |                                                      |
|                         | visible page, regardless of document rotation.                                               |                                                      |
|                         | Use the page command before this command.                                                    |                                                      |
+-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
| pagemode=bookmarks      | Displays bookmarks or thumbnails.                                                            | http://example.org/doc.pdf#pagemode=bookmarks&page=2 |
| pagemode=thumbs         |                                                                                              |                                                      |
| pagemode=none           |                                                                                              |                                                      |
+-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
| scrollbar=1|0           | Turns scrollbars on or off                                                                   |                                                      |
+-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
| search=wordList         | Opens the Search panel and performs a search for any of thewords in the specified word list. | #search="word1 word2"                                |
|                         | The first matching word ishighlighted in the document.                                       |                                                      |
|                         | The words must be enclosed in quotation marks and separated byspaces.                        |                                                      |
|                         | You can search only for single words. You cannot search for a string of words.               |                                                      |
+-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
| toolbar=1|0             | Turns the toolbar on or off.                                                                 |                                                      |
+-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
| statusbar=1|0           | Turns the status bar on or off.                                                              |                                                      |
+-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
| messages=1|0            | Turns the document message bar on or off.                                                    |                                                      |
+-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
| navpanes=1|0            | Turns the navigation panes and tabs on or off.                                               |                                                      |
+-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
| highlight=lt,rt,top,btm | Highlights a specified rectangle on the displayed page. Use the                              |                                                      |
|                         | page command before this command.                                                            |                                                      |
|                         | The rectangle values are integers in a coordinate system where                               |                                                      |
|                         | 0,0 represents the top left corner of the visible page, regardless of                        |                                                      |
|                         | document rotation                                                                            |                                                      |
+-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
| fdf=URL                 | Specifies an FDF file to populate form fields in the PDF file beingopened.                   | #fdf=http://example.org/doc.fdf                      |
|                         | Note: The fdf parameter should be specified last in a URL.                                   |                                                      |
+-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
Matas Vaitkevicius
źródło
Fajnie, że znalazłeś pełną dokumentację na ten temat, @Matas. Ale czy nie jest dostępny żaden nowszy dokument? Ten ma około 10 lat ...
Greg Dubicki
2
@GregDubicki Cześć Greg, nie sądzę, że może być nowy, mógłby istnieć, gdyby wydali nowy typ pliku PDF (np. Pdfx) ... zależy od tego, gdzie mechanizm obsługujący adres URL jest, jak sądzę ...
Matas Vaitkevicius
7

PDF Open Parameters dokumentuje dostępne fragmenty adresów URL, których możesz użyć.

rslemos
źródło
7

Warto dodać, że rozwiązanie Wayne'a sprawdza się również w:

  • Chrome (od w. 14 z 2011 r., Szczegóły w tym numerze ) (testowane na w. 44),
  • Firefox (testowany na v. 40),
  • Opera (testowana na w. 31),

... ALE to nie działa w:

  • Safari (wer. 8) (ale jest prośba o funkcję w narzędziu do śledzenia błędów Safari firmy Apple)
Greg Dubicki
źródło
Czy masz jakieś informacje o tym, jak IE obsługuje głębokie linki PDF?
TeeJaay
Nie, nie mam IE na moim komputerze, żeby to przetestować, przepraszam @TeeJaay.
Greg Dubicki