Извлечение данных из документов с направлением текста справо-налево на C# и .NET

Обработка RTL-документов — не редкая необходимость для международных бизнесов, государственных структур, образовательных учреждений и множества других организаций. Виртуальные ассистенты, автоматизированные системы перевода, поисковые системы, системы архивного хранения — все они требуют точного извлечения данных с поддержкой языков с RTL-направлением. В этой статье разберем, как с помощью C# и .NET можно легко реализовать такую задачу, используя популярную библиотеку SautinSoft Document .NET.

Многие документы, особенно на арабском, иврите и других языках с направлением текста справа налево (RTL), требуют особого подхода при обработке. Стандарты и структуры таких документов могут отличаться от привычных для левосторонних текстов (LTR).

Задачи, связанные с извлечением текста и данных из документов RTL:

  • Автоматизация обработки больших объемов документов;
  • Реализация системы поиска и анализа информации;
  • Миграция данных между системами с поддержкой различных языков и направлений текста;
  • Обеспечение точной работы систем OCR и распознавания, где важно учитывать направление текста.

Без правильной обработки существует риск потерять важные данные или неправильно интерпретировать содержимое.

Input file:

table of content input

Output result:

table of content output

Полный код

using SautinSoft.Document;
using System;
using System.IO;
using System.Linq;
using System.Reflection.Metadata;

namespace Sample
{
    class Sample
    {
        static void Main(string[] args)
        {
            // Get your free trial key here:   
            // https://sautinsoft.com/start-for-free/

            ConvertRTLcontent();
        }

        /// <summary>
        /// How to convert documents with Right-To-Left content to HTML.
        /// </summary>
        /// <remarks>
        /// Details: https://sautinsoft.com/products/document/help/net/developer-guide/convert-documents-with-right-to-left-content-to-html.php
        /// </remarks>
        public static void ConvertRTLcontent()
        {
            string sourcePath = @"..\..\..\RTL.docx";
            string destPath = "RTL.html";
            
            // Load document with arabic, hindi, hebrew content.
            DocumentCore dc = DocumentCore.Load(sourcePath);
           
            // Save the document as HTML.
            dc.Save(destPath, new HtmlFixedSaveOptions());

            // Show the source and the dest documents.
            System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(sourcePath) { UseShellExecute = true });
            System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(destPath) { UseShellExecute = true });
        }
    }
}

Download

Imports SautinSoft.Document
Imports System
Imports System.IO
Imports System.Linq
Imports System.Reflection.Metadata

Namespace Sample
	Friend Class Sample
		Shared Sub Main(ByVal args() As String)
			' Get your free trial key here:   
			' https://sautinsoft.com/start-for-free/

			ConvertRTLcontent()
		End Sub

		''' <summary>
		''' How to convert documents with Right-To-Left content to HTML.
		''' </summary>
		''' <remarks>
		''' Details: https://sautinsoft.com/products/document/help/net/developer-guide/convert-documents-with-right-to-left-content-to-html.php
		''' </remarks>
		Public Shared Sub ConvertRTLcontent()
			Dim sourcePath As String = "..\..\..\RTL.docx"
			Dim destPath As String = "RTL.html"

			' Load document with arabic, hindi, hebrew content.
			Dim dc As DocumentCore = DocumentCore.Load(sourcePath)

			' Save the document as HTML.
			dc.Save(destPath, New HtmlFixedSaveOptions())

			' Show the source and the dest documents.
			System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(sourcePath) With {.UseShellExecute = True})
			System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(destPath) With {.UseShellExecute = True})
		End Sub
	End Class
End Namespace

Download


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



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

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