Siamo felici di annunciare GroupDocs.Conversion per .NET 25.10, disponibile a partire da ottobre 2025.
Questa versione minore introduce una serie di miglioramenti al layout della pagina, nuove capacità di opzioni di caricamento e una serie di correzioni di bug critiche. La modifica più visibile è una rifattorizzazione dell’API pubblica che raggruppa le impostazioni di margine e dimensione in oggetti dedicati, migliorando la coerenza tra tutte le opzioni di conversione.

Novità di questa versione

ID Funzionalità
CONVERSIONNET‑8032 Aggiungi il supporto per impostare dimensione pagina, margini e orientamento in EmailLoadOptions prima della conversione.
CONVERSIONNET‑8013 Aggiungi il supporto per impostare i margini della pagina in SpreadsheetOptions prima della conversione.
CONVERSIONNET‑8012 Aggiungi il supporto per impostare la dimensione della pagina in SpreadsheetOptions prima della conversione.
CONVERSIONNET‑8009 Aggiungi il supporto per impostare la dimensione della pagina in TxtLoadOptions e WordProcessingLoadOptions prima della conversione.
CONVERSIONNET‑8008 Aggiungi il supporto per impostare i margini della pagina in TxtLoadOptions e WordProcessingLoadOptions prima della conversione.

Queste aggiunte ti consentono di perfezionare il layout del documento di origine prima della fase di conversione, offrendoti un controllo più preciso sull’aspetto dei file risultanti.

Rifattorizzazione API – Impostazioni Layout Pagina (Modifiche Breaking)

⚠️ BREAKING CHANGE (effettiva v26.1) – Ventitre proprietà individuali di margine/dimensione sono deprecate e saranno rimosse nella prossima versione principale.
Il nuovo modello introduce due oggetti di supporto che sostituiscono le precedenti proprietà scalari:

Classe interessata Proprietà deprecate Sostituzione
PdfConvertOptions (7) MarginTop, MarginBottom, MarginLeft, MarginRightMarginSettingsPageSize, PageWidth, PageHeightSizeSettings MarginSettings (PageMarginOptions), SizeSettings (PageSizeOptions)
WordProcessingConvertOptions (7) Come PDF Come PDF
EBookConvertOptions (3) PageSize, PageWidth, PageHeightSizeSettings SizeSettings
CadConvertOptions (3) PageSize, PageWidth, PageHeightSizeSettings SizeSettings

Nuove classi di supporto

public class PageMarginOptions
{
    public float? Top { get; set; }
    public float? Bottom { get; set; }
    public float? Left { get; set; }
    public float? Right { get; set; }
}
public sealed class PageSizeOptions
{
    public PageSize PageSize { get; set; }
    public float PageWidth { get; set; }   // Setting this forces PageSize = PageSize.Custom
    public float PageHeight { get; set; }  // Setting this forces PageSize = PageSize.Custom
}

Guida alla migrazione

Migrazione dei margini della pagina

Vecchio approccio (deprecato)

var options = new PdfConvertOptions
{
    MarginTop    = 10,
    MarginBottom = 10,
    MarginLeft   = 20,
    MarginRight  = 20
};

Nuovo approccio (consigliato)

var options = new PdfConvertOptions
{
    MarginSettings = new PageMarginOptions
    {
        Top    = 10,
        Bottom = 10,
        Left   = 20,
        Right  = 20
    }
};

Migrazione delle impostazioni di dimensione pagina

Vecchio approccio (deprecato)

// Predefined size
var pdfOptions = new PdfConvertOptions
{
    PageSize = PageSize.A4
};

// Custom dimensions
var wpOptions = new WordProcessingConvertOptions
{
    PageWidth  = 612, // points (Letter width)
    PageHeight = 792  // points (Letter height)
};

Nuovo approccio (consigliato)

// Predefined size
var pdfOptions = new PdfConvertOptions
{
    SizeSettings = new PageSizeOptions
    {
        PageSize = PageSize.A4
    }
};

// Custom dimensions
var wpOptions = new WordProcessingConvertOptions
{
    SizeSettings = new PageSizeOptions
    {
        PageWidth  = 612,   // points
        PageHeight = 792    // points
        // PageSize automatically becomes PageSize.Custom
    }
};

L’adozione dei nuovi oggetti elimina le ambiguità (l’API precedente mescolava punti e pixel) e allinea tutte le opzioni di conversione sotto un modello comune e facilmente scopribile.

Correzioni e miglioramenti

ID Tipo di problema Descrizione
CONVERSIONNET‑8031 Bug PreserveOriginalDate impostato a false veniva precedentemente ignorato su .NET.
CONVERSIONNET‑8023 Bug Le conversioni con sintassi Fluent fallivano quando non venivano fornite opzioni di conversione esplicite.
CONVERSIONNET‑8020 Bug La conversione WordProcessing generava un’eccezione non gestita a causa della mancanza di Microsoft.Extensions.DependencyInjection (v8.0.0.0).
CONVERSIONNET‑8006 Bug WordProcessingConvertOptions trattava PageWidth/PageHeight come pixel invece che come punti.
CONVERSIONNET‑8005 Bug Le proprietà PdfConvertOptions.Margin* non venivano rispettate durante la conversione PDF.

Queste correzioni aumentano l’affidabilità nei più comuni scenari di conversione e allineano la libreria al comportamento previsto di .NET.

Come ottenere l’aggiornamento

  • NuGet – Aggiorna all’ultimo pacchetto GroupDocs.Conversion:

    dotnet add package GroupDocs.Conversion --version 25.10
    

    (Lo stesso pacchetto funziona per .NET 6+, .NET Framework 4.6.2 e .NET Core.)

  • Download diretto – Gli assembly per .NET e .NET Framework sono disponibili nella pagina di rilascio:
    https://releases.groupdocs.com/conversion/net/25-10/

Risorse