Ist es möglich, mithilfe von URL-Parametern einen Link zu einem Lesezeichen in einer PDF-Datei zu erstellen?

82

Ist es beim Bereitstellen eines Links zu einer PDF-Datei auf einer Website möglich, Informationen in die URL aufzunehmen (Anforderungsparameter), die das PDF-Browser-Plugin (falls verwendet) dazu bringen, zu einem bestimmten Lesezeichen zu springen, anstatt nur am Anfang zu öffnen?

So etwas wie: http://www.somehost.com/user-guide.pdf?bookmark=chapter3 ?

Wenn kein Lesezeichen vorhanden wäre, wäre es möglich, zu einer bestimmten Seite zu wechseln?

Ich gehe davon aus, dass eine Antwort möglicherweise spezifisch für das PDF-Reader-Plugin von Adobe oder ähnliches ist und Versionsbeschränkungen aufweist. Ich bin jedoch hauptsächlich daran interessiert, ob die Technik überhaupt vorhanden ist.

Chris Carruthers
quelle

Antworten:

77

Ja, Sie können nach Nummer oder benannten Speicherorten auf bestimmte Seiten verlinken. Dies funktioniert immer, wenn der Browser des Benutzers Adobe Reader als Plugin zum Anzeigen von PDF-Dateien verwendet .

Für eine bestimmte Seite nach Nummer:

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

Für einen benannten Ort (Ziel):

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


So erstellen Sie mit Acrobat Ziele in einem PDF:

  1. Navigieren Sie manuell durch das PDF zum gewünschten Speicherort
  2. Gehen Sie zu Ansicht> Navigationsregisterkarten> Ziele
  3. Wählen Sie unter Optionen die Option Dokument scannen
  4. Wählen Sie anschließend im Menü Optionen die Option Neues Ziel und geben Sie einen geeigneten Namen ein
Wayne
quelle
16
Wichtiger Hinweis: Benannte Ziele sind keine Lesezeichen. Sie können benannte Ziele mit Adobe Acrobat (voll, nicht Reader!) Und dem Navigationsbereich "Ziele" hinzufügen. Ich habe keine Ahnung, wie man direkt auf Lesezeichen verweist. Es gibt keinen dokumentierten URL-Parameter.
eFloh
Ich weiß, das ist eine alte Frage. Aber ich frage mich, ob jemand weiß, wie man benannte Ziele zu einem PDF hinzufügt, wenn man das PDF in .net-Code erstellt. Wir verwenden das dynamische PDF der Komponente, um unsere PDFs in .net zu erstellen. Dynamisches PDF unterstützt das Hinzufügen benannter Ziele nicht.
Mortb
1
Es funktioniert nicht mit relativen Referenzen, z. B. somedir/my.pdf#page=3und PDF-XChange Viewer (erstellt aus einer my.docx über Save As .. pdf von MS Office Professional Plus 2010 / 14.0.7116.5000 )
Andreas Dietrich
2
Es scheint, dass eine einfache Ankermarkierung für "Lesezeichen" funktioniert, zumindest für Chrome v57. Ein Link wie <a href=" example.com/file.pdf#mybookmark"> Linktext </a> funktioniert also für Chrome v57 (oder höher, nehme ich an)
Kemal Erdogan
16

In Abschnitt 3 von RFC 3778 werden "Fragment-IDs" angegeben, die mit PDF-Dateien verwendet werden können, einschließlich "nameddest" und "page".

Sanxiyn
quelle
11

Es gibt mehrere Abfrageparameter, die verarbeitet werden können. Vollständige Liste unten:

Quelle

+-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
| 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
quelle
Schön, dass Sie hierfür vollständige Dokumente gefunden haben, @Matas. Aber ist kein neueres Dokument verfügbar? Dieser ist ungefähr 10 Jahre alt ...
Greg Dubicki
2
@ GregDubicki Hallo Greg, ich glaube nicht, dass es einen neuen geben kann, es könnte einen geben, wenn sie einen neuen PDF-Typ (wie pdfx) veröffentlichen würden ... hängt davon ab, wo sich der Mechanismus befindet, der mit URLs umgeht, nehme ich an ...
Matas Vaitkevicius
7

PDF Open Parameters dokumentiert die verfügbaren URL-Fragmente, die Sie verwenden können.

rslemos
quelle
7

Es lohnt sich hinzuzufügen, dass Waynes Lösung auch funktioniert in:

  • Chrome (seit Version 14 von 2011, Einzelheiten finden Sie in dieser Ausgabe ) (getestet in Version 44),
  • Firefox (getestet auf Version 40),
  • Opera (getestet in Vers 31),

... ABER es funktioniert nicht in:

  • Safari (Version 8) (es gibt jedoch eine Funktionsanforderung für den Safari-Bug-Tracker von Apple)
Greg Dubicki
quelle
Haben Sie Informationen darüber, wie der IE mit PDF-Deep-Links umgeht?
TeeJaay
Nein, ich habe keinen IE auf meinem Computer, um ihn zu testen, sorry @TeeJaay.
Greg Dubicki