Estou procurando uma ferramenta de linha de comando de código aberto para cortar arquivos PDF, como podemos fazer no Adobe Acrobat Pro. Eu tentei PdfTk, ImageMagick, PyPDF e GhostScript - todos sem sucesso até agora.
command-line
pdf
open-source
Rakesh
fonte
fonte
Respostas:
Eu sugiro que você dê uma olhada no PDFcrop .
Se você deseja cortar um pdf com as margens esquerda, superior, direita e inferior de 5, 10, 20 e 30 pt (pontos), execute
no terminal. Para realmente cortar algo, use valores negativos no argumento para cortar. Por exemplo,
colhe 50 pts da esquerda, superior, direita e inferior (nesta ordem).
Se você executar apenas o comando
pdfcrop input
, ele produzirá um arquivo intitulado input-crop.pdf com margens zero. Acho isso muito útil ao incluir ilustrações em PDF em documentos.Cortando vários arquivos
Infelizmente, o pdfcrop não pode cortar vários arquivos ao mesmo tempo. No entanto, é fácil escrever um script que recorte todos os pdfs na pasta em que o script está localizado.
Crie um novo arquivo vazio e chame-o
something.sh
. Abra-o com um editor de texto e insira o seguinte:Salve e feche. Em seguida, clique com o botão direito do mouse no arquivo, vá para Propriedades> Permissões e marque o campo Permitir a execução do arquivo como programa . Agora feche a caixa de diálogo. Execute o script clicando duas vezes nele e escolhendo Executar no Terminal . E a nova versão cortada com margem zero de todos os PDFs com o sufixo -crop agora será impressa na pasta. Se você deseja margens ou outras coisas, é claro que pode simplesmente abrir o script e adicionar argumentos depois
pdfcrop
.fonte
--bbox "<left> <bottom> <right> <top>"
. Isso permite usar a abordagem para determinar a área de cultivo descrita na minha resposta abaixo .pdfcrop --help
lista as opções disponíveis. Não consigo ver nada que permita especificar um intervalo de páginas.Obrigado pelo Rasmus, você pode instalar o pdfcrop a partir do pacote texlive-extra-utils:
Em seguida, corte os arquivos pdf usando o comando pdf crop como:
use
--help
para ver parâmetros mais surpreendentes como--margins
que corta pdf com 5 pb de cada lado da página
fonte
bp
ligeiramente diferente dapt
. Consulte tex.stackexchange.com/questions/8260/… .gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS="/ebook" -sOutputFile=output2.pdf output.pdf
depois, que corrigiu o tamanho do arquivo.Você também pode cortar arquivos PDF simplesmente usando o Ghostscript. Escrevi um pequeno script para simplificar o processo (inspirado nesta resposta ):
Para determinar as coordenadas para o corte, eu uso
gv
, que imprime as coordenadas do cursor do mouse usando as mesmas unidades que o Ghostscript. Por exemplo, aqui eu determino as coordenadas mínimas para x / y (os valores no canto superior esquerdo):Agora as coordenadas máximas:
E, finalmente, eu corro o script
pdf_crop_by_coordinates.sh test.pdf 45 429 38 419
produzindo umtest_cropped.pdf
que se parece com isso:Não tenho idéia, no entanto, como a solução Ghostscript se compara
pdfcrop
em termos de qualidade e correção.fonte
Quando não posso fazer algo com o pdftk, o próximo lugar que passo é o PDFjam , que é um wrapper de linha de comando para o pacote LaTeX das páginas em pdf (portanto, você também precisa disso e de uma distribuição TeX instalada). Para obter ajuda sobre como usá-lo, recomendo a tela de ajuda regular:
como a página de manual é escassa e a página da Web se concentra em exemplos.
Para cortar um PDF, o comando que você precisa é mais ou menos assim:
Isso produzirá um arquivo chamado
input-cropped.pdf
. A ordem das guarnições deve ser deixado, inferior, direita, cima, conforme\includegraphics
a partir graphicx .Para dar uma idéia de como ele se compara ao PDFcrop, tive motivos para cortar recentemente um PDF bastante sofisticado. Meu original era 675 kB, minha versão cortada via PDFjam era de 1,2 MB, enquanto uma versão cortada via PDFcrop era de 4,5 MB. Enquanto o PDFjam e o PDFcrop eliminaram os hiperlinks e marcadores incorporados, o PDFjam com a
--keepinfo
opção preservou as propriedades do documento (por exemplo, título, autor, assunto).fonte
Se uma ferramenta gráfica também estiver correta, eu recomendaria
krop
: http://arminstraub.com/software/kropfonte
Isso pode ajudá-lo.
Isso está de acordo com a versão mais recente do Ubuntu e do life. Este é o Master PDF Editor . Você pode usá-lo cortar, adicionar algumas coisas, etc.
Exemplo:
isso é antes Isso é depois de ctrl + k
fonte
Briss não é uma linha de comando, mas vale a pena dar uma olhada.
fonte
Você pode usar um script pypdf nesta página . Mas na resposta a essa pergunta de troca de pilha , parece haver muitas opções também.
fonte
O programa pdfCropMargins é um aplicativo de linha de comando para cortar automaticamente as margens dos arquivos PDF.
Esse programa depende do programa Ghostscript ou do pdftoppm que está sendo instalado (e localizável) no sistema. E analise as imagens da página com o PIL para encontrar caixas delimitadoras, usando o limite 191.
instale usando
Executar usando
Para ajuda
fonte