diff --git a/pkg/modules/exiftool/exiftool.go b/pkg/modules/exiftool/exiftool.go index 2191e7c8..13ed02b8 100644 --- a/pkg/modules/exiftool/exiftool.go +++ b/pkg/modules/exiftool/exiftool.go @@ -107,6 +107,10 @@ func (engine *ExifTool) WriteMetadata(ctx context.Context, logger *zap.Logger, m switch val := value.(type) { case string: fileMetadata[0].SetString(key, val) + case []string: + fileMetadata[0].SetStrings(key, val) + case bool: + fileMetadata[0].SetString(key, fmt.Sprintf("%t", val)) case int: fileMetadata[0].SetInt(key, int64(val)) case int64: @@ -115,8 +119,6 @@ func (engine *ExifTool) WriteMetadata(ctx context.Context, logger *zap.Logger, m fileMetadata[0].SetFloat(key, float64(val)) case float64: fileMetadata[0].SetFloat(key, val) - case []string: - fileMetadata[0].SetStrings(key, val) // TODO: support more complex cases, e.g., arrays and nested objects // (limitations in underlying library). default: diff --git a/pkg/modules/exiftool/exiftool_test.go b/pkg/modules/exiftool/exiftool_test.go index ebbc0865..96f3eeab 100644 --- a/pkg/modules/exiftool/exiftool_test.go +++ b/pkg/modules/exiftool/exiftool_test.go @@ -184,7 +184,7 @@ func TestExiftool_WriteMetadata(t *testing.T) { "first", "second", }, - "Marked": "true", + "Marked": true, "ModDate": "2006-09-18T16:27:50-04:00", "PDFVersion": 1.7, "Producer": "Gotenberg",