SenseNet.Preview by kavics,aniko,lajos,tusmester

<PackageReference Include="SenseNet.Preview" Version="7.2.1" />

 IPreviewGenerationContext

public interface IPreviewGenerationContext
int ContentId { get; }

int MaxPreviewCount { get; }

int PreviewResolution { get; }

int PreviewsFolderId { get; }

int StartIndex { get; }

string Version { get; }

void LogError(int page, string message = null, Exception ex = null)

void LogInfo(int page, string message)

void LogWarning(int page, string message)

Task SaveEmptyPreviewAsync(int page, CancellationToken cancellationToken)

Task SaveImageAsync(Bitmap image, int page, CancellationToken cancellationToken)

Task SavePreviewAndThumbnailAsync(Stream imgStream, int page, CancellationToken cancellationToken)

void SetIndexes(int pageCount, out int firstIndex, out int lastIndex)

Task SetPageCountAsync(int pageCount, CancellationToken cancellationToken)