J'essaie d'imiter un code de production pour générer des Tiffs avec un sujet à des fins de test (IE dans Windows, clic droit, aller aux propriétés et l'onglet de détails il y a un sujet). Nous plaçons du texte que nous devons référencer plus tard dans le champ sujet. Le champ que nous utilisons est 0x9c9f qui, autant que je peux trouver est (tag Sujet utilisé par Windows, codé en UCS2)LibTiff.net ne met pas la balise Subject
Voici le code que je utilise pour générer la balise
public static void TagExtender(Tiff tif)
{
TiffFieldInfo[] tiffFieldInfo =
{
new TiffFieldInfo(TIFFTAG_SUBJECT, 256, 256, TiffType.BYTE, FieldBit.Custom, true, false, "XPSubject"),
};
tif.MergeFieldInfo(tiffFieldInfo, tiffFieldInfo.Length);
//if (m_parentExtender != null)
// m_parentExtender(tif);
}
public static void GenerateTiff(string filename, int pages = 1, bool encrypt = false, string tag = null)
{
// Register the custom tag handler
if (m_parentExtender == null)
{
Tiff.TiffExtendProc extender = TagExtender;
m_parentExtender = Tiff.SetTagExtender(extender);
}
// Open the output image
using (Tiff output = Tiff.Open(filename, "w"))
{
//...other code to generate tiff
if (tag != null)
{
byte[] bytes = UnicodeStr2HexStr(tag);
output.SetField(TIFFTAG_SUBJECT, bytes.Length-1, bytes);
}
// Code to actually write the image ....
output.WriteDirectory();
}
output.Close();
}
Fondamentalement, la tag (code sage) semble être dans le tiff mais la boîte de dialogue des propriétés de Windows ne l'affiche jamais. Quelque chose de spécial nécessaire pour le mettre en place?