Jak wstawić pustą stronę do pliku PDF za pomocą ghostscript lub pdftk?


14

Mam plik PDF, który co jakiś czas wymaga wstawiania pustej strony. Wzór jest nieprzewidywalny, więc potrzebuję polecenia, które pozwoli mi dopasować je tam, gdzie to konieczne.

W jaki sposób mogę to zrobić?

Odpowiedzi:


16

From http://blog.chewearn.com/2008/12/18/rearrange-pdf-pages-with-pdftk/

pdftk A=src.pdf B=blank.pdf cat A1 B1 A2-end output res.pdf

Mam nadzieję, że podoba Ci się ten skrypt, po prostu zapisz go jako pdfInsertBlankPageAt.sh, dodaj uprawnienia do wykonywania i uruchom.

./pdfInsertBlankPageAt 5 src.pdf res.pdf

#!/bin/bash
if [ $# -ne 3 ]
then
  echo "Usage example: ./pdfInsertBlankPageAt 5 src.pdf res.pdf"
  exit $E_BADARGS
else
  pdftk A=$2 B=blank.pdf cat A1-$(($1-1)) B1 A$1-end output $3
fi 

cat A1 B1 A2-endoznacza, że ​​plik wyjściowy będzie zawierał pierwszą stronę dokumentu A ( src.pdf), a następnie pierwszą stronę dokumentu B ( blank.pdf), a następnie resztę (strony 2 do końca) dokumentu B. Ta operacja nazywa się konkatenacją, Linux catjest bardzo często używany wyświetlać tekst, ale jest interesujący, gdy używany jest z więcej niż jednym argumentem.

Aby utworzyć blank.pdf, zobacz Jak utworzyć pusty plik PDF z wiersza polecenia?


Sugeruję dodanie małego wyjaśnienia, co robi polecenie, jaki ma efekt (np. Gdzie wstawiona jest pusta strona). Możesz także dodać wygodny sposób tworzenia pliku pdf z pustą stroną.
maxschlepzig

8
Znalazłem dziś następujące polecenie, aby utworzyć pustą stronę za pomocą wiersza polecenia:echo "" | ps2pdf -sPAPERSIZE=a4 - pageblanche.pdf
remjg

Link nie działa :(
Weboide

Podczas próby wstawienia pustej strony na początku dokumentu (Strona 1) pojawia się następujący błąd: Błąd: Nieoczekiwany koniec zakresu; oczekiwany numer strony lub legalne słowo kluczowe, tutaj: A1 Exiting. Wystąpiły błędy. Nie utworzono danych wyjściowych. Gotowy. Błędy wejściowe, więc nie utworzono danych wyjściowych.
prawy

Jak zrobiłbyś wstawienie pustej strony po każdej stronie src pdf?
bluesmonk
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.