GroupDocs.Conversion für .NET v26.6 ist jetzt verfügbar. Dieses Release fügt erweiterte Unterstützung für Konvertierungsereignisse, benutzerdefinierte Bildverarbeitung für PDF‑zu‑Markdown, automatische RTL‑Erkennung für DOCX und mehrere Stabilitätsverbesserungen hinzu.

Was ist neu in diesem Release

Schlüssel Kategorie Zusammenfassung
CONVERSIONNET-7934 Feature PDF to Markdown: allow custom image extraction and placeholder insertion
CONVERSIONNET-8286 Feature Introduce ConversionEvents aggregator with per-call/global handler precedence
CONVERSIONNET-8314 Feature Add OnFontSubstituted conversion event
CONVERSIONNET-8263 Improvement NuGet Package Split
CONVERSIONNET-8280 Improvement Auto-detect RTL direction for DOCX with missing/incorrect bidi markup
CONVERSIONNET-8325 Improvement Spreadsheet to PDF conversions with SkipEmptyRowsAndColumns overlap text when the sheet has form controls
CONVERSIONNET-7912 Bug Corrupted characters in JPEG/TIFF output
CONVERSIONNET-8281 Bug Converting a particular XFA PDF to image hangs and does not produce any result
CONVERSIONNET-8321 Bug Problem converting publisher - Unable to load Aspose.PDF

Änderungen der öffentlichen API

⚠️ Breaking Changes

  • Ereignisnamen wurden umbenannt und das Ereignis‑Aggregationsmodell hat sich geändert. Bestehende per‑Ergebnis‑Ereigniseigenschaften und Fluent‑Chain‑Methoden sind veraltet und werden in v26.9 entfernt.
  • ConverterSettings.Listener und das Interface IConverterListener sind veraltet; sie wurden durch Lebenszyklus‑Ereignisse auf ConversionEvents ersetzt.
  • Das alte per‑Dokument‑Ereignis OnConversionCompleted wurde in OnDocumentConverted umbenannt. Der gleiche Name wird nun für das Pipeline‑Lebenszyklus‑Ereignis verwendet, das einmal am Ende eines Konvertierungslaufs ausgelöst wird.

1. Neues Schriftart‑Ersetzungs‑Ereignis

API Beschreibung
ConversionEvents.OnFontSubstituted Wird ausgelöst, wenn eine für das Quell‑Dokument erforderliche Schriftart fehlt und eine Ersatzschriftart verwendet wird (entweder automatisch oder über eine benutzerdefinierte Regel).
FontSubstitutionContext Stellt Details zur Ersetzung bereit: SourceFileName, OriginalFontName, SubstituteFontName, Reason.
FontSubstitute Repräsentiert eine vom Benutzer bereitgestellte Ersetzungsregel (z. B. FontSubstitute.Create("MissingFont", "Arial")).

Referenz:

Klassisches API‑Beispiel

using GroupDocs.Conversion;
using GroupDocs.Conversion.Contracts;
using GroupDocs.Conversion.Options.Convert;

var events = new ConversionEvents
{
    OnFontSubstituted = ctx =>
    {
        var detail = ctx.OriginalFontName != null
            ? $"{ctx.OriginalFontName} -> {ctx.SubstituteFontName}"
            : ctx.Reason;
        Console.WriteLine($"Font substituted in '{ctx.SourceFileName}': {detail}");
    }
};

using var converter = new