From f747211017cd26af1635a54f8dc2e494d43ba82d Mon Sep 17 00:00:00 2001 From: Michael Mayer Date: Wed, 12 Mar 2025 04:26:04 +0100 Subject: [PATCH] Library: Add support for indexing PDF documents #4600 Signed-off-by: Michael Mayer --- frontend/src/common/util.js | 4 +- frontend/src/component/navigation.vue | 37 ++++++++----- frontend/src/component/photo/edit/files.vue | 22 +++++--- frontend/src/component/photo/view/cards.vue | 10 ++-- frontend/src/locales/translations.json | 2 +- frontend/src/model/file.js | 1 + frontend/src/model/photo.js | 26 +++++---- frontend/src/options/options.js | 4 ++ internal/entity/file.go | 10 ++++ internal/entity/file_json.go | 2 + internal/entity/file_test.go | 20 +++++++ internal/entity/photo_quality.go | 2 +- internal/entity/search/photos.go | 8 ++- internal/entity/search/photos_results.go | 1 + internal/meta/data.go | 3 +- internal/photoprism/convert_image_jpeg.go | 24 ++++++--- internal/photoprism/convert_image_png.go | 21 +++++--- internal/photoprism/index_mediafile.go | 59 +++++++++++++++++++-- internal/photoprism/mediafile.go | 13 +++-- internal/photoprism/mediafile_related.go | 2 + pkg/fs/file_ext.go | 1 + pkg/fs/file_exts.go | 47 ++++++++-------- pkg/fs/file_info.go | 13 ++--- pkg/fs/file_types.go | 56 ++++++++++--------- pkg/fs/mime.go | 2 +- pkg/media/formats.go | 5 +- 26 files changed, 274 insertions(+), 121 deletions(-) diff --git a/frontend/src/common/util.js b/frontend/src/common/util.js index 0e313a21c..e66be45aa 100644 --- a/frontend/src/common/util.js +++ b/frontend/src/common/util.js @@ -316,6 +316,8 @@ export default class $util { } switch (value) { + case "pdf": + return "PDF"; case "jpg": return "JPEG"; case media.FormatJpegXL: @@ -391,8 +393,6 @@ export default class $util { return "Windows Media"; case "svg": return "SVG"; - case "pdf": - return "PDF"; case "ai": return "Adobe Illustrator"; case "ps": diff --git a/frontend/src/component/navigation.vue b/frontend/src/component/navigation.vue index bc015a52c..04f266370 100644 --- a/frontend/src/component/navigation.vue +++ b/frontend/src/component/navigation.vue @@ -168,6 +168,18 @@ + + + {{ $gettext(`Stacks`) }} + + + - - - {{ $gettext(`Stacks`) }} - - - + + + {{ $gettext(`Documents`) }} + + + + + + {{ $gettext(`Type`) }} + + + {{ file.typeInfo() }} + + {{ $gettext(`Size`) }} @@ -182,20 +190,18 @@ }} + + + {{ $gettext(`Pages`) }} + + {{ file.Pages }} + {{ $gettext(`Software`) }} {{ file.Software }} - - - {{ $gettext(`Type`) }} - - - {{ file.typeInfo() }} - - {{ $gettext(`Animated`) }} diff --git a/frontend/src/component/photo/view/cards.vue b/frontend/src/component/photo/view/cards.vue index 2ad3a3ee2..9109debb0 100644 --- a/frontend/src/component/photo/view/cards.vue +++ b/frontend/src/component/photo/view/cards.vue @@ -88,8 +88,8 @@ {{ m.getVideoInfo() }} -