¿Es posible vincular a un marcador dentro de un PDF utilizando parámetros de URL?

82

Al proporcionar un enlace a un archivo PDF en un sitio web, ¿es posible incluir información en la URL (parámetros de solicitud) que hará que el complemento del navegador PDF (si se usa) salte a un marcador en particular en lugar de simplemente abrirse al principio?

Algo como: http://www.somehost.com/user-guide.pdf?bookmark=chapter3 ?

Si no es un marcador, ¿sería posible ir a una página en particular?

Supongo que si hay una respuesta, puede ser específica del complemento de lector de PDF de Adobe o algo así, y puede tener limitaciones de versión, pero lo que más me interesa es si la técnica existe.

Chris Carruthers
fuente

Respuestas:

78

Sí, puede vincular a páginas específicas por número o ubicaciones con nombre y eso siempre funcionará si el navegador del usuario usa Adobe Reader como complemento para ver archivos PDF .

Para una página específica por número:

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

Para una ubicación con nombre (destino):

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


Para crear destinos dentro de un PDF con Acrobat:

  1. Navegue manualmente por el PDF hasta la ubicación deseada
  2. Vaya a Ver> Pestañas de navegación> Destinos
  3. En Opciones, elija Escanear documento
  4. Una vez que haya completado esto, seleccione Nuevo destino en el menú Opciones e ingrese un nombre apropiado
Wayne
fuente
16
Nota importante: los destinos con nombre no son marcadores. Puede agregar destinos con nombre usando adobe acrobat (¡completo, no lector!) Y su panel de navegación "destinos". No tengo conocimiento de cómo un enlace a los marcadores directamente. No hay ningún parámetro de URL documentado.
eFloh
Sé que esta es una vieja pregunta. Pero me pregunto si alguien sabe cómo agregar destinos con nombre a un pdf al crear el pdf en código .net. Estamos usando el componente pdf dinámico para crear nuestros pdf: s en .net. El pdf dinámico no admite la adición de designaciones con nombre.
mortb
1
no funciona con referencias relativas, por ejemplo somedir/my.pdf#page=3, y PDF-XChange Viewer (creado a partir de my.docx mediante Guardar como .. pdf de MS Office Professional Plus 2010 / 14.0.7116.5000 )
Andreas Dietrich
2
Parece que una simple marca de ancla funciona para "marcadores", al menos para Chrome v57. Entonces, un enlace como <a href=" example.com/file.pdf#mybookmark"> Texto del enlace </a> funciona para Chrome v57 (o superior, supongo)
Kemal Erdogan
16

La sección 3 de RFC 3778 especifica los "identificadores de fragmentos" que se pueden usar con archivos PDF, que incluyen nameddest y page.

sanxiyn
fuente
11

Hay varios parámetros de consulta que se pueden manejar. Lista completa a continuación:

Fuente

+-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
| 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
fuente
Es bueno que haya encontrado documentos completos para esto, @Matas. ¿Pero no hay ningún documento más nuevo disponible? Este tiene unos 10 años ...
Greg Dubicki
2
@GregDubicki Hola Greg, no creo que pueda haber uno nuevo, podría haber uno si lanzaran un nuevo tipo de pdf (como pdfx) ... depende de dónde esté el mecanismo que maneja la URL, supongo ...
Matas Vaitkevicius
7

Vale la pena agregar que la solución de Wayne también funciona en:

  • Chrome (desde la versión 14 de 2011, consulte este problema para obtener más detalles) (probado en la versión 44),
  • Firefox (probado en la versión 40),
  • Opera (probado en v. 31),

... PERO no funciona en:

  • Safari (v. 8) (pero hay una solicitud de función en el rastreador de errores de Safari de Apple)
Greg Dubicki
fuente
¿Tiene alguna información sobre cómo IE maneja los enlaces profundos de PDF?
TeeJaay
No, no tengo IE en mi máquina para probarlo, lo siento @TeeJaay.
Greg Dubicki