Qualcuno può dirmi come rimuovere l'ultima pagina di un file PDF, utilizzando PDFtk?Rimuovere l'ultima pagina di un file pdf usando PDFtk?
risposta
Utilizzo dell'operazione cat
e specifica di un intervallo di pagine.
pdftk infile.pdf cat 1-r2 output outfile.pdf
Hai bisogno di trovare il numero di pagine, quindi utilizzare questo con la funzione pdftk gatto, dal momento che (AFAICT) pdftk non permette di specificare un "offset da ultimo".
Uno strumento come "pdfinfo" di Poppler (http://poppler.freedesktop.org/) può fornire questo.
Avvolgendo questo in un po 'di scripting bash può facilmente automatizzare questo processo:
page_count=`pdfinfo "$INFILE" | grep 'Pages:' | awk '{print $2}'`
page_count=$(($page_count - 1))
pdftk A="$INFILE" cat A1-$page_count output "$OUTFILE"
parametri Ovviamente aggiunta, il controllo degli errori, e ciò, non potrebbe anche essere disposto in detto script:
#! /bin/sh
### Path to the PDF Toolkit executable 'pdftk'
pdftk='/usr/bin/pdftk'
pdfinfo='/usr/bin/pdfinfo'
####################################################################
script=`basename "$0"`
### Script help
if [ "$1" = "" ] || [ "$1" = "-h" ] || [ "$1" = "--help" ] || [ "$1" = "-?" ] || [ "$1" = "/?" ]; then
echo "$script: <input-file.PDF> [<output-file.PDF>]"
echo " Removes the last page from the PDF, overwriting the source"
echo " if no output filename is given"
exit 1
fi
### Check we have pdftk available
if [ ! -x "$pdftk" ] || [ ! -x "$pdfinfo" ]; then
echo "$script: The PDF Toolkit and/or Poppler doesn't seem to be installed"
echo " (was looking for the [$pdftk] and [$pdfinfo] executables)"
exit 2
fi
### Check our input is OK
INFILE="$1"
if [ ! -r "$INFILE" ]; then
echo "$script: Failed to read [$INFILE]"
exit 2
fi
OUTFILE="$2"
if [ "$OUTFILE" = "" ]; then
echo "$script: Will overwrite [$INFILE] if processing is ok"
fi
timestamp=`date +"%Y%m%d-%H%M%S"`
tmpfile="/tmp/$script.$timestamp"
page_count=`$pdfinfo "$INFILE" | grep 'Pages:' | awk '{print $2}'`
page_count=$(($page_count - 1))
### Do the deed!
$pdftk A="$INFILE" cat A1-$page_count output "$tmpfile"
### Was it good for you?
if [ $? -eq 0 ]; then
echo "$script: PDF Toolkit says all is good"
if [ "$OUTFILE" = "" ]; then
echo "$script: Overwriting [$INFILE]"
cp -f "$tmpfile" "$INFILE"
else
echo "$script: Creating [$OUTFILE]"
cp -f "$tmpfile" "$OUTFILE"
fi
fi
### Clean Up
if [ -f "$tmpfile" ]; then
rm -f "$tmpfile"
fi
Questo comando awk potrebbe essere modificato per eseguire il decremento, semplificando in qualche modo lo script: grep Pages | awk '{printf ("% d", $ 2 - 1); } 'Questo rende $ (($ page_count - 1)) ridondante. – Kingsley
Non c'è bisogno di 'pdfinfo', in realtà,' pdftk' fornisce il numero di pagine con il sottocomando 'dump_data': produce una riga' NumberOfPages: 8' – kebs
Ricorda anche che non è necessario conoscere la pagina contare per rimuovere l'ultima pagina (almeno per le versioni di pdftk 1.45 e successive). Puoi usare '1-r2' per indicare la prima e la penultima pagina. Vedere la documentazione di 'pdftk' che dice quanto segue: È possibile fare riferimento ai numeri di pagina in ordine inverso facendoli precedere dalla lettera r. Ad esempio, la pagina r1 è l'ultima pagina del documento, r2 è la penultima pagina del documento e rend è la prima pagina del documento. È possibile utilizzare questo prefisso anche negli intervalli, ad esempio r3-r1 sono le ultime tre pagine di un PDF. – Six
Con cpdf, è possibile fare riferimento a una pagina di quanto è distante dalla fine del documento, utilizzando una tilde, nonché l'inizio.
Quindi, possiamo fare
cpdf in.pdf 1-~2 -o out.pdf
Grazie per aver creato questo strumento. Funziona come una magia. L'unica cosa che vorrei: del file di output non è specificato, il file "in.pdf" viene rinominato automaticamente (come, ad esempio, "in_1--2.pdf") – lanenok
Voglio anche ribadire quale pezzo incredibile di kit questo è! È eccezionalmente facile tagliare la prima o l'ultima pagina (o qualsiasi altra cosa). Anche la distribuzione del software è la perfezione, che consiste in un singolo binario statico (per Linux 32, Linux 64, OSX e Windows). Include anche un'ottima documentazione PDF. Sono sorpreso di non aver mai visto il software prima, forse perché non è open source (solo per uso non commerciale da quello che ho capito). – Six
- 1. pdftk Errore: Impossibile aprire il file PDF:
- 2. Rimuovere un numero di pagina, intestazione e piè di pagina dal file pdf
- 3. Unisci FDF e PDF senza PDFTK
- 4. pdftk e qpdf per ripristinare la sicurezza dei commenti PDF
- 5. PDFTK problemi fill_form utf8
- 6. PDFTK Rotating Pages Problema
- 7. Converti la pagina in PDF usando dompdf
- 8. Aggiungere margine al file PDF durante l'unione utilizzando PDFTK o simile
- 9. Crea un file PDF di documentazione Python
- 10. pdftk non decomprime i flussi di dati
- 11. Generare grafici in file PDF usando TCPDF
- 12. Come trovare e sostituire il testo in un file PDF esistente con PDFTK (o altra applicazione a riga di comando)
- 13. combina più grafici PDF in un file
- 14. MIME di un file PDF in una pagina HTML
- 15. Come includere la pagina in PDF nel documento PDF in Python
- 16. Leggi pdf usando iText
- 17. Come arricciare pagina per file pdf
- 18. set output location per pdftk sample.pdf burst
- 19. PHP + PDF, come salvare un PDF scaricato usando curl?
- 20. Generazione di PDF basato su modello di massa in PHP utilizzando pdftk
- 21. Come leggere i file PDF usando Java?
- 22. Creazione di un nuovo PDF unendo documenti PDF usando TCPDF
- 23. Come posso rimuovere l'ultima riga di un file usando php?
- 24. È possibile convertire la pagina PDF in Immagine usando itextSharp?
- 25. Converti (stampa) un file in PDF - usando R? (in windows)
- 26. Come creare un file PDF da HTML usando PDFBox?
- 27. Python: impossibile aprire un file utilizzando os.system()
- 28. Estrai nomi campo modulo PDF da un modulo PDF
- 29. cacao pagina PDF scissione
- 30. Rimozione dei segni di stampa da un file PDF
Se si desidera rimuovere più di una pagina, è possibile modificare l'intervallo, ad esempio '1-r3' fa tutto ma le ultime due pagine. – mlissner