it-swarm-es.tech

Modificando PDF archivos

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

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

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

16
Maciej Piechotka

Utilizo principalmente pdftk. 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 muchas de las funciones de las excelentes páginas pdf PDF paquete de archivos (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 de agua, cifrar, firmar y modificar PDF archivos. "

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

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

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

20
frabjous

Conozco dos programas para manipular archivos PDF en Linux:

PDEedit "PDFedit es un editor de pdf de código abierto gratuito y una biblioteca para manipular documentos PDF, publicado bajo los términos de GNU versión GPL 2. Incluye PDF biblioteca de manipulación basada en xpdf, GUI, 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 quitagrapas electrónico, perforador, encuadernador, anillo decodificador secreto y rayos X) -glasses. Pdftk es una herramienta simple para hacer cosas cotidianas con PDF documentos. "

12
fschmitt

La única forma que encontré para agregar números de página a 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!).

4
Dario Seidl

LaTeX con los paquetes pdfpages y bookmark puede hacer la mayoría de estas cosas.

Esto funciona creando un nuevo documento tex e incluyendo el original PDF documentos (o partes de él) a través de \includepdf (consulte el manual de páginas pdf ).

También puede cambiar la numeración de las páginas, 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 PDF lectores pueden usar para navegar a una página en particular. También existen los números de página "físicos" subyacentes que se ejecutan consecutivamente desde 1, para niveles inferiores interacciones (ver más abajo).

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

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

dónde <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 principio del pdf. La anidación de marcadores se realiza especificando <level>, dónde 0 es el nivel superior. Los <title> es el texto que se mostrará en el PDF esquema del lector. Consulte el manual de marcadores para obtener más detalles.

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

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

4
Michael Goerz

pdfimport para openoffice es una buena alternativa para editar documentos PDF y reexportarlos a PDF o guardar en otro formato. El PDF se puede editar con OpenOffice Draw.

2
oposit