Convertire un documento multipagina in un'immagine

Aspose.Words per Java 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.setPageLayout = 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.setPageLayout(MultiPageLayout.grid(3, 10f, 10f)); // Customize the background and border. options.getPageLayout().setBackColor(Color.lightGray); options.getPageLayout().setBorderColor(Color.BLUE); options.getPageLayout().setBorderWidth(2f); doc.save("ImageSaveOptions.GridLayout.png", options);