Masz foldery z plikami HTM lub HTML — zeskrobane strony, zarchiwizowane biuletyny, eksportowane pliki pomocy, migawki intranetu — oraz potok następujący po nim, który potrzebuje czytelnego tekstu bez znaczników. Indeksery wyszukiwania nie chcą szumu <div>. Tokenizatory NLP dławią się skryptami inline. Recenzja prawna chce prozy, a nie CSS. Total HTML Converter X usuwa znaczniki HTM i zapisuje czysty tekst Unicode z wiersza poleceń, wsadowo, bez GUI i bez silnika przeglądarki. Zainstaluj go na serwerze Windows, wywołaj ze skryptu lub przez ActiveX i pozwól mu zasilać Twój indekser, model lub archiwum.
*.htm), a konwerter przejdzie każdy pasujący plik w jednym przebiegu
(30 dni, bez e-maila)
(licencja serwerowa, wieczysta)
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
HTM (i HTML) to język znaczników przeznaczony dla przeglądarek. Plik miesza prozę ze znacznikami, atrybutami, stylami inline, JavaScript i odwołaniami do zewnętrznych zasobów. Indekser wyszukiwania, który połyka surowe HTM, kończy ocenianiem bloków <script> i nazw klas CSS razem z rzeczywistą treścią. Tokenizator LLM marnuje kontekst na szum. Grep po archiwum HTM zwraca dopasowania wewnątrz atrybutów, a nie w tekście.
TXT Unicode to zwykły tekst w UTF-8 lub UTF-16. Brak znaczników, brak markupu, brak formatowania — tylko czytelne znaki dokumentu. Każda wyszukiwarka, zestaw narzędzi NLP, analizator logów i narzędzie archiwizujące konsumuje go bez wstępnego przetwarzania. Konwersja jest stratna z założenia: obrazy, układ i style znikają. Pozostaje zawartość tekstowa, w prawidłowym porządku logicznym, z nienaruszonym oryginalnym zestawem znaków.
| HTM | TXT Unicode | |
|---|---|---|
| Zawartość | Znaczniki, skrypty, style, proza | Tylko proza |
| Szum indeksowalny | Wysoki (znaczniki, klasy, skrypty) | Żaden |
| Kodowanie | Deklarowane w <meta>, często niespójne | Jawne UTF-8 lub UTF-16 |
| Gotowe dla tokenizatora | Najpierw potrzebuje parsera | Tak, natychmiast |
| Przyjazne dla grep / awk | Słabe (dopasowania w znacznikach) | Doskonałe |
| Odbiorcy | Przeglądarki | Wyszukiwanie, NLP, analityka, archiwa |
Pobierz instalator z linku powyżej i uruchom go na serwerze lub stacji roboczej Windows. Instalacja trwa mniej niż minutę. Nie wymaga przeglądarki, Microsoft Office ani środowiska Java — konwerter parsuje HTM własnym silnikiem i zapisuje tekst Unicode bezpośrednio.
Otwórz cmd.exe lub PowerShell. Plik wykonywalny konwertera to HTMLConverter.exe, znajdujący się w folderze instalacyjnym (zwykle C:\Program Files\CoolUtils\TotalHTMLConverterX\). Dodaj go do systemowej zmiennej PATH lub używaj pełnej ścieżki w poleceniach.
Najprostsze polecenie usuwa znaczniki z każdego pliku HTM w folderze i zapisuje tekst UTF-8:
HTMLConverter.exe C:\Pages\*.htm C:\Output\ -c TXT -Encoding UTF-8
Przetwarza każdy plik .htm w folderze C:\Pages\ i zapisuje wynikowe pliki .txt w C:\Output\. Każdy HTM tworzy jeden TXT o tej samej nazwie bazowej z tekstem w UTF-8.
Dostosuj wyjście do konsumenta tekstu:
HTMLConverter.exe C:\Pages\*.htm C:\Output\ -c TXT -Encoding UTF-16 -BOM 1 -log C:\Logs\htm2txt.log
-Encoding UTF-8 — domyślne; działa dla większości potoków wyszukiwania i NLP-Encoding UTF-16 — przydatne dla starszych narzędzi Windows oczekujących szerokich znaków-BOM 1 lub -BOM 0 — zapisz lub pomiń znacznik kolejności bajtów; wiele indekserów preferuje brak BOM-log C:\Logs\htm2txt.log — rejestruj każdy przetworzony plik i ostrzeżenia o parsowaniuZapisz polecenie w pliku .bat i zaplanuj je za pomocą Harmonogramu zadań systemu Windows:
@echo off "C:\Program Files\CoolUtils\TotalHTMLConverterX\HTMLConverter.exe" C:\Incoming\*.htm C:\Archive\TXT\ -c TXT -Encoding UTF-8 -BOM 0 -log C:\Logs\htm2txt.log
Uruchamia się co noc (lub z dowolną częstotliwością) i zrzuca tekst UTF-8 do folderu archiwum gotowy do podjęcia przez indekser wyszukiwania, zadanie NLP lub audyt oparty na grep.
Total HTML Converter X rejestruje się jako pełny obiekt ActiveX. Możesz go wywoływać z dowolnego środowiska zgodnego z COM — .NET, VBScript, PHP, Python, Ruby lub ASP. Pozwala to osadzić ekstrakcję HTM do tekstu Unicode we własnej usłudze pobierania, portalu intranetowym lub potoku NLP bez uruchamiania osobnego procesu z wiersza poleceń.
Przykład (C#/.NET):
HTMLConverterX Cnv = new HTMLConverterX();
Cnv.Convert("C:\\Pages\\report.htm", "C:\\Output\\report.txt", "-c TXT -Encoding UTF-8 -BOM 0 -log c:\\Logs\\htm.log");
Przykład (PHP):
$c = new COM("HTMLConverter.HTMLConverterX");
$c->convert("C:\\Pages\\report.htm", "C:\\Output\\report.txt", "-c TXT -Encoding UTF-8 -BOM 0 -log c:\\Logs\\htm.log");
To samo wywołanie działa z ASP.NET, VBScript, Python, Ruby, Perl i JavaScript (Windows Script Host). Twoja usługa może przyjmować przesyłane HTM i zwracać czysty tekst Unicode wywołującemu w tym samym żądaniu.
| Funkcja | Konwertery online | Total HTML Converter X |
|---|---|---|
| Przetwarzanie wsadowe | Jeden plik naraz | Nieograniczona liczba plików na partię |
| Prywatność plików | Pliki wysyłane na serwer zewnętrzny | Pliki nigdy nie opuszczają Twojego komputera |
| Kontrola kodowania | Zwykle tylko UTF-8 | UTF-8, UTF-16 LE/BE, przełącznik BOM |
| Pisma niezłacińskie | Niespójne (mojibake na CJK, arabskim) | Pełne pokrycie Unicode, zachowane BIDI |
| Automatyzacja | Tylko ręcznie | Wiersz poleceń, .bat, Harmonogram zadań, ActiveX |
| Wdrożenie na serwerze | Niemożliwe | Zaprojektowany dla serwerów, bez GUI |
| Przepustowość | Ograniczona prędkością przesyłania | Lokalne I/O, tysiące plików na godzinę |
| Wymaga internetu | Tak | Nie |
class i łańcuchów JavaScript. Grep po wyodrębnionych TXT zwraca tylko dopasowania w rzeczywistej prozie — odpowiedź, której chce audytor.Wyjście to uczciwe UTF-8 lub UTF-16. Cyrylica pozostaje cyrylicą, CJK pozostaje CJK, arabski i hebrajski zachowują swoje znaki w porządku logicznym. Brak transliteracji, brak gubienia znaków, brak zastępowania znakami zapytania — co było czytelne w HTM, pozostaje czytelne w TXT.
Total HTML Converter X jest zbudowany do pracy bez nadzoru. Żadnych okien GUI, okien dialogowych ani monitów potwierdzenia. Działa cicho z wiersza poleceń lub jako część usługi — dokładnie tego, czego potrzebuje zadanie indeksujące, potok NLP lub pracownik archiwum.
Wyszukiwarki, zestawy narzędzi NLP i starsze systemy oczekują różnych sekwencji bajtów. Konwerter wystawia kodowanie i BOM jako flagi wiersza poleceń, dzięki czemu zapisujesz UTF-8 bez BOM dla Elasticsearch, UTF-16 LE z BOM dla narzędzia tylko dla Windows i UTF-8 z BOM dla recenzenta korzystającego z Notatnika — z tej samej instalacji.
To samo narzędzie wiersza poleceń konwertuje HTM do PDF, DOC, XLS, TIFF, JPEG, RTF i wielu innych formatów. Jedna instalacja pokrywa każdą potrzebę ekstrakcji HTM na serwerze. Zmień -c TXT na -c PDF, a otrzymasz archiwalne wyjście PDF z tymi samymi funkcjami wsadowymi i automatyzacji.
(30 dni, bez e-maila i karty kredytowej)
(licencja serwerowa, wieczysta)
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
"Spalaliśmy tokeny kontekstowe na surowych znacznikach HTM, zanim nasz model osadzeń w ogóle zobaczył rzeczywisty tekst. Total HTML Converter X co godzinę zrzuca czysty UTF-8 do naszego kubełka pobierania. Strony cyrylicy i dewanagari przeżywają bez szwanku, ciągi BIDI wychodzą w porządku logicznym, a nasz tokenizator jest zadowolony. Perplexity spadła na tym samym korpusie, gdy przestaliśmy karmić go znacznikami."
Priya Krishnamurthy NLP Engineer, Conversational AI Startup
"Nasz klaster Elasticsearch indeksuje 2,3 miliona zarchiwizowanych biuletynów HTM w dziewięciu językach. Wstępna ekstrakcja czystego UTF-8 tym konwerterem zmniejszyła rozmiar indeksu o około czterdzieści procent i sprawiła, że zapytania frazowe faktycznie zwracają trafne wyniki zamiast nazw klas CSS. Konfiguracja .bat plus Harmonogram zadań działa bez nadzoru na maszynie Server 2019 i nie zawiodła ani razu w ciągu sześciu miesięcy."
Stefan Holzer Search Architect, EU Public Sector Portal
"Przechowujemy kopie HTM komunikacji z klientami w celu wstrzymania prawnego. Recenzenci potrzebowali wersji tekstowych przyjaznych dla grep do przeglądów słów kluczowych. Konwerter produkuje UTF-8 bez BOM dokładnie tak, jak oczekuje nasza platforma e-discovery, a plik dziennika jest wystarczająco szczegółowy, aby zaspokoić nasz ślad audytowy. Dokumentacja flagi BOM mogłaby być jaśniejsza, ale wsparcie wyjaśniło to tego samego dnia, kiedy zapytaliśmy."
Margaret Whitlock Compliance Lead, Insurance Holding Group
HTMLConverter.exe C:\Pages\*.htm C:\Output\ -c TXT -Encoding UTF-8. Usuwa znaczniki z każdego pliku HTM i zapisuje czysty tekst UTF-8. Dodaj -Encoding UTF-16, -BOM 0 lub -log, aby kontrolować wyjście.-Encoding UTF-8 dla indekserów wyszukiwania i potoków NLP, -Encoding UTF-16 dla starszych narzędzi Windows oczekujących szerokich znaków. Domyślnie jest UTF-8 bez BOM, co odpowiada Elasticsearch, Solr i większości nowoczesnych konsumentów.-BOM 1 zapisuje BOM na początku każdego pliku (EF BB BF dla UTF-8, FF FE dla UTF-16 LE). -BOM 0 go pomija. Większość łańcuchów narzędzi wyszukiwania i NLP preferuje brak BOM; niektóre przeglądarki tylko dla Windows i narzędzia importu zbiorczego SQL go wymagają.<script>, <style> i komentarze HTML są usuwane przed zapisaniem tekstu. Wyjście zawiera tylko czytelną treść ciała — to, co człowiek widziałby w przeglądarce, minus układ. Dokładnie tego chce indekser wyszukiwania lub tokenizator LLM.HTMLConverter.HTMLConverterX). Wywołuj go z .NET, PHP, Python, VBScript, ASP, Ruby lub Perl. Twoja usługa przyjmuje przesyłany HTM i zwraca tekst Unicode w tym samym żądaniu, bez konieczności uruchamiania wiersza poleceń.
string src = @"C:\test\Source.html";
string dest = @"C:\test\Dest.pdf";
var cnv = new HTMLConverterX();
cnv.Convert(src, dest, "-cPDF -log c:\\test\\HTML.log");
if (!string.IsNullOrEmpty(cnv.ErrorMessage))
throw new Exception(cnv.ErrorMessage);
public static class Function1
{
[FunctionName("Function1")]
public static async Task Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
StringBuilder sbLogs = new StringBuilder();
sbLogs.AppendLine("started...");
try
{
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = true;
startInfo.UseShellExecute = false;
var assemblyDirectoryPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
assemblyDirectoryPath = assemblyDirectoryPath.Substring(0, assemblyDirectoryPath.Length - 4);
var executablePath = $@"{assemblyDirectoryPath}\Converter\HTMLConverterX.exe";
sbLogs.AppendLine(executablePath + "...");
var srcPath = $@"{assemblyDirectoryPath}\src\sample.html";
var outPath = Path.GetTempFileName() + ".pdf";
startInfo.FileName = executablePath;
if (File.Exists(outPath))
{
File.Delete(outPath);
}
if (File.Exists(executablePath) && File.Exists(srcPath))
{
sbLogs.AppendLine("files exists...");
}
else
sbLogs.AppendLine("EXE & source files NOT exists...");
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.Arguments = $"\"{srcPath}\" \"{outPath}\" -cPDF";
using (Process exeProcess = Process.Start(startInfo))
{
sbLogs.AppendLine($"wait...{DateTime.Now.ToString()}");
exeProcess.WaitForExit();
sbLogs.AppendLine($"complete...{DateTime.Now.ToString()}");
}
sbLogs.AppendLine("Conversion complete.");
}
catch (Exception ex)
{
sbLogs.AppendLine(ex.ToString());
}
return new OkObjectResult(sbLogs);
}
}
dim C
Set C=CreateObject("HTMLConverter.HTMLConverterX")
C.Convert "c:\source.html", "c:\dest.jpg", "-cJPG -log c:\html.log"
C.Convert "https://www.coolutils.com/", "c:\URL Page.pdf", "-cPDF -log c:\html.log"
Response.Write C.ErrorMessage
set C = nothing
dim C
Set C=CreateObject("HTMLConverter.HTMLConverterX")
Response.Clear
Response.AddHeader "Content-Type", "binary/octet-stream"
Response.AddHeader "Content-Disposition", "attachment; filename=test.pdf"
Response.BinaryWrite C.ConvertToStream("C:\www\ASP\Source.html", "C:\www\ASP", "-cpdf -log c:\html.log")
set C = nothing
$src="C:\\test\\test.html";
$dest="C:\\test\\test.pdf";
if (file_exists($dest)) unlink($dest);
$c= new COM("HTMLConverter.HTMLConverterX");
$c->convert($src,$dest, "-cPDF -log c:\\HTML.log");
if (file_exists($dest)) echo "OK"; else echo "fail:".$c->ErrorMessage;
require 'win32ole'
c = WIN32OLE.new('HTMLConverter.HTMLConverterX')
src = "C:\\test\\test.html"
dest = "C:\\test\\test.pdf"
c.convert(src, dest, "-cPDF -log c:\\test\\HTML.log")
if not File.exist?(dest)
puts c.ErrorMessage
end
import win32com.client
import os.path
c = win32com.client.Dispatch("HTMLConverter.HTMLConverterX")
src = "C:\\test\\test.html"
dest = "C:\\test\\test.pdf"
c.convert(src, dest, "-cPDF -log c:\\test\\HTML.log")
if not os.path.exists(dest):
print(c.ErrorMessage)
uses Dialogs, Vcl.OleAuto;
var
c: OleVariant;
begin
c := CreateOleObject('HTMLConverter.HTMLConverterX');
c.Convert('c:\test\source.html', 'c:\test\dest.pdf', '-cPDF -log c:\test\HTML.log');
if c.ErrorMessage <> '' then
ShowMessage(c.ErrorMessage);
end;
var c = new ActiveXObject("HTMLConverter.HTMLConverterX");
c.Convert("C:\\test\\source.html", "C:\\test\\dest.pdf", "-cPDF");
if (c.ErrorMessage != "")
alert(c.ErrorMessage)
use Win32::OLE; my $src = "C:\\test\\test.html"; my $dest = "C:\\test\\test.pdf"; my $c = CreateObject Win32::OLE 'HTMLConverter.HTMLConverterX'; $c->convert($src, $dest, "-cPDF -log c:\\test\\HTML.log"); print $c->ErrorMessage if -e $dest;
Pobierz wersję próbną i konwertuj pliki w kilka minut.
Nie jest wymagana karta kredytowa ani e-mail.