Pdf meta verileri komut satırından nasıl düzenlenir?


83

PDF dosyalarının meta verilerini düzenlemek için bir komut satırı aracına ihtiyacım var.

Notlarımı ve dakikalarımı bu cihaza yazmak için Aiptek MyNote Premium tablet kullanıyorum, bunları daha sonra içe aktarıp inkscape ve ghostscript kullanarak basit bir komut dosyasıyla otomatik olarak pdf'ye dönüştürüyorum.

Pdf'nin meta verilerine bazı kategoriler eklemek için herhangi bir komut satırı aracı var mı, pdf'yi daha sonra (örneğin, gnome-do ile) kategorilere göre bulabilir miyim?

Güncelleme: Çözümü pdftk ile denedim ve işe yarıyor, ancak gnome-do pdf metadata ile ilgilenmiyor gibi görünüyor. Bunu yapmak için cüceler yapmanın bir yolu var mı?

Yanıtlar:


101

Exiftool'u deneyin, depolardaki libimage-exiftool-perl paketinden edinilebilir.

Örnek olarak, drawing.pdf adlı bir pdf dosyanız varsa ve meta verilerini güncellemek istiyorsanız, Exiftool yardımcı programını kullanın, bu şekilde:

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

Bir nedenden dolayı, girilen konu pdf dosyasındaki meta verinin anahtar kelimeleri alanında sona ermektedir. Bazı durumlarda bir sorun değil, hatta arzu edilirse de, bu sorunlu olabilir, evrim ve nautilus meta veri önizleyicisi bunu göstermez, ancak Adobe Acrobat görüntüleyici ve PDF-XChange görüntüleyici gösterir.

Kullanmazsanız, program orijinal dosyayı yedekler; -overwrite_originalanahtar, bu, güncellenmiş pdf'nin bulunduğu klasörde bir yinelenmenin olacağı anlamına gelir. Yukarıdaki örnekten; adlı bir dosya; drawing.pdf_original oluşturulacak.

üzerine yazma anahtarını kullanmak kendi sorumluluğunuzdadır, benim önerim bunu kullanmamak ve bu dosyayı daha iyi bir yere taşımak için bir şeyler yazmamak.


16
Şunu unutmayın: " Tüm meta veri düzenlemeleri geri alınabilir. Bu normalde bir avantaj olarak kabul edilse de, eski bilgiler dosyadan gerçekten silinmediğinden potansiyel bir güvenlik sorunudur ."
Natty

5
@nuttyaboutnatty Tüm kalan ve kullanılmayan meta veri girişlerini temizlemek istiyorsanız, PDF dosyasını exiftool ile işledikten hemen sonra doğrusallaştırabilirsiniz. Bu, bu Github özünde daha ayrıntılı olarak açıklanmaktadır .
Glutanimate

9
@nuttyaboutnatty Tabii ki, otoriter bir kaynak değil ama bunun nedeni hiç kimsenin bir tane yazmak için zaman harcamamasından kaynaklanıyor. Ancak, yazarın tarif ettiği yöntemin işe yarayacağından emin olabilirim. Kendiniz deneyin: 1.) Bazı etiketleri olan bir PDF alın ve tüm meta verileri "silin" exiftool -overwrite_original -all:all="" file.pdf; 2.) exiftool -PDF-update:all= file.pdfEski meta verinin hala mevcut olduğunu onaylamak için kullanın ; 3.) dosyayı ile doğrusallaştırın qpdf --linearize file.pdf; 4.) 2. de yaptığınız gibi tekrar kontrol edin;); tüm meta veriler gitmeli;
Glutanimate

4
5.) PDF sözlüğüne bakarak dosyanın tüm meta verilerden temizlendiğini onaylayın ( pdfinfo -meta file.pdf)
Glutanimate

1
Mükemmel çalışıyor. Meta verileri düzenli olarak bir PDF'den diğerine kopyalamak istiyorum, bu durumda exiftool -overwrite_original -tagsFromFile <srcfile> <destfile>ihtiyacım olan şey (seçenek -overwrite_originalorijinalin üzerine yazıyor <destfile>).
AstroFloyd

15

Meta verileri kullanarak düzenleyebilirsiniz pdftk. Çıkış update_infoparametresi. Veri dosyasına gelince, aşağıdaki bir örnektir:

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

( Kaynak )


1
Tamam, bu, meta verileri bir metin dosyasına vermem, düzenlemem ve metin dosyasını yeniden içe aktarmam gerektiği anlamına gelir. Tek bir meta veriyi doğrudan komut satırından ayarlamanın bir yolu var mı?
bdr529

Olabilir, ama bulamadım.
Olli

pdftkmeta verilerdeki Unicode karakterleri görünüyor.
Mekanik salyangoz

1
pdftkYeni pdfs'lerde bazı sorunlar yaşadım (daha yeni sürümler AESV2 aracılığıyla şifrelenmiş). Durdurulan gibi görünüyor. exiftooldaha iyi çalışıyordu.
s1lv3r

2
pdftk kullanmak için yapmanız gereken şey: 1) pdftk book.pdf dump_data output report.txt2) pdftk book.pdf update_info report.txt output bookcopy.pdf
edit.txt

6

Ghostview Kullanımı

Bu içeriğe sahip “pdfmarks” adlı bir dosya oluşturun:

[ /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

daha sonra bu pdfmarksdosyayı bir PDF, PS veya EPS giriş dosyasıyla birleştirin:

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

Kaynak: http://milan.kupcevic.net/ghostscript-ps-pdf/


0

Bu pdftkyöntem üzerinde çalışmak , hoş olan bir şeydir, çünkü ayarlanan her şeyi size gösterir, aynı zamanda istediğiniz herhangi bir şeyi değiştirmenize izin verirken, işte .bashrcbir komutla ( ya da diğer takma adlarınız için) yapabileceğiniz bir betik . Bu, düzenlemek istediğiniz dosyanın yeni bir sürümünü oluşturur, en sevdiğiniz düzenleyiciyi meta veri dosyasıyla açar ve ardından değişikliklerinizi uygular ve değiştirilen PDF dosyasındaki dosya oluşturma / değiştirme zamanını orijinaliyle aynı olacak şekilde ayarlar. Kullanmak için .bashrcdosyanızı yeniden gönderdikten sonra , sadece

editPDFmetadata myfile.pdf

İşte takma ad:

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

Basitçe yukarıdaki tanımı .bashrcev klasörünüzdeki dosyaya yerleştirin, sonra yeni bir terminal açın ve kullanıma hazır olacaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.