Как преобразовать DOCX, RTF в HTML (Fixed и Flowing модели) на C# и .NET
Этот пример показывает разницу между Fixed-HTML и Flowing-HTML.
Полный код
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)
{
FixedAndFlowingHtml();
}
/// <summary>
/// This sample shows difference between Fixed-HTML and Flowing-HTML.
/// </summary>
static void FixedAndFlowingHtml()
{
// 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.
// This file is necessary to get DOCX content as byte array.
string inpFile = @"..\..\..\example.docx";
string htmlFixedFile = @"Fixed.html";
string htmlFlowingFile = @"Flowing.html";
RtfToHtml r = new RtfToHtml();
// 1. Convert to HTML-fixed.
// The HTML in the fixed mode represents HTML document with pages and elements positioned by (x,y).
try
{
r.Convert(inpFile, htmlFixedFile, new RtfToHtml.HtmlFixedSaveOptions() { Title = "Fixed", PageMargins = 20f });
}
catch (Exception ex)
{
Console.WriteLine($"Conversion failed! {ex.Message}");
}
// 2. Convert to HTML-Flowing.
// The HTML in the flowing mode represents HTML document like a created by a human
// extended by a whole browser width.
try
{
r.Convert(inpFile, htmlFlowingFile, new RtfToHtml.HtmlFlowingSaveOptions() { Title = "Flowing"});
}
catch (Exception ex)
{
Console.WriteLine($"Conversion failed! {ex.Message}");
}
// Open the results.
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(htmlFixedFile) { UseShellExecute = true });
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(htmlFlowingFile) { UseShellExecute = true });
}
}
}
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)
FixedAndFlowingHtml()
End Sub
''' <summary>
''' This sample shows difference between Fixed-HTML and Flowing-HTML.
''' </summary>
Private Shared Sub FixedAndFlowingHtml()
' 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.
' This file is necessary to get DOCX content as byte array.
Dim inpFile As String = "..\..\..\example.docx"
Dim htmlFixedFile As String = "Fixed.html"
Dim htmlFlowingFile As String = "Flowing.html"
Dim r As New RtfToHtml()
' 1. Convert to HTML-fixed.
' The HTML in the fixed mode represents HTML document with pages and elements positioned by (x,y).
Try
r.Convert(inpFile, htmlFixedFile, new RtfToHtml.HtmlFixedSaveOptions() With {
.Title = "Fixed",
.PageMargins = 20F
})
Catch ex As Exception
Console.WriteLine($"Conversion failed! {ex.Message}")
End Try
' 2. Convert to HTML-Flowing.
' The HTML in the flowing mode represents HTML document like a created by a human
' extended by a whole browser width.
Try
r.Convert(inpFile, htmlFlowingFile, New RtfToHtml.HtmlFlowingSaveOptions() With {.Title = "Flowing"})
Catch ex As Exception
Console.WriteLine($"Conversion failed! {ex.Message}")
End Try
' Open the results.
System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(htmlFixedFile) With {.UseShellExecute = True})
System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(htmlFlowingFile) With {.UseShellExecute = True})
End Sub
End Class
End Namespace
Если вам нужен пример кода или у вас есть вопрос: напишите нам по адресу support@sautinsoft.com или спросите в онлайн-чате (правый нижний угол этой страницы) или используйте форму ниже: