Click or drag to resize

ImageSaveOptions Class

Represents options for saving to Image (PNG, JPE, GBitmap, TIFF etc.) format.
Inheritance Hierarchy
SystemObject
  SautinSoft.DocumentSaveOptions
    SautinSoft.DocumentImageSaveOptions

Namespace: SautinSoft.Document
Assembly: SautinSoft.Document (in SautinSoft.Document.dll) Version: 2024.11.20
Syntax
public sealed class ImageSaveOptions : SaveOptions

The ImageSaveOptions type exposes the following members.

Constructors
 NameDescription
Public methodImageSaveOptions Initializes a new instance of the ImageSaveOptions class.
Top
Properties
 NameDescription
Public propertyContentType Gets the content-type for image file format: application/image.
(Overrides SaveOptionsContentType)
Public propertyDpiX

Gets or sets the horizontal dots per inch (dpi) of the image.

Default value is NaN, which means that component specific default value will be used (currently 300).

Public propertyDpiY

Gets or sets the vertical dots per inch (dpi) of the image.

Default value is NaN, which means that component specific default value will be used (currently 300).

Public propertyFormat Gets or sets the image format.
Public propertyGifDelay Gets or sets the delay in milliseconds between frames in the animated GIF. Default value: 33. (33 ms ~ 30fps, 16 ms ~ 60fps).
Public propertyPageCount Gets or sets the number of pages to save. Set PageCount = 0 for select all pages after PageIndex. Default value: 0.
Public propertyPageIndex Gets or sets the 0-based index of the first page to save. Default is 0.
Public propertyPixelFormat Gets or sets a pixel format, which will be used for the image.
Public propertySelectedPages Gets or sets a custom page 0-based index set for save. Setting PageIndex or PageCount properties are overrides SelectedPages.
Public propertyTiffCompression Gets or sets compression schema, which will be used when exporting to Tagged Image File Format (TIFF).
Top
Example

See Developer Guide: Loads a document and saves all pages as images.

How to load a document and saves all pages as images using C#
using System;
using System.IO;
using System.Runtime;
using SautinSoft.Document;
using SkiaSharp;

namespace Example
{
    class Program
    {
        static void Main(string[] args)
        {
            // Get your free 100-day key here:   
            // https://sautinsoft.com/start-for-free/

            SaveToImage();
        }
        /// <summary>
        /// Loads a document and saves all pages as images.
        /// </summary>
        /// <remarks>
        /// Details: https://sautinsoft.com/products/document/help/net/developer-guide/save-document-as-image-net-csharp-vb.php
        /// </remarks>
        static void SaveToImage()
        {
            string filePath = @"..\..\..\example.docx";
            DocumentCore dc = DocumentCore.Load(filePath);
            string folderPath = Path.GetFullPath(@"Result-files");

            DocumentPaginator dp =  dc.GetPaginator();

            for (int i = 0; i < dp.Pages.Count; i++)
            {
                DocumentPage page = dp.Pages[i];
                // For example, set DPI: 72, Background: White.

                // To get high-quality image, lets set 72 dpi.
                var DPI = new ImageSaveOptions();
                DPI.DpiX = 72;
                DPI.DpiY = 72;

                // Rasterize/convert the page into PNG image.
                SKBitmap image = page.Rasterize(DPI, SautinSoft.Document.Color.White);

                Directory.CreateDirectory(folderPath);
                image.Encode(new FileStream(folderPath + @"\Page - " + i.ToString() + ".png", FileMode.Create), SkiaSharp.SKEncodedImageFormat.Png, 100);

            }
            System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(folderPath) { UseShellExecute = true });
        }
    }
}
How to load a document and saves all pages as images VB.Net
Imports System
Imports System.IO
Imports System.Runtime
Imports SautinSoft.Document
Imports SkiaSharp


Module Sample
    Sub Main()
        SaveToImage()
    End Sub
    ''' Get your free 100-day key here:   
    ''' https://sautinsoft.com/start-for-free/
    ''' <summary>
    ''' Loads a document and saves all pages as images.
    ''' </summary>
    ''' <remarks>
    ''' Details: https://sautinsoft.com/products/document/help/net/developer-guide/save-document-as-image-net-csharp-vb.php
    ''' </remarks>
    Sub SaveToImage()
        Dim filePath As String = "..\..\..\example.docx"
        Dim dc As DocumentCore = DocumentCore.Load(filePath)
        Dim folderPath As String = Path.GetFullPath("Result-files")

        Dim dp As DocumentPaginator = dc.GetPaginator()

        For i As Integer = 0 To dp.Pages.Count - 1
            Dim page As DocumentPage = dp.Pages(i)
            ' For example, set DPI: 72, Background: White.

            Dim dpi As ImageSaveOptions = New ImageSaveOptions()
            dpi.DpiX = 72
            dpi.DpiY = 72
            Dim image As SKBitmap = page.Rasterize(DPI, SautinSoft.Document.Color.White)
            Directory.CreateDirectory(folderPath)
            image.Encode(New FileStream(folderPath + "\Page - " + i.ToString() + ".png", FileMode.Create), SkiaSharp.SKEncodedImageFormat.Png, 100)

        Next i
        System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(folderPath) With {.UseShellExecute = True})
    End Sub
End Module
See Also