Как использовать callBack для сохранения изображений и задать имя шаблона для всех изображений на C# и .NET
Полный код
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using SautinSoft;
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()
{
// Get your free 100-day key here:
// https://sautinsoft.com/start-for-free/
// If you need more information about "RTF to HTML .Net"
// Email us at: support@sautinsoft.com.
string inpFile = @"..\..\..\example.docx";
string outFile = Path.GetFullPath(@"Result.html");
string imgDir = Path.GetDirectoryName(outFile);
RtfToHtml r = new RtfToHtml();
// Set images directory
RtfToHtml.HtmlFixedSaveOptions opt = new RtfToHtml.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 : RtfToHtml.IHtmlImageSavingCallback
{
public string TemplateImageName { get; set; } = "picture";
public void ImageSaving(RtfToHtml.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
Namespace Example
Friend Class Program
Shared Sub Main(ByVal args() As String)
ImagesCallback()
End Sub
''' <summary>
''' How to use image saving callback and set a template name for all images.
''' </summary>
Private Shared Sub ImagesCallback()
' Get your free 100-day key here:
' https://sautinsoft.com/start-for-free/
' If you need more information about "RTF to HTML .Net"
' Email us at: support@sautinsoft.com.
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 RtfToHtml.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 RtfToHtml.IHtmlImageSavingCallback
Public Property TemplateImageName() As String = "picture"
Private Sub IHtmlImageSavingCallback_ImageSaving(args As RtfToHtml.HtmlImageSavingArgs) Implements RtfToHtml.IHtmlImageSavingCallback.ImageSaving
args.ImageFileName = args.ImageFileName.Replace("image", TemplateImageName)
End Sub
End Class
End Namespace
Если вам нужен пример кода или у вас есть вопрос: напишите нам по адресу support@sautinsoft.com или спросите в онлайн-чате (правый нижний угол этой страницы) или используйте форму ниже: