it-swarm.dev

Nástroj příkazového řádku pro oříznutí PDF souborů

Hledám nástroj pro příkazový řádek s otevřeným zdrojovým kódem pro oříznutí souboru PDF soubor, stejně jako v aplikaci Adobe Acrobat Pro. Vyzkoušel jsem PdfTk, ImageMagick, PyPDF a GhostScript - vše bez úspěchu, takže daleko.

116
Rakesh

Navrhuji, abyste se podívali na PDFcrop .

Pokud si přejete oříznout pdf levým, horním, pravým a dolním okrajem 5, 10, 20 a 30 pt (body), pak spusťte

pdfcrop --margins '5 10 20 30' input.pdf output.pdf

v terminálu. Chcete-li něco oříznout, použijte v argumentu pro oříznutí záporné hodnoty. Například,

pdfcrop --margins '-50 -50 -50 -50' input.pdf output.pdf

ořízne 50 bodů zleva, shora, vpravo, dole (v tomto pořadí).

Pokud spustíte pouze příkaz pdfcrop input, vydá soubor s názvem input-crop.pdf s nulovými okraji. Považuji to za velmi užitečné při zahrnutí ilustrací PDF do dokumentů.

Oříznutí více souborů

Bohužel, pdfcrop nemůže oříznout více souborů současně. Je však snadné napsat skript, který ořízne všechny soubory PDF ve složce, ve které je skript umístěn.

Vytvořte nový prázdný soubor a zavolejte jej something.sh. Otevřete jej pomocí textového editoru a vložte následující:

#!/bin/bash
for FILE in ./*.pdf; do
  pdfcrop "${FILE}"
done

Uložte jej a zavřete. Poté klikněte pravým tlačítkem na soubor, přejděte na Vlastnosti> Oprávnění a zaškrtněte políčko Povolit provádění souboru jako program . Nyní dialog zavřete. Spusťte skript tak, že na něj dvakrát kliknete a vyberete Spustit v terminálu . Ve složce bude nyní vytištěna nová oříznutá verze všech pdf s příponou - oříznutí . Pokud chcete okraje nebo jiné věci, můžete samozřejmě otevřít skript a přidat argumenty za pdfcrop.

142
Rasmus

Díky za Rasmus, můžete si nainstalovat pdfcrop z balíčku texlive-extra-utils:

Sudo apt-get install texlive-extra-utils

Poté ořízněte soubory PDF pomocí příkazu pdf crop jako:

pdfcrop input.pdf output.pdf

použijte --help pro zobrazení více úžasných parametrů jako --margins

pdfcrop --margins 5 input.pdf output.pdf

který ořízne pdf 5 bp z každé strany stránky

41
sarigalin

Můžete také oříznout PDF soubory jednoduše pomocí Ghostscriptu. Napsal jsem malý skript pro zjednodušení procesu (inspirovaný tato odpověď ):

#!/bin/bash

if [ $# -lt 5 ]
then
  echo "Usage: `basename $0` <pdf-file> <x_min> <x_max> <y_min> <y_max>"
  echo "Notes:"
  echo " - all coordinates are absolute; no calculation of width/height necessary"
  echo " - use 'gv' to determine the coordinates"
  exit 65
fi

file="$1"
xmin="$2"
xmax="$3"
ymin="$4"
ymax="$5"

base="${file%.*}"
outfile="${base}_cropped.pdf"

echo "writing to: $outfile"

gs \
  -o $outfile \
  -sDEVICE=pdfwrite \
  -c "[/CropBox [$xmin $ymin $xmax $ymax] /PAGES pdfmark" \
  -f $file

K určení souřadnic pro oříznutí používám gv, který tiskne souřadnice kurzoru myši pomocí stejných jednotek jako Ghostscript. Například zde určím minimální souřadnice pro x/y (hodnoty v levém horním rohu):

crop1

Nyní maximální souřadnice:

crop2

A konečně spustím skript pdf_crop_by_coordinates.sh test.pdf 45 429 38 419 produkovat test_cropped.pdf které vypadá takto:

result

Nemám ponětí, jak se řešení Ghostscript porovná s pdfcrop, pokud jde o kvalitu a správnost.

17
bluenote10

Když nemůžu něco udělat s pdftk, další místo, kam se obrátím, je PDFjam , což je obálka příkazového řádku pro pdfpages LaTeX balíček (proto je také potřeba, aby a nainstalován TeX distro). Chcete-li získat nápovědu, jak ji používat, doporučujeme běžnou obrazovku nápovědy:

pdfjam --help

protože je manuální stránka řídká a webová stránka se soustředí na příklady.

Chcete-li oříznout soubor PDF, potřebujete následující příkaz:

pdfjam --keepinfo --trim "10mm 15mm 10mm 15mm" --clip true --suffix "cropped" input.pdf

Výsledkem bude soubor s názvem input-cropped.pdf. Pořadí oříznutí by mělo být vlevo, dole, vpravo, nahoru, podle \includegraphics od graphicx .

Pro představu o tom, jak se srovnává s PDFcrop, jsem měl důvod oříznout docela fantazii PDF nedávno. Můj originál byl 675 kB, moje oříznutá verze přes PDFjam byla 1,2 MB, zatímco oříznutá verze přes PDFcrop bylo 4,5 MB. Zatímco PDFjam i PDFcrop odstranily vložené hypertextové odkazy a záložky, PDFjam s --keepinfo možnost zachovala vlastnosti dokumentu (např. název, autor, předmět).

16
Alex Ball

To vám může pomoci.
Toto je v souladu s novější verzí Ubuntu a života. Toto je Master PDF Editor . Můžete ho použít oříznout, přidat nějaké věci atd.

Příklad:
Toto je před This is before Toto je po ctrl + k enter image description here

4
Shamina

Briss není příkazový řádek, ale stojí za to se na něj podívat.

4
weberjn

Pokud je grafický nástroj také v pořádku, doporučil bych krop: http://arminstraub.com/software/krop

3
Sunday

Program pdfCropMargins je aplikace příkazového řádku, která automaticky ořízne okraje souborů PDF).

Tento program závisí na tom, zda je v systému nainstalován program Ghostscript nebo program pdftoppm (a lokalizovatelný). A analyzujte obrázky stránky pomocí PIL, abyste našli ohraničovací rámečky, pomocí prahu 191.

nainstalovat pomocí

pip install pdfCropMargins

Spusťte pomocí

pdf-crop-margins -v -s -u your-file.pdf

Pro pomoc

pdf-crop-margins -h | více

3
CharmiChokshi

Mohli byste použít pypdf skript z této stránky . Ale v odpovědi na tato otázka výměny zásobník se zdá, že existuje také mnoho možností.

2
xubuntix