Un reto relacionado con la edición de PDF’s

Me gustan los retos informáticos. Los que seguís este blog lo sabréis, y seguramente habréis disfrutado como yo con retos como el HackIt, HackIt2 y HackIt3. Pero no sólo de HackIts vive el hombre (ya podría ser!) 🙂 Así que, hoy traigo un reto más mundano: tenemos un PDF sin números de página (las hojas no están paginadas, vaya). El reto consiste en añadirle a cada página su número (1, 2, 3… etc.). Repito: es un PDF (no tengo el documento original a partir del cuál se creó). Y no quiero añadir los números a mano, claro, porque podría eternizarme 😉 Quiero que el ordenador trabaje por mí, y por supuesto, sólo se admiten soluciones basadas en software libre. ¿Te animas a superar el reto? Mañana (día 3 de Marzo), postearé la solución, pero mientras, ¡espero vuestras aportaciones! 😉

8 comentarios en «Un reto relacionado con la edición de PDF’s»

  1. Seguro que hay alguna forma mejor.
    Va voy a poner una solución a mi estilo:

    Con el openoffice generas un pdf con tantos números de página y páginas como tenga el pdf al que quieras añadir los números de página. (Esto se puede hacer con latex pero no tengo ganas de pensar)

    Una vez hecho esto haces lo siguiente:

    pdftk in.pdf multibackground back.pdf output out.pdf

    in.pdf es el fichero que querías ponele los número de página.
    back.pdf es el fichero con los números de página ya puestos.
    out.pdf es el resultado.

    Man de pdftk:
    multibackground
    Same as the background operation, but applies each page of the background PDF to the corresponding page of the input PDF. If the input PDF has more pages than the stamp PDF, then the final stamp page is repeated across these remaining pages in the input PDF.

  2. Buenas otra vez,

    Usando PDFCreator, en concreto el plugin pdfforge.dll y con un script he conseguido numerar un PDF.

    Este es el código del fichero .vbs

    Option Explicit

    Dim pdf, pdfText, WshShell
    Set WshShell = WScript.CreateObject(«WScript.Shell»)
    Set pdf = WScript.CreateObject(«pdfforge.pdf.pdf»)

    Set pdfText = Wscript.CreateObject(«pdfforge.pdf.pdfText»)

    pdfText.Text = «[PAGE]/[PAGES]»
    pdf.AddPageNumberToPDFFile «fich_entrada.pdf», «fich_paginado.pdf», 1, 0, 1, 0, 6, 10.0, 10.0, (pdfText)

    Set pdfText = Nothing
    Set pdf = Nothing

  3. lpr -p /home/user/texto.pdf

    man lpr
    -p
    Specifies that the print file should be formatted with a shaded
    header with the date, time, job name, and page number. This option
    is equivalent to «-o prettyprint» and is only useful when printing
    text files.

    Es decir, coloca una cabecera en cada página con: Fecha – hora, nombre del trabajo (el título del documento) y número de página.

    Es una opción poco versátil, pero muy rápida y efectiva. Además no es necesario instalar nada, siempre y cuando el PC tenga soporte para impresión.

  4. Genero muchos pdf con libreoffice (unos con calc y otros con writer) los uno con pdfsam [1].

    Tengo el mismo problema que Joanan, la numeración…..

    A-pdf fue mi primera eleccion, un desastre!!!
    Desde luego no hacia lo que prometia.

    Seguiré muy atento a este hilo, es vital para mi.

    [1] http://www.pdfsam.org/

  5. Hace ya años que se lanzó esta consulta, pero en el 2013 apareció una herramienta para windows que creo que mejora a las otras soluciones aportadas. Se llama «Coherent PDF command line tools» (https://community.coherentpdf.com).
    cpdf puede realizar multitud de acciones para editar PDFs desde la línea de comandos.

    En concreto, para poner los números de página el comando a ejecutar es:
    cpdf -add-text «%Page de %EndPage» -bottom 30pt in.pdf -o out.pdf

    Manual: http://www.coherentpdf.com/cpdfmanual.pdf
    Licencia: uso no comercial. Para uso comercial hay que comprar una licencia en https://www.coherentpdf.com/buy.html

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.