Save image using callBack function
in C# and VB.NET
Complete code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using SautinSoft.RtfToHtml;
namespace Example
{
class Program
{
static void Main(string[] args)
{
UsingImagesSavingCallback();
}
/// <summary>
/// How to use image saving callback and set a template name for all images.
/// </summary>
static void UsingImagesSavingCallback()
{
string inpFile = @"..\..\..\..\example.docx";
string outFile = Path.GetFullPath(@"Result.html");
string imgDir = Path.GetDirectoryName(outFile);
RtfToHtml r = new RtfToHtml();
// Set images directory
HtmlFixedSaveOptions opt = new HtmlFixedSaveOptions()
{
ImagesDirectoryPath = Path.Combine(imgDir, "Result_images"),
ImagesDirectorySrcPath = "Result_images",
// Change to store images as physical files on local drive.
EmbedImages = false,
ImageSavingCallback = new SaveImagesOpt() { TemplateImageName = "MyPicture"}
};
try
{
r.Convert(inpFile, outFile, opt);
}
catch (Exception ex)
{
Console.WriteLine($"Conversion failed! {ex.Message}");
}
// Open the result.
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(outFile) { UseShellExecute = true });
}
}
public class SaveImagesOpt : IHtmlImageSavingCallback
{
public string TemplateImageName { get; set; } = "picture";
public void ImageSaving(SautinSoft.Document.HtmlImageSavingArgs args)
{
args.ImageFileName = args.ImageFileName.Replace("image", TemplateImageName);
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Text
Imports System.IO
Imports SautinSoft.RtfToHtml
Namespace Example
Friend Class Program
Shared Sub Main(ByVal args() As String)
UsingImagesSavingCallback()
End Sub
''' <summary>
''' How to use image saving callback and set a template name for all images.
''' </summary>
Private Shared Sub UsingImagesSavingCallback()
Dim inpFile As String = "..\..\..\..\example.docx"
Dim outFile As String = Path.GetFullPath("Result.html")
Dim imgDir As String = Path.GetDirectoryName(outFile)
Dim r As New RtfToHtml()
' Set images directory
Dim opt As New HtmlFixedSaveOptions() With {
.ImagesDirectoryPath = Path.Combine(imgDir, "Result_images"),
.ImagesDirectorySrcPath = "Result_images",
.EmbedImages = False,
.ImageSavingCallback = New SaveImagesOpt() With {.TemplateImageName = "MyPicture"}
}
Try
r.Convert(inpFile, outFile, opt)
Catch ex As Exception
Console.WriteLine($"Conversion failed! {ex.Message}")
End Try
' Open the result.
System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(outFile) With {.UseShellExecute = True})
End Sub
End Class
Public Class SaveImagesOpt
Implements SautinSoft.Document.IHtmlImageSavingCallback
Public Property TemplateImageName() As String = "picture"
Private Sub IHtmlImageSavingCallback_ImageSaving(args As SautinSoft.Document.HtmlImageSavingArgs) Implements SautinSoft.Document.IHtmlImageSavingCallback.ImageSaving
args.ImageFileName = args.ImageFileName.Replace("image", TemplateImageName)
End Sub
End Class
End Namespace
If you need a new code example or have a question: email us at support@sautinsoft.com or ask at Online Chat (right-bottom corner of this page) or use the Form below: