Inserción de documentos PDF en LaTeX

Objetivo: aprender a insertar documentos PDF en nuestros ficheros creados en \LaTeX.

Con frecuencia puede resultarnos conveniente la posibilidad de insertar otros ficheros externos en la estructura de un documento que creemos empleando \LaTeX. El formato de salida más frecuéntemente elegido a la hora de compilar un fichero .tex es PDF, de modo que parece natural que \LaTeX pueda trabajar sin excesiva dificultad con otros ficheros creados en ese formato.

Para poder agregar otros archivos PDF a nuestro documento necesitamos hacer uso del paquete pdfpages:

\usepackage{pdfpages}

Esa es la magia de \LaTeX que una y otra vez me fascina: su capacidad para realizar tareas sorprendentes ampliando su funcionalidad mediante el uso de paquetes.

Los PDF que insertemos no tienen que ser necesariamente generados en \LaTeX; todos sirven.

En el punto del documento en el que deseemos que se realice la inserción utilizamos el comando:

\includepdf[pages=inicial-final]{nombre_del_documento}

Si el punto de inserción está en mitad de una página, \LaTeX forzará un salto de página llegado ese punto para que el PDF se agregue al comienzo de una nueva.

Observa que el primer parámetro es opcional (escrito entre corchetes). Si lo omites sólo se agregará la primera página del PDF.

El rango de páginas se indica mediante dos cifras separadas por un guión.

Por ejemplo:

[pages=3-7] Agrega sólo las páginas comprendidas entre la 3 y 7, ambas incluidas.

Si no especificamos un valor inicial \LaTeX asumirá que quieres insertar desde el principio:

[pages=-10] Agrega desde el comienzo hasta la página 10.

Del mismo modo, si no indicamos un valor final sobreentederá que es hasta el final del documento:

[pages=5-] Agrega desde la página 5 hasta la última.

Si queremos que se inserte el documento completo, omitimos los valores inicial y final, pero aún así debemos incluir el guión:

[pages=-] Agrega el documento completo, de principio a fin.

El parámetro obligatorio, el nombre del fichero, se indica entre llaves. Puedes omitir, si lo deseas, la extensión, pues se da por supuesto que estamos lidiando con PDFs.

Eso sí, si el PDF no está en el mismo directorio que el .tex asegúrate de incluir también la ruta (absoluta o relativa). Presta mucha atención y, aunque estés trabajando en una máquina Windows, usa como separador de directorio la barra al estilo Unix, /, y no \, pues esta última es un símbolo reservado de \LaTeX (el indicador de comando).

Veamos algunos ejemplos:

\includepdf{comparativa}

Agrega la primera página del fichero comparativa.pdf.

\includepdf[pages=25-27]{comparativa}

Inserta las páginas 25, 26 y 27 del fichero comparativa.pdf.

\includepdf[pages=-]{running/clasificacion}

Inserta la totalidad del documento clasificacion.pdf, almacenado en el directorio running, presente en la misma carpeta que el fichero .tex.

He esbozado aquí un uso básico de pdfpages, aunque, por lo general, suficiente en la mayor parte de las ocasiones. No obstante, hay muchas más cosas que el paquete puede hacer y te invito a consultar su documentación si deseas conocerlas.

Incluye pdfpages en tu kit de recursos. Disfruta de su potencia y eleva a un nuevo nivel la calidad de los documentos que generes en \LaTeX.

Javier Montero Gabarró


Inserción de documentos PDF en LaTeX


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Índice completo de artículos relacionados con \LaTeX.

39 opiniones en “Inserción de documentos PDF en LaTeX”

  1. Qué bueno. No conocía este paquete y desde luego que es para tenerlo en el “kit de recursos”. Alguna vez he incluido una página de un pdf con \includegraphics, pero es una chapuza.
    Gracias.

  2. Muy útil Javier, muchas gracias por tu dedicación 🙂 (Ya no estoy en Twitter, por lo que comentaré algo más, para darte ánimos para que continúes enseñandonos). Mil gracias.

  3. Buenas, necesito que el .pdf que inserto tenga el mismo formato que la sección en la que se encuentra. Es para un proyecto de fin de carrera y el .pdf que quiero asignar va en la parte de anexo. ¿Es esto posible?

    1. ¡Qué tal, Santi! Me temo que o bien acomodas el PDF con algún editor como Acrobat, o bien te planteas rehacerlo directamente desde LaTeX. Según el caso concreto será mejor una opción u otra.
      Saludos y suerte!

  4. consulta, tiene logica hacer cada uno de los capitulo de una tesis con archivos separados?, o mejor hacer todo junto en un solo archivo?
    la primer manera nos simplificaria ya que somos 2 personas trabajando en la misma y nos permitiria escribir por separado., al menos los primeros capitulos. como se hace en este caso la numeracion?, hay que tener cuidado y hacerlo manual para cada capitulo, verdad?

    1. Por supuesto. Esa es una idea excelente.
      No tienes que preocuparte por la numeración. LaTeX se ocupará de eso en el maquetado final. Que cada uno de vosotros identifique apropiadamente cada parte (capítulos, secciones, etc.) que luego LaTeX hará el resto.
      Eso sí, la compilación dejadla para el final, cuando tengáis preparados todos los .tex.
      La idea es que os centréis en el contenido más que en la forma. Dejad eso para el final.

  5. Saludos disculpa tengo una duda al momento de agregar un pdf hay alguna manera de continuar la numeración de las hojas ejemplo el pdf que agregue es un anexo y mi ultima página antes del anexo es 100 hay manera de que el pdf que agregue siga con la continuación es decir si dicho pdf tiene 14 hojas que la numeración siga hasta la 114?

    1. Qué tal.
      El paquete pdfpages dispone de un parámetro opcional, pagecommand, que permite controlar que comandos se ejecutarán en las páginas insertadas. Déjalo en blanco para que se respete el formato existente, lo que incluye la numeración de páginas. Por ejemplo:
      \includepdf[pages=-, pagecommand={}]{clasificacion}
      Saludos

    1. La instalación de paquetes depende de la distribución que utilices. Yo trabajo con MikTeX, que se ocupa automáticamente de la instalación de paquetes conforme los vamos necesitando.
      Saludos.

  6. ¡Muchísimas gracias! Me funcionó perfecto para añadir la página de datos del alumno al inicio de mi tesis. Era un problema que ya tenía días de darme dolores de cabeza porque requería que toda mi información estuviera en una cuartilla, pero si lo compilaba desde látex era estar buscando la forma de que sólo en esa página no hubiera espacio entre líneas y era modificar mil cosas. Pero santo remedio: Un word-> guardar como PDF -> \includepdf{datos} 😀

  7. ¿Se puede evitar el salto de pagina del principio? lo que esty haciendo es lo siguiente:

    \section{Anexos}
    \subsection{documeto pdf}
    \includepdf[pages=1-4,pagecommand={}]{documento1}

    es decir que el documento no aparezca en la pagina siguiente sino justo debajo de la subsection

    1. Me temo que lo que planteas sería problemático, rompería la paginación del pdf. Además, no tienen por qué coincidir el tamaño de página del documento latex con el del pdf.
      Los pdf han de permanecer como entidades separadas, con sus páginas bien diferenciadas.

  8. Hola muchas gracias por la información, me sirvió bastante, sólo tengo una duda, lo que pasa es que estoy uniendo varios pdfs que previamente he creado con latex, (varios artículos) cada uno de estos artículos tiene su numeración y tales y ps lo de la numeración lo puedo hacer manual y soluciono el problema, pero cada pdf tiene sus enlaces a sus imagenes y algunos enlaces a pagínas que funcionan muy bien en los pdfs individuales, pero al unirlos en un solo pdf estos enlaces se pierden al igual que las referencias de las imagenes, ¿no hay forma de conservar estos enlaces? por que básicamente la navegación que me da latex para cada artículo se pierde y me parece algo importante ser capaz de conservarlo.

    De antemano gracias por la atensión.

  9. se puede hacer que la pagina de pdf tenga el mismo tamaño que la que compilo con latex, me pasa que tengo la portada en pdf y al incluirla me quedan espacios en blanco a los lados

    1. Prueba a jugar con los parámetros scale, o height y width, al invocar a includepdf.
      Si, a pesar de todo, no lo consigues, envíame un .rar mínimo que ilustre el efecto que quieres corregir y le echaré un vistazo.
      Saludos

    1. De igual modo que en un artículo: con el comando \maketitle, al que habrás nutrido con declaraciones \title \author, etc… La diferencia es que en la clase book la portada aparece en una página aparte.
      Otra cosa es que este diseño básico te sea insuficiente, para lo que deberías recurrir a técnicas más avanzadas.
      Tomo nota para tratar este tema en el blog, partiendo de la portada básica a la que me he referido al comienzo.
      Saludos

      1. Me refería a agregar una portada elaborada con Inkscape, por ejemplo, la cual debe estar en primera página sin interferir con el índice creado con makeindex.

        O sea, lo que intenro hacer es insertar una hoja .pdf como primera página.

        Saludos.

  10. Me refería a agregar una portada elaborada con Inkscape, por ejemplo, la cual debe estar en primera página sin interferir con el índice creado con makeindex.

    O sea, lo que intenro hacer es insertar una hoja .pdf como primera página.

    Saludos.

  11. Hola, en primer lugar, muchísimas gracias por tu web, está genial y me ha ayudado muchísimo para escribir la tesis.

    Mi problema es que al insertar un pdf al final del fichero de latex, no queda centrado, queda como a la izquierda y arriba, cortando parte del pdf insertado. Sabes cómo lo podría centrar en la página? Tanto el fichero generado con latex como el pdf insertado son A4…

    También tengo otra duda aunque no es de este tema… en la tesis he hecho tres partes, el problema es que no sé cómo decirle que termine la tercera parte, por lo que al generar el pdf, en el índice de contenidos me aparecen las conclusiones, anexos, listas, referencias, etc. dentro de la parte III… cómo le puedo decir que termine la parte III o que en esa parte sólo incluya ciertos capítulos y no el resto?

    Mil gracias por todo!!

    Diana

    1. Qué tal Diana:
      Me alegro de que te esté resultando útil el blog. Vamos con las dudas:
      1) El problema que te está sucediendo al agregar el pdf al final probablemente sea debido a la incompatibilidad de pdfpages con ciertos paquetes que modifican el diseño de la página que estés utilizando (directamente o a través de una clase particular para tu tesis). Un modo de solucionar esto, si no quieres retocar la clase, es agregar individualmente las páginas pdf al final recurriendo al comando \includegraphics del paquete graphicx. Consulta la documentación del paquete para ver ejemplos de utilización.
      2) Las secciones LaTeX no se “finalizan” salvo si comienzas otra del mismo nivel o superior. Si deseas que tus conclusiones presenten la misma jerarquía que las partes, por ejemplo, en vez de formar parte de la última, puedes ensayar algo como esto:
      \part*{Conclusiones}
      El asterisco lo utilizamos para evitar que esa sección quede numerada.
      En el caso de que esta parte recién creada no te aparezca en el índice de contenidos, podrías forzar su aparición con:
      \addcontentsline{toc}(part}{Conclusiones}
      En sucesivos artículos intentaré tratar el tema de la estructuración y generación de la tabla de contenidos con el suficiente detalle.
      Saludos

  12. Buenos, en primer lugar gracias por tu tiempo y el blog. En segundo lugar, me gustaría plantear una duda que no consigo resolver con latex. En mi caso, me encuentro haciendo un proyecto técnico en el que tengo que incluir pdf en A3 en el capitulo de planos. La idea es, todo el documento en A4 y la parte de planos, cada plano en horizontal (o vertical eso realmente da igual), pero en su formato A3 original, sin la escala que le ajusta el \includepdf ¿Sería esto posible en latex?

    Gracias de antemano.

    Rafael Cosquiere.
    Cosquiere@gmail.com

  13. Buenas noches,

    Estoy haciendo el trabajo fin de grado de Matemáticas en LaTeX y hace tiempo incluí, gracias a tu artículo, la portada hecha en PDF. Me resultó fácil, cómodo y rápido. La cosa es que ahora, que lo tengo casi terminado, he tenido que modificar los márgenes y demás, utilizando nuevos comandos, que han hecho que la portada se me coloque descentrada, en lugar de ocupar todo el folio, ¿cómo podría arreglar esto?
    Muchísimas gracias.

    1. Buenos días, María:
      En última instancia, si no logras hacerlo funcionar con pdfpages (consulta la respuesta que le di a Diana más arriba) puedes intentarlo con includegraphics. Echa un vistazo a la documentación del paquete graphicx.
      Saludos

  14. Hola buenas!!
    En primer lugar darte las gracias por tus indicaciones son realmente my útiles. Mi problema es que al meter el pdf dentro de mi archivo latex me lo corta por arriba. Mi proyecto final es de ingeniería y tengo que meter planos pero no me “respeta” el formato original.
    Gracias!!

    1. Ismael, yo he estado en tu caso, y en mis proyectos lo que hago es crear el documento látex en y donde van los planos creo una página en blanco. Luego con “vista previa” ( editor de PDF en Mac) quito esas páginas en blanco y le meto los planos en A3.

      No se como se hará en Windows pero seguro que desde Acrobat puedes hacerlo. El tema de las páginas en blanco es para que respete la numeración de las páginas.

      A priori no parece una solución muy elegante pero funcional 100%.

Deja un comentario