Como editar metadados em pdf a partir da linha de comando?

59

Eu preciso de uma ferramenta de linha de comando para editar metadados de arquivos pdf.

Estou usando um tablet Aiptek MyNote Premium para escrever minhas anotações e atas neste dispositivo, importá-las mais tarde e convertê-las para pdf automaticamente com um script simples usando o inkscape e o ghostscript.

Existe alguma ferramenta de linha de comando para adicionar algumas categorias aos metadados do pdf, para que eu possa encontrar o pdf mais tarde (por exemplo, com o gnome-do) por categorias?

Atualização: Eu tentei a solução com o pdftk e funciona, mas parece que o gnome-do não cuida dos metadados em pdf. Existe uma maneira de fazer o gnome-do fazer isso?

    
por bdr529 21.02.2011 / 12:40

4 respostas

69

Experimente o exiftool, que está disponível no pacote libimage-exiftool-perl nos repositórios.

Como exemplo, se você tiver um arquivo em pdf chamado drawing.pdf e quiser atualizar seus metadados, use o utilitário exiftool desta forma:

exiftool -Title="This is the Title" -Author="Happy Man" -Subject="PDF Metadata" drawing.pdf

Por algum motivo, o Assunto inserido termina no campo de palavras-chave dos metadados no arquivo pdf. não é um problema em alguns casos, até desejável, no entanto, isso pode ser problemático, evince e o visualizador de metadados do nautilus não mostra isso, mas o visualizador do Adobe Acrobat e o visualizador do PDF-XChange fazem isso.

O programa criará um backup do arquivo original se você não usar o arquivo; -overwrite_original switch, isso significa que haverá uma duplicata na pasta onde está o pdf atualizado. Do exemplo acima; um arquivo chamado; drawing.pdf_original será criado.

use o switch de substituição por sua conta e risco, minha sugestão é não usá-lo e script algo para mover este arquivo para um local melhor, apenas no caso.

    
por Sabacon 04.05.2011 / 07:08
13

Você pode editar metadados usando pdftk . Confira o parâmetro update_info . Quanto ao arquivo de dados, segue abaixo um exemplo:

InfoKey: Title
InfoValue: Mt-Djing: multitouch DJ table
InfoKey: Subject
InfoValue: Dissertation for Master degree
InfoKey: Keywords
InfoValue: DJing, NUI, multitouch, user-centered design
InfoKey: Author
InfoValue: Pedro Lopes

( Fonte )

    
por Olli 21.02.2011 / 12:44
2

Usando o Ghostview

Crie um arquivo chamado "pdfmarks" com este conteúdo:

[ /Title (Document title)
  /Author (Author name)
  /Subject (Subject description)
  /Keywords (comma, separated, keywords)
  /ModDate (D:20061204092842)
  /CreationDate (D:20061204092842)
  /Creator (application name or creator note)
  /Producer (PDF producer name or note)
  /DOCINFO pdfmark

combine esse arquivo pdfmarks com um arquivo de entrada PDF, PS ou EPS:

gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=output.pdf no_marks.pdf pdfmarks

Fonte: link

    
por Serge Stroobandt 19.01.2016 / 19:54
0

Para elaborar o método pdftk , que é bom porque mostra tudo o que está sendo definido e, ao mesmo tempo, permite que você altere o que quiser, aqui está um script (para seu .bashrc ou outros aliases arquivo) para fazer isso com um comando. Isso cria uma nova versão do arquivo que você deseja editar, abre seu editor favorito com o metadatafile e, em seguida, implementa suas alterações e define a hora de criação / modificação do arquivo no arquivo PDF modificado para que seja igual ao original. Para usá-lo, depois de criar o seu arquivo .bashrc , basta digitar

editPDFmetadata myfile.pdf

Este é o alias:

editPDFmetadata() {
OUTPUT="-new.pdf"
METADATA="tmp-report.txt"
pdftk  dump_data output $METADATA
$EDITOR $METADATA
pdftk  update_info $METADATA  output $OUTPUT
touch -r  ${OUTPUT}
}

Basta colocar a definição acima no arquivo .bashrc em sua pasta pessoal, abrir um novo terminal e ele estará pronto para ser usado.

    
por CPBL 17.05.2018 / 19:40