FontSavingArgs

FontSavingArgs class

Liefert Daten für dieFontSaving Ereignis.

Um mehr zu erfahren, besuchen Sie dieSpeichern eines Dokuments Dokumentationsartikel.

public class FontSavingArgs

Eigenschaften

NameBeschreibung
Bold { get; }Gibt an, ob die aktuelle Schriftart fett ist.
Document { get; }Ruft das Dokumentobjekt ab, das gespeichert wird.
FontFamilyName { get; }Gibt den aktuellen Schriftfamiliennamen an.
FontFileName { get; set; }Ruft den Dateinamen (ohne Pfad) ab oder legt ihn fest, unter dem die Schriftart gespeichert wird.
FontStream { get; set; }Ermöglicht die Angabe des Streams, in dem die Schriftart gespeichert wird.
IsExportNeeded { get; set; }Ermöglicht die Angabe, ob die aktuelle Schriftart als Schriftartressource exportiert wird. Standardmäßig istWAHR .
IsSubsettingNeeded { get; set; }Ermöglicht die Angabe, ob die aktuelle Schriftart vor dem Exportieren als Schriftartressource in eine Teilmenge unterteilt wird.
Italic { get; }Gibt an, ob die aktuelle Schriftart kursiv ist.
KeepFontStreamOpen { get; set; }Gibt an, ob Aspose.Words den Stream nach dem Speichern einer Schriftart geöffnet lassen oder schließen soll.
OriginalFileName { get; }Ruft den ursprünglichen Schriftartdateinamen mit einer Erweiterung ab.
OriginalFileSize { get; }Ruft die ursprüngliche Schriftdateigröße ab.

Bemerkungen

Wenn Aspose.Words ein Dokument in HTML oder verwandten Formaten speichert undExportFontResources ist eingestellt aufWAHR, speichert es jedes Schriftartmotiv für den Export in einer separaten Datei.

FontSavingArgs steuert, ob und wie bestimmte Schriftartressourcen exportiert werden sollen.

FontSavingArgsermöglicht außerdem die Neudefinition der Generierung von Schriftartdateinamen oder das vollständige Umgehen des Speicherns von Schriftarten in Dateien durch die Bereitstellung eigener Streamobjekte.

Um zu entscheiden, ob eine bestimmte Schriftartressource gespeichert werden soll, verwenden Sie dieIsExportNeeded Eigentum.

Um Schriftarten in Streams statt in Dateien zu speichern, verwenden Sie dieFontStream Eigentum.

Beispiele

Zeigt, wie Sie beim Speichern im HTML-Format eine benutzerdefinierte Logik zum Exportieren von Schriftarten definieren.

public void SaveExportedFonts()
{
    Document doc = new Document(MyDir + "Rendering.docx");

    // Konfigurieren Sie ein SaveOptions-Objekt, um Schriftarten in separate Dateien zu exportieren.
    // Legen Sie einen Rückruf fest, der das Speichern von Schriftarten auf benutzerdefinierte Weise handhabt.
    HtmlSaveOptions options = new HtmlSaveOptions
    {
        ExportFontResources = true,
        FontSavingCallback = new HandleFontSaving()
    };

    // Der Rückruf exportiert .ttf-Dateien und speichert sie zusammen mit dem Ausgabedokument.
    doc.Save(ArtifactsDir + "HtmlSaveOptions.SaveExportedFonts.html", options);

    foreach (string fontFilename in Array.FindAll(Directory.GetFiles(ArtifactsDir), s => s.EndsWith(".ttf")))
    {
        Console.WriteLine(fontFilename);
    }

}

/// <summary>
/// Druckt Informationen zu exportierten Schriftarten und speichert sie im selben lokalen Systemordner wie ihre Ausgabe-HTML.
/// </summary>
public class HandleFontSaving : IFontSavingCallback
{
    void IFontSavingCallback.FontSaving(FontSavingArgs args)
    {
        Console.Write($"Font:\t{args.FontFamilyName}");
        if (args.Bold) Console.Write(", bold");
        if (args.Italic) Console.Write(", italic");
        Console.WriteLine($"\nSource:\t{args.OriginalFileName}, {args.OriginalFileSize} bytes\n");

        // Von hier aus können wir auch auf das Quelldokument zugreifen.
        Assert.True(args.Document.OriginalFileName.EndsWith("Rendering.docx"));

        Assert.True(args.IsExportNeeded);
        Assert.True(args.IsSubsettingNeeded);

        // Es gibt zwei Möglichkeiten, eine exportierte Schriftart zu speichern.
        // 1 – Speichern Sie es an einem lokalen Dateisystemspeicherort:
        args.FontFileName = args.OriginalFileName.Split(Path.DirectorySeparatorChar).Last();

        // 2 - In einem Stream speichern:
        args.FontStream =
            new FileStream(ArtifactsDir + args.OriginalFileName.Split(Path.DirectorySeparatorChar).Last(), FileMode.Create);
        Assert.False(args.KeepFontStreamOpen);
    }
}

Siehe auch