Где метаданные для файлов PDF ? Могу ли я вставить метаданные в любой файл PDF?

Процессы, запускаемые init, обычно считаются долгоживущими демонами, которые перезапускаются только тогда, когда их конфигурация была изменена или когда они были обновлены, или программы входа в систему, которые перезапускаются, когда пользователь консоли выходит из системы. Если процесс, запущенный с помощью init, завершается (и возрождается с помощью init) очень быстро, это означает, что что-то идет не так, как правило, программа неправильно настроена и дает сбой во время ее запуска. Это не математическая уверенность, но хорошая эвристика.

Вместо того, чтобы постоянно тратить ресурсы на запуск программы, которая не делает ничего полезного, init останавливается через некоторое время и дает администратору немного времени для восстановления системы или подсистемы, от которой зависит программа. стать онлайн.

2
23.12.2018, 01:51
3 ответа

Ghostscript может вставлять или изменять метаданные документа в любой файл PDF.

Предостережения:При этом Ghostscript будет (1 )сначала считывать полный код PDF, (2 )второй раз -обрабатывать этот полный код PDF, (3 )записать совершенно новый PDF-файл. Этот процесс может потребоваться (для повышения качества PDF, например, путем дополнительного встраивания ранее отсутствующих шрифтов )или нежелательных...

Как это сделать

  1. Создайте текстовый файл с именем mydocinfo.pdfmark и поместите в него следующее содержимое:

    [ /Title (Jaziel's Important Document)
      /Author (Jaziel Aguirre)
      /Subject (Mr. Aguirre's experiments with pdfmark)
      /Creator (JA's Metadata Inserter)
      /ModDate (D:19700101000000+01'00')
      /Producer (A 'pdfmark' trick with Ghostscript)
      /Keywords (Metadata, Ghostscript, PDF, Linux)
      /CreationDate (D:20181229104653+01'00')
      /DOCINFO
    pdfmark
    

    Обратите внимание, что открытие [неНЕтребует закрытия ]--, оно закрывается ключевым словом 'pdfmark'.

  2. Теперь запустите эту команду Ghostscript, чтобы вставить новые метаданные в существующий PDF:

    gs                     \
      -o with-metadata.pdf \
      -sDEVICE=pdfwrite    \
      existing.pdf         \
      mydocinfo.pdfmark
    
  3. Проверьте новые метаданные:

    pdfinfo with-metadata.pdf
    
      Title:          Jaziel's Important Document
      Subject:        Mr. Aguirre's experiments with pdfmark
      Keywords:       Metadata, Ghostscript, PDF, Linux
      Author:         Jaziel Aguirre
      Creator:        JA's Metadata Inserter
      Producer:       A 'pdfmark' trick with Ghostscript
      CreationDate:   Sat Dec 29 10:46:53 2018 CET
      ModDate:        Thu Jan  1 00:00:00 1970 CET
      Tagged:         no
      UserProperties: no
      Suspects:       no
      Form:           none
      JavaScript:     no
      Pages:          1
      Encrypted:      no
      Page size:      142.8 x 202.08 pts
      Page rot:       0
      File size:      5394 bytes
      Optimized:      no
      PDF version:    1.7
    

(Протестировано с помощью Ghostscript версии 9.27.)

10
27.01.2020, 21:51

pdftk — это утилита командной строки, позволяющая извлекать и изменять метаданные PDF-файлов с помощью параметров dump_dataи update_info.

Следующая команда извлечет метаданные файла input.pdfmetadata:

pdftk input.pdf dump_data output metadata

Измените содержимое файла metadataс помощью текстового редактора, затем обновите pdf-файл на новыйoutput.pdf:

pdftk input.pdf update_info metadata output output.pdf

Чтобы проверить новый файл PDF (распечатайте на стандартный вывод):

pdftk output.pdf dump_data
7
27.01.2020, 21:51

Вместо того, чтобы сначала записывать метаданные в текстовый файл, вы, конечно, можете поместить их в одну единственную командную строку:

gs -o with-meta.pdf -sDEVICE=pdfwrite -f existing.pdf -c "[ /Title (Jaziel's Important Document) /Author (Jaziel Aguirre) /Subject (Mr. Aguirre's experiments with pdfmark) /ModDate (D:19700101000000+01'00') /CreationDate (D:20181120102653+01'00') /Keywords (Metadata, Ghostscript, PDF, Linux) /Creator (JA's Metadata Inserter) /Producer (A 'pdfmark' trick with Ghostscript) /DOCINFO pdfmark"

или, с более приятным форматированием (читабельный):

gs -o with-meta.pdf  \
   -sDEVICE=pdfwrite \
   -f existing.pdf   \
   -c "[ /Title (Jaziel's Important Document) 
         /Author (Jaziel Aguirre)
         /Subject (Mr. Aguirre's experiments with pdfmark)
         /Keywords (Metadata, Ghostscript, PDF, Linux)
         /ModDate (D:19700101000000+01'00')
         /Keywords (Metadata, Ghostscript, PDF, Linux)
         /Creator (JA's Metadata Inserter)
         /Producer (A 'pdfmark' trick with Ghostscript)
         /CreationDate (D:20181120102653+01'00')
       /DOCINFO pdfmark"
4
27.01.2020, 21:51

Теги

Похожие вопросы