Modificar archivos PDF

15

Me gustaría hacer una edición básica en un archivo PDF existente. Más específicamente:

  • Agregar capítulos / marcadores
  • Cambiar numeración de páginas

Sin embargo, no puedo encontrar ninguna herramienta, GUI o línea de comando que ofrezca esta funcionalidad. ¿Hay alguna herramienta alternativa abierta gratis?

Maciej Piechotka
fuente

Respuestas:

19

Yo uso pdftk principalmente. Pero aquí hay algunos otros a considerar:

pdfsam (PDF Split and Merge) : "pdfsam es una herramienta de código abierto (licencia GPL) diseñada para manejar archivos pdf"

PDFJam "Una pequeña colección de scripts de shell que proporcionan una interfaz simple para gran parte de la funcionalidad del excelente paquete de archivos PDF pdfpages (por Andreas Matthias) para pdfLaTeX ". (También puede usar pdfLaTeX directamente).

jPDFTweak : "jPDF Tweak es una aplicación Java Swing que puede combinar, dividir, rotar, reordenar, marcar con agua, cifrar, firmar y modificar archivos PDF".

Inkscape: es un editor de gráficos vectoriales que puede importar páginas PDF en su formato SVG nativo y también exportar como PDF.

Calibre: software de gestión de libros electrónicos de código abierto que puede convertir archivos PDF a otros formatos y manipularlos de otras maneras. Viene con herramientas de línea de comandos como pdfmanipulate que pueden ser útiles.

Ghostscript, por supuesto, también puede hacer muchas cosas con archivos PDF.

precioso
fuente
Uso pdfjam pero parece que ninguno hará las 2 cosas que enumeré explícitamente.
Maciej Piechotka 21/10/10
2
No entendí la pregunta. Edite la pregunta para aclarar lo que quiere decir con "capítulos". Supuse que solo quería insertar una parte de un PDF dentro de otra. ¿Pero quizás te refieres a los marcadores en PDF (es decir, que aparecen en el panel lateral para algunos espectadores)? Puede que PDFJam no, pero el paquete pdfpages para PDFLaTeX, junto con el paquete HyperRef de LaTeX, puede manejarlos. pdfedit debería poder cambiar los números de página. Con pdfLaTeX / pdfpages puede recortar la parte inferior de la página y agregar otras nuevas. BRISS también puede recortar encabezados / pies de página, pero tendría que agregarlos nuevamente con otra cosa.
frabjous
Ah, y mbPDFasmaparentemente también puedo hacer cosas con marcadores, pero nunca lo he usado: thierry.schmit.free.fr/spip/spip.php?article15&lang=en
frabjous
2
Otra: jPDFBookmarks: flavianopetrocchi.blogspot.com/2009/03/...
frabjous
12

Conozco dos programas para manipular archivos PDF en Linux:

PDEedit "PDFedit es un editor de pdf de código abierto y una biblioteca para manipular documentos PDF, publicado bajo los términos de GNU GPL versión 2. Incluye una biblioteca de manipulación de PDF basada en xpdf, GUI, un conjunto de herramientas de línea de comandos y un editor de pdf".

y pdftk "Si PDF es papel electrónico, entonces pdftk es un removedor de grapas electrónico, perforadora, carpeta, anillo decodificador secreto y gafas de rayos X. Pdftk es una herramienta simple para hacer cosas cotidianas con documentos PDF. "

fschmitt
fuente
pdfedit: no tengo qt3 y no puedo instalarlo (no en portage) y no puedo hacer que se compile con qt4 (incluso con qt3support).
Maciej Piechotka
4

La única forma en que encontré agregar números de página a un PDF fue con LaTeX:

Cree un archivo /usr/local/bin/add-page-numbers.tex

\documentclass[8pt]{article}
\usepackage[final]{pdfpages}
\usepackage{fancyhdr}

\topmargin 70pt
\oddsidemargin 150pt

\pagestyle{fancy}
\rfoot{\Large\thepage}
\cfoot{}
\renewcommand {\headrulewidth}{0pt}
\renewcommand {\footrulewidth}{0pt}

\begin{document}
\includepdfset{pagecommand=\thispagestyle{fancy}}
\includepdf[pages=-]{input.pdf}
\end{document}

Y un archivo / usr / local / bin / pdf-numbers

#!/bin/bash
name="${1%\.pdf}-numbers"
wd="$(pwd)"
dir=/tmp/pdf-numbers
mkdir -p "$dir"
cp "$1" "$dir/input.pdf"
cd "$dir"
pdflatex --jobname "$name" /usr/local/bin/add-page-numbers.tex > /dev/null
mv "$name.pdf" "$wd"
rm -r "$dir"

Haga que el último archivo sea ejecutable y ejecútelo con

    pdf-numbers example.pdf

Creará un archivo pdf llamado example-numbers.pdf (¡y lo sobrescribirá si ya existe!).

Dario Seidl
fuente
Trabajando muy bien La imperfección se encuentra en caminos absolutos, pero eso no es nada que no pueda manejar. Sin embargo, ¿podría explicar cómo agregó estos números y cómo cambió las posiciones de los números?
kravemir
3

LaTeX con los paquetes pdfpagesy bookmarkpuede hacer la mayoría de estas cosas.

Esto funciona creando un nuevo texdocumento e incluyendo los documentos PDF originales (o partes del mismo) a través de \includepdf(consulte el manual de páginas pdf ).

También puede cambiar la numeración de la página, p. Ej.

\pagenumbering{roman}
\setcounter{page}{1}
% include pdf pages that should have roman numbering (the front matter)
\pagenumbering{arabic} % switch to arabic numbering
\setcounter{page}{1} % reset page counter
% include pdf pages that should have arabic numbering (the main matter)

Estos números de página "lógicos" son simplemente etiquetas que la mayoría de los lectores de PDF pueden usar para navegar a una página en particular. Todavía hay los números de página "físicos" subyacentes que se ejecutan consecutivamente desde 1, para las interacciones de nivel inferior (ver más abajo).

Después de haber incluido las páginas PDF existentes con la numeración lógica correcta de la página, puede establecer marcadores PDF ("contornos") usando el \bookmarkcomando. La sintaxis básica es

\bookmark[page=<pagenumber>,level=<level>]{<title>}

donde <pagenumber>es el número de página de la página de destino. Tenga en cuenta que estos no son los números de página "lógicos" definidos anteriormente, sino los números de página internos que se ejecutan consecutivamente desde 1, desde el comienzo del pdf. La anidación de marcadores se realiza mediante la especificación <level>, dónde 0está el nivel superior. El <title>es el texto que se mostrará en el esquema del lector de PDF. Consulte el manual de marcadores para más detalles.

Compilar el texarchivo generará un nuevo PDF con los números de página y marcadores deseados.

Para ver un ejemplo completo de cómo se combina todo esto, consulte https://michaelgoerz.net/notes/pdf-bookmarks-with-latex.html

Michael Goerz
fuente
Oh no, el enlace murió! Lo encontré en un archivo web.archive.org/web/20120616001456/https://michaelgoerz.net/…
Fsmv
El enlace actual es michaelgoerz.net/notes/pdf-bookmarks-with-latex.html
Michael Goerz
2

pdfimport para openoffice es una buena alternativa para editar documentos PDF y volver a exportarlos a PDF o guardarlos en otro formato. El PDF importado se puede editar con OpenOffice Draw.


fuente