C-Sharp Meta-Daten (Author, Titel, Typ, usw.) aus Datei auslesen
Hallo @ All
Ich möchte die Metadaten (Details) aus einigen Schrift-Arten auslesen.
Siehe BSP:
System.IO.FileInfo usw. liefern alle nicht die Details.
Kann mir jemand einen Tipp geben wie ich das bewerkstelligen kann?
Danke für eure Hilfe!
Grüße, Mayho
Ich möchte die Metadaten (Details) aus einigen Schrift-Arten auslesen.
Siehe BSP:
System.IO.FileInfo usw. liefern alle nicht die Details.
Kann mir jemand einen Tipp geben wie ich das bewerkstelligen kann?
Danke für eure Hilfe!
Grüße, Mayho
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 560423
Url: https://administrator.de/forum/c-sharp-meta-daten-author-titel-typ-usw-aus-datei-auslesen-560423.html
Ausgedruckt am: 13.04.2025 um 01:04 Uhr
3 Kommentare
Neuester Kommentar
Servus @mayho ,
hier ein einfaches Beispiel in einer Console-App. (Verweis zu Shell32.dll hinzufügen und Pfad zur Font-Datei anpassen)
Eine Liste für die FMTID und die propID findest du hier
https://docs.microsoft.com/en-us/windows/win32/properties/props
Grüße Uwe
hier ein einfaches Beispiel in einer Console-App. (Verweis zu Shell32.dll hinzufügen und Pfad zur Font-Datei anpassen)
Eine Liste für die FMTID und die propID findest du hier
https://docs.microsoft.com/en-us/windows/win32/properties/props
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace GetExtendedProperty {
class Program {
[STAThread]
static void Main(string args) {
string filepath = @"D:\Test.otf";
Shell32.Shell shell = new Shell32.Shell();
Shell32.Shell objShell = shell.Application;
Shell32.FolderItem2 itm = (Shell32.FolderItem2)objShell.NameSpace(Path.GetDirectoryName(filepath)).ParseName(Path.GetFileName(filepath));
Console.WriteLine("Type:\t" + itm.ExtendedProperty("{B725F130-47EF-101A-A5F1-02608C9EEBAC} 4"));
Console.WriteLine("Title:\t" + itm.ExtendedProperty("{F29F85E0-4FF9-1068-AB91-08002B27B3D9} 2"));
Console.WriteLine("File version:\t" + itm.ExtendedProperty("{0CEF7D53-FA64-11D1-A203-0000F81FEDEE} 4"));
Console.WriteLine("Copyright:\t" + itm.ExtendedProperty("{64440492-4C8B-11D1-8B70-080036B11A03} 11"));
Console.WriteLine("Company:\t" + itm.ExtendedProperty("{D5CDD502-2E9C-101B-9397-08002B2CF9AE} 15"));
string authors = itm.ExtendedProperty("{F29F85E0-4FF9-1068-AB91-08002B27B3D9} 4") ?? new string { };
Console.WriteLine("Author:\t" + String.Join(",", authors));
Console.WriteLine("Trademarks:\t" + itm.ExtendedProperty("{0CEF7D53-FA64-11D1-A203-0000F81FEDEE} 9"));
Console.WriteLine("File description:\t" + itm.ExtendedProperty("{0CEF7D53-FA64-11D1-A203-0000F81FEDEE} 3"));
Console.WriteLine("\n\nPress any key to exit");
Console.ReadKey();
}
}
}