Modifica dei file PDF


15

Vorrei fare alcune modifiche di base sul file PDF esistente. Più specificamente:

  • Aggiungi capitoli / segnalibri
  • Cambia la numerazione delle pagine

Tuttavia, non riesco a trovare alcun strumento, interfaccia grafica o riga di comando che possa offrire questa funzionalità. Esistono strumenti alternativi ad apertura libera?

Risposte:


19

Uso principalmente pdftk. Ma eccone alcuni da considerare:

pdfsam (PDF Split and Merge) : "pdfsam è uno strumento open source (licenza GPL) progettato per gestire i file pdf"

PDFJam "Una piccola raccolta di script di shell che forniscono un'interfaccia semplice a gran parte delle funzionalità dell'eccellente pacchetto di file PDF di pagine PDF (di Andreas Matthias) per pdfLaTeX ." (Puoi anche usare pdfLaTeX direttamente.)

jPDFTweak : "jPDF Tweak è un'applicazione Java Swing che può combinare, dividere, ruotare, riordinare, filigrana, crittografare, firmare e modificare in altro modo i file PDF."

Inkscape: è un editor di grafica vettoriale che può sia importare pagine PDF nel suo formato SVG nativo, sia esportare come PDF.

Calibre: software di gestione di ebook open source in grado di convertire i PDF in altri formati e manipolarli in altri modi. Viene fornito con strumenti da riga di comando come pdfmanipulate che possono essere utili.

Ghostscript ovviamente può fare molte cose anche con i file PDF.


Uso pdfjam ma sembra che nessuno farà le 2 cose che ho elencato esplicitamente.
Maciej Piechotka,

2
Ho frainteso la domanda. Modifica la domanda per chiarire cosa intendevi per "capitoli". Supponevo che volessi solo inserire una parte di un PDF all'interno di un'altra. Ma forse intendi i segnalibri pdf (cioè, che appaiono nel riquadro laterale per alcuni visualizzatori)? PDFJam potrebbe non esserlo, ma il pacchetto pdfpages per PDFLaTeX, insieme al pacchetto hyperref LaTeX, può gestirli. pdfedit dovrebbe essere in grado di cambiare i numeri di pagina. Con pdfLaTeX / pdfpages è possibile tagliare la parte inferiore della pagina e aggiungerne di nuovi. BRISS può anche tagliare intestazioni / piè di pagina, ma dovresti aggiungerli di nuovo con qualcos'altro.
frabjous,

Oh, e mbPDFasmapparentemente posso anche fare cose con i segnalibri, ma non l'ho mai usato: thierry.schmit.free.fr/spip/spip.php?article15&lang=en
frabjous


12

Conosco due programmi per manipolare PDF in Linux:

PDEedit "PDFedit è un editor pdf open source gratuito e una libreria per la manipolazione di documenti PDF, rilasciata in base a GNU GPL versione 2. Include una libreria di manipolazione PDF basata su xpdf, GUI, set di strumenti da riga di comando e un editor pdf."

e pdftk "Se il PDF è carta elettronica, allora pdftk è un dispositivo di rimozione graffette elettronico, perforatore, raccoglitore, anello di decodifica segreto e occhiali a raggi X. Pdftk è un semplice strumento per eseguire le attività quotidiane con documenti PDF. "


pdfedit: non ho qt3 e non riesco a installarlo (non in portage) e non riesco a farlo compilare con qt4 (anche con qt3support).
Maciej Piechotka,

4

L'unico modo che ho trovato per aggiungere numeri di pagina a un PDF era con LaTeX:

Crea un file /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}

E un file / 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"

Rendi eseguibile quest'ultimo file ed eseguilo con

    pdf-numbers example.pdf

Creerà un file pdf chiamato esempio-numeri.pdf (e lo sovrascriverà se esiste già!).


Funziona molto bene. L'imperfezione si trova in percorsi assoluti, ma non è nulla che non sia riuscito a gestire. Tuttavia, potresti elaborare come hai aggiunto questi numeri e come modificare le posizioni dei numeri?
kravemir,

3

LaTeX con il pdfpagesbookmark pacchetti e può fare la maggior parte di queste cose.

Funziona creando un nuovo texdocumento e includendo i documenti PDF originali (o parti di esso) tramite\includepdf (vedere il manuale di pdfpages ).

È inoltre possibile modificare la numerazione delle pagine, ad es

\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)

Questi numeri di pagina "logici" sono semplicemente etichette che la maggior parte dei lettori PDF può utilizzare per navigare verso una determinata pagina. Ci sono ancora anche i numeri di pagina "fisici" sottostanti che corrono consecutivamente da 1, per interazioni di livello inferiore (vedi sotto).

Dopo aver incluso le pagine pdf esistenti con la numerazione delle pagine logiche corretta, è possibile impostare i segnalibri PDF ("contorni") utilizzando il \bookmarkcomando. La sintassi di base è

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

dove <pagenumber>è il numero di pagina della pagina di destinazione. Si noti che questi non sono i numeri di pagina "logici" definiti in precedenza, ma i numeri di pagina interni eseguiti consecutivamente da 1, dall'inizio del pdf. La nidificazione dei segnalibri viene effettuata specificando <level>dove si 0trova il livello principale. Il <title>è il testo da visualizzare a grandi linee del lettore PDF. Vedi il manuale dei segnalibri per i dettagli.

Compilare il file tex file genererà un nuovo PDF con i numeri di pagina e i segnalibri desiderati.

Per un esempio completo di come tutto questo si riunisce, vedere https://michaelgoerz.net/notes/pdf-bookmarks-with-latex.html


Oh no il link è morto! L'ho trovato in un archivio web.archive.org/web/20120616001456/https://michaelgoerz.net/…
Fsmv


2

pdfimport per openoffice è una buona alternativa per modificare documenti PDF e riesportarli in PDF o salvarli in un altro formato. Il PDF importato può essere modificato con OpenOffice Draw.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.