Convertire un documento multipagina in un'immagine

Aspose.Words per .NET consente agli utenti di esportare documenti multipagina in immagini raster. Questo può essere utile per generare anteprime, archivi o rappresentazioni visive di documenti per uso non modificabile.

Quali formati supportano l’esportazione multipagina?

Aspose.Words supporta l’esportazione multipagina nei seguenti formati di immagine raster:

  • JPEG
  • GIF
  • Png
  • BMP
  • TIFF
  • WebP

Come esportare un documento multipagina in un’immagine

La funzione di esportazione di un documento multipagina in un’immagine viene implementata utilizzando la classe MultiPageLayout : è possibile specificare come organizzare le pagine quando si salva in un’immagine:

  • SinglePage - salva solo la prima delle pagine specificate
  • Grid – disporre le pagine in una griglia, da sinistra a destra e dall’alto verso il basso, specificando il numero di colonne
  • Horizontal – disporre le pagine orizzontalmente affiancate, da sinistra a destra, in un unico output
  • Vertical – disporre le pagine verticalmente una sotto l’altra in un unico output
  • TiffFrames – disponi ogni pagina come un fotogramma separato in un’immagine multi-frame TIFF, si applica solo ai formati immagine TIFF

Il seguente esempio di codice mostra come salvare un documento DOCX multipagina come immagine JPEG con layout orizzontale:

Document doc = new Document("Rendering.docx");

ImageSaveOptions options = new ImageSaveOptions(SaveFormat.Jpeg);
// Set up Horizontal layout.
options.PageLayout = MultiPageLayout.Horizontal(10);

doc.Save("ImageSaveOptions.HorizontalLayout.jpg", options);

È inoltre possibile personalizzare l’aspetto della pagina del file di output, specificando BackColor, BorderColor e BorderWidth.

Il seguente esempio di codice mostra come salvare un documento DOCX multipagina come immagine PNG con layout a griglia:

Document doc = new Document("Rendering.docx");

ImageSaveOptions options = new ImageSaveOptions(SaveFormat.Png);
// Set up a grid layout with:
// - 3 columns per row.
// - 10pts spacing between pages (horizontal and vertical).
options.PageLayout = MultiPageLayout.Grid(3, 10, 10);

// Customize the background and border.
options.PageLayout.BackColor = Color.LightGray;
options.PageLayout.BorderColor = Color.Blue;
options.PageLayout.BorderWidth = 2;

doc.Save("ImageSaveOptions.GridLayout.png", options);