GetMissedFonts

MetaImage.GetMissedFonts method

Renvoie la liste des polices utilisées dans le métafichier mais introuvables.

public string[] GetMissedFonts()

Return_Value

La liste des polices

Exemples

L’exemple suivant montre comment imprimer des informations sur les polices utilisées et manquantes dans les images WMF/EMF.

[C#]

string dir = "c:\\aspose.imaging\\net\\issues\\3544";

// Pour rendre toutes les polices inaccessibles
string[] fontDirectories = Aspose.Imaging.FontSettings.GetFontsFolders();
Aspose.Imaging.FontSettings.SetFontsFolder("empty");
string[] files = new string[]
{
    "TestWmfText.wmf",
    "TestEmfFonts.emf",
    "TestEmfPlusFonts.emf",
};

try
{
    foreach (string file in files)
    {
        System.Console.WriteLine("========== {0} ==========", file);
        using (Aspose.Imaging.FileFormats.Emf.MetaImage image = (Aspose.Imaging.FileFormats.Emf.MetaImage)Aspose.Imaging.Image.Load(System.IO.Path.Combine(dir, file)))
        {
            string[] used = image.GetUsedFonts();
            foreach (string it in used)
            {
                System.Console.WriteLine("Used font: " + it);
            }

            string[] missed = image.GetMissedFonts();
            foreach (string it in missed)
            {
                System.Console.WriteLine("Missed font: " + it);
            }

            int ui = 0, mi = 0;
            foreach (string it in used)
            {
                if (it.Contains("Times"))
                {
                    ui++;
                    continue;
                }

                if (used[ui] != missed[mi])
                {
                    throw new System.Exception("Font lists must be equal!");
                }

                ui++; mi++;
            }
        }
    }
}
finally
{
    Aspose.Imaging.FontSettings.SetFontsFolders(fontDirectories, true);
}

// Le journal STDOUT peut ressembler à ceci :
//========== TestWmfText.wmf ==========
//Police utilisée : Garamond
//Police utilisée : Arial
// Police utilisée : Bookman Old Style
// Police utilisée : Comic Sans MS
//Police utilisée : Courier
//Police utilisée : Courier New
//Police utilisée : Impact
//Police utilisée : Moderne
//Police utilisée : MS Sans Serif
//Police utilisée : MS Serif
//Police utilisée : Petites polices
//Police utilisée : Symbole
//Police utilisée : Tahoma
//Police utilisée : Times New Roman
//Police utilisée : Verdana
// Police utilisée : Wingdings
//Police manquante : Garamond
//Police manquante : Arial
// Police manquante : Bookman Old Style
// Police manquante : Comic Sans MS
// Police manquante : Courier
// Police manquante : Courier New
//Police manquante : Impact
//Police manquante : Moderne
// Police manquante : MS Sans Serif
// Police manquante : MS Serif
//Police manquante : Petites polices
//Police manquante : symbole
// Police manquante : Tahoma
//Police manquante : Verdana
// Police manquante : Wingdings
//========== TestEmfFonts.emf ==========
//Police utilisée : Arial
//Police utilisée : Verdana
//Police utilisée : Times New Roman
//Police utilisée : Symbole
//Police manquante : Arial
//Police manquante : Verdana
//Police manquante : symbole
//========== TestEmfPlusFonts.emf ==========
//Police utilisée : MICROSOFT SANS SERIF
//Police manquante : MICROSOFT SANS SERIF

Voir également