명령 줄에서 PDF 메타 데이터를 편집하는 방법은 무엇입니까?


83

pdf 파일의 메타 데이터를 편집하려면 명령 줄 도구가 필요합니다.

이 장치에서 노트와 분을 작성하기 위해 Aiptek MyNote Premium 태블릿을 사용하고 있으며 나중에 가져오고 inkscape와 ghostscript를 사용하는 간단한 스크립트를 사용하여 자동으로 pdf로 변환합니다.

pdf의 메타 데이터에 일부 카테고리를 추가하는 명령 행 도구가 있습니까? 나중에 카테고리별로 pdf를 찾을 수 있습니까 (예 : gnome-do 사용)?

업데이트 : pdftk로 솔루션을 시도했지만 작동하지만 gnome-do가 pdf-metadata를 처리하지 않는 것 같습니다. 그놈을 할 수있는 방법이 있습니까?

답변:


101

exiftool을 사용해보십시오. 리포지토리의 libimage-exiftool-perl 패키지에서 사용할 수 있습니다.

예를 들어 drawing.pdf라는 pdf 파일이 있고 메타 데이터를 업데이트하려면 다음과 같은 방법으로 exiftool 유틸리티를 사용하십시오.

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

어떤 이유로 든 입력 한 주제가 pdf 파일의 메타 데이터 키워드 필드에 나타납니다. 그러나 경우에 따라 문제가되지는 않지만 문제가 될 수 있습니다. 노틸러스 메타 데이터 미리보기에는 표시되지 않지만 Adobe Acrobat 뷰어와 PDF-XChange 뷰어에는 표시되지 않습니다.

프로그램을 사용하지 않으면 원본 파일의 백업이 생성됩니다. -overwrite_original스위치는 업데이트 된 pdf가있는 폴더에 사본이 존재 함을 의미합니다. 위의 예에서; 파일명; drawing.pdf_original이 생성됩니다.

덮어 쓰기 스위치를 사용하는 것은 사용자 본인의 책임입니다. 제 경우는이 스위치를 사용하지 말고 스크립트를 사용하여이 파일을 더 나은 위치로 옮기는 것입니다.


16
그 참고 : " 모든 메타 데이터 편집이 되돌릴 수 있습니다 이것은 일반적으로 이점을 간주 될 수 있지만, 그것은이다. 잠재적 인 보안 문제 이전 정보가 있기 때문에 실제로 삭제되지 않습니다 파일에서."
약 열매 단정

5
@nuttyaboutnatty 나머지 및 사용되지 않은 메타 데이터 항목을 모두 제거하려면 exiftool을 사용하여 PDF 파일을 처리 한 후 바로 선형화 할 수 있습니다. 이것은 이 Github 요지 에서 더 자세히 설명됩니다 .
Glutanimate

9
@nuttyaboutnatty 글쎄, 그것은 권위있는 출처는 아니지만 아무도 그것을 작성하는 데 시간을 들인 적이 없기 때문입니다. 그러나 저자가 설명한 방법이 효과가 있다고 확신 할 수 있습니다. 직접 사용해보십시오. 1.) 태그가있는 PDF를 가져 와서 모든 메타 데이터를 "삭제"하십시오 exiftool -overwrite_original -all:all="" file.pdf. 2.) exiftool -PDF-update:all= file.pdf여전히 오래된 메타 데이터가 있음을 확인하는 데 사용 합니다. 3.) 파일을 qpdf --linearize file.pdf; 4.) 2)에서와 같이 다시 확인하십시오. 모든 메타 데이터는 없어야합니다.
Glutanimate

4
5.) PDF 사전을보고 파일이 모든 메타 데이터에서 제거되었는지 확인합니다 ( pdfinfo -meta file.pdf)
Glutanimate

1
완벽하게 작동합니다. 메타 데이터를 한 PDF에서 다른 PDF로 정기적으로 복사하려고합니다.이 경우에는 exiftool -overwrite_original -tagsFromFile <srcfile> <destfile>필요한 것입니다 (옵션 -overwrite_original이 원본을 덮어 씁니다 <destfile>).
AstroFloyd

15

을 사용하여 메타 데이터를 편집 할 수 있습니다 pdftk. update_info파라미터를 확인하십시오 . 데이터 파일과 관련하여 아래는 예입니다.

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

( 소스 )


1
좋아, 이것은 메타 데이터를 텍스트 파일로 내보내고 편집하고 텍스트 파일을 다시 가져와야 함을 의미합니다. 명령 줄에서 단일 메타 데이터를 직접 설정하는 방법이 있습니까?
bdr529

있을 수 있지만 찾을 수 없습니다.
Olli

pdftk메타 데이터에서 유니 코드 문자 인 것 같습니다.
기계 달팽이

1
pdftk새 PDF를 사용 하는 데 문제가있었습니다 (최신 버전은 AESV2를 통해 암호화 됨). 단종 된 것 같습니다. exiftool더 잘 작동했습니다.
s1lv3r

2
pdftk를 사용하려면 다음을 수행해야합니다. 1) pdftk book.pdf dump_data output report.txt2) report.txt 편집 3)pdftk book.pdf update_info report.txt output bookcopy.pdf
craq

6

Ghostview 사용

이 내용으로“pdfmarks”라는 파일을 만듭니다.

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

그런 다음이 pdfmarks파일을 PDF, PS 또는 EPS 입력 파일과 결합 하십시오.

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

출처 : http://milan.kupcevic.net/ghostscript-ps-pdf/


0

pdftk방법 에 대해 자세히 설명하려면 설정중인 모든 것을 보여주기 때문에 원하는 것을 변경할 수있는 동시에 .bashrc하나의 명령으로 수행 할 수있는 스크립트 ( 또는 별명 파일 용)가 있습니다. 그러면 편집하려는 파일의 새 버전이 생성되고 메타 데이터 파일이 포함 된 즐겨 사용하는 편집기가 열리고 변경 사항이 구현되고 수정 된 PDF 파일의 파일 생성 / 수정 시간이 원본과 동일하게 설정됩니다. .bashrc파일 을 리 소싱 한 후 사용하려면 다음을 입력하십시오.

editPDFmetadata myfile.pdf

별명은 다음과 같습니다.

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}
}

위의 정의를 .bashrc홈 폴더 의 파일에 넣고 새 터미널을 열면 바로 사용할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.