Я использую ExifToolVersion: 9.13 для чтения метаинформации PDF-файла в поля формы, где пользователи могут редактировать значения. С помощью второго perl-скрипта я записываю эти измененные значения обратно в файл.
Это отлично работает, за исключением того, что значения темы отображаются в тегах ключевых слов, а значения ключевых слов - в тегах темы, хотя я пишу новые значения для каждого тега.
$exifTool->SetNewValue($tag[$i], \@keywords, Replace => 1);
$exifTool->SetNewValue($tag[$i], $file_beschreibung, Replace => 1);
$exifTool->SetNewValue($data[$i]=>\@keywords, Group0 => 'PDF');
$exifTool->SetNewValue($data[$i]=>$file_beschreibung, Group0 => 'PDF');
Я попытался записать пустое значение в теги XMP, но это не сработало.
$exifTool->SetNewValue($data[$i]=>$leer, Group0 => 'XMP');
Есть ли способ избежать объединения обоих значений?
$leer
пусто, как в пустой строкеq{}
, илиundef
? - person simbabque   schedule 04.09.2017Image::ExifTool
9.13? - person Borodin   schedule 04.09.2017$tag[$i]
как для ключевых слов, так и для описания файла? Если дляReplace
установлено значение 1, все значения ключевых слов будут отброшены и будет использоваться только описание файла. Вам вообще не следует использоватьReplace
: он применяется к значениям, ранее установленнымSetNewValue
, а не к значению в файле. Я ожидал, что они будут записаны в два разных тега.Group0
не является допустимым параметром дляSetNewValue
; ты наверное имел ввидуGroup => 'PDF'
. Вы вызывалиWriteInfo
после установки значений? Вы должны проверить возвращаемые значенияSetNewValue
: флаг успеха и сообщение об ошибке. - person Borodin   schedule 04.09.2017$i
. - person Borodin   schedule 04.09.2017code
my @data = (Автор, Ключевые слова, Дата изменения, Права, Заголовок, Тема); мой $ elemente = @data; мои @groups = $ exifTool- ›GetGroups ($ family); for ($ family = 0; $ family ‹= 3; $ family ++) {foreach my $ group (@groups) { - person ast   schedule 05.09.2017