Как конвертировать каталог с HTML файлами в DOCX файлы на C# и .NET


Полный код

using System;
using System.IO;
using SautinSoft;
using static SautinSoft.HtmlToRtf;

namespace Sample
{
    class Test
    {
        static void Main(string[] args)
        {
			// Get your free 100-day key here:   
            // https://sautinsoft.com/start-for-free/
	
            // Convert multiple HTML to DOCX files.
            // If you need more information about "HTML to RTF .Net" 
            // Email us at: support@sautinsoft.com.
            ConvertMultipleHtmlToDocx();
        }

        public static void ConvertMultipleHtmlToDocx()
        {
            SautinSoft.HtmlToRtf h = new SautinSoft.HtmlToRtf();
            HtmlConvertOptions opt = new HtmlConvertOptions();
            opt.OutputFormat = HtmlToRtf.OutputFormat.Docx;

            string inpFolder = @"..\..\..\Testing HTMLs\";
            string outFolder = new DirectoryInfo(Directory.GetCurrentDirectory()).CreateSubdirectory("DOCX").FullName;
            string[] inpFiles = Directory.GetFiles(inpFolder, "*.htm*");

            int total = inpFiles.Length;
            int currCount = 1;
            int successCount = 0;

            foreach (string inpFile in inpFiles)
            {
                string fileName = Path.GetFileName(inpFile);
                Console.Write("{0:D2} of {1} ... {2}", currCount, total, fileName);
                currCount++;

                bool ok = true;

                string outFile = Path.Combine(outFolder, Path.ChangeExtension(fileName, ".docx"));
                if (h.Convert(inpFile, outFile, opt))
                    successCount++;
                else
                    ok = false;

                Console.WriteLine(" ({0})", ok);
            }
            Console.WriteLine("{0} of {1} HTML(s) converted successfully!", successCount, total);
            Console.WriteLine("Press any key ...");
            Console.ReadKey();

            // Open the result for demonstration purposes.
            System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(outFolder) { UseShellExecute = true });
        }
    }
}

Download

Imports System
Imports System.IO
Imports SautinSoft
Imports SautinSoft.HtmlToRtf

Namespace Sample
	Friend Class Test
		Shared Sub Main(ByVal args() As String)
			' Get your free 100-day key here:   
            ' https://sautinsoft.com/start-for-free/
	
			' Convert multiple HTML to DOCX files.
			' If you need more information about "HTML to RTF .Net" 
			' Email us at: support@sautinsoft.com.
			ConvertMultipleHtmlToDocx()
		End Sub

		Public Shared Sub ConvertMultipleHtmlToDocx()
			Dim h As New SautinSoft.HtmlToRtf()
			Dim opt As New HtmlConvertOptions()
			opt.OutputFormat = HtmlToRtf.OutputFormat.Docx

			Dim inpFolder As String = "..\..\..\Testing HTMLs\"
			Dim outFolder As String = (New DirectoryInfo(Directory.GetCurrentDirectory())).CreateSubdirectory("DOCX").FullName
			Dim inpFiles() As String = Directory.GetFiles(inpFolder, "*.htm*")

			Dim total As Integer = inpFiles.Length
			Dim currCount As Integer = 1
			Dim successCount As Integer = 0

			For Each inpFile As String In inpFiles
				Dim fileName As String = Path.GetFileName(inpFile)
				Console.Write("{0:D2} of {1} ... {2}", currCount, total, fileName)
				currCount += 1

				Dim ok As Boolean = True

				Dim outFile As String = Path.Combine(outFolder, Path.ChangeExtension(fileName, ".docx"))
				If h.Convert(inpFile, outFile, opt) Then
					successCount += 1
				Else
					ok = False
				End If

				Console.WriteLine(" ({0})", ok)
			Next inpFile
			Console.WriteLine("{0} of {1} HTML(s) converted successfully!", successCount, total)
			Console.WriteLine("Press any key ...")
			Console.ReadKey()

			' Open the result for demonstration purposes.
			System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(outFolder) With {.UseShellExecute = True})
		End Sub
	End Class
End Namespace

Download


Если вам нужен пример кода или у вас есть вопрос: напишите нам по адресу support@sautinsoft.com или спросите в онлайн-чате (правый нижний угол этой страницы) или используйте форму ниже:



Вопросы и предложения всегда приветствуются!

Мы разрабатываем компоненты .Net с 2002 года. Мы знаем форматы PDF, DOCX, RTF, HTML, XLSX и Images. Если вам нужна помощь в создании, изменении или преобразовании документов в различных форматах, мы можем вам помочь. Мы напишем для вас любой пример кода абсолютно бесплатно.