Class HtmlToText
- All Implemented Interfaces:
AutoCloseable
Convert HTML into readable plain text with control over links, wrapping, and encoding.
Chilkat.HtmlToText converts HTML content into readable plain
text. It can decode HTML entities, wrap output at a configurable right
margin, optionally include or suppress hyperlink URLs, convert HTML supplied
as a string or StringBuilder, and read or write files using an
explicit character encoding.
HTML to plain text
Convert HTML markup into readable text suitable for display, logging, indexing, email alternatives, or text-only output.
Entity decoding
Decode HTML entities so text such as named entities and numeric character references becomes normal readable output.
Line wrapping
Use RightMargin to wrap text at a chosen width, or set it to
0 when no right-margin wrapping is wanted.
Link handling
Suppress hyperlink URLs for cleaner text, or emit URLs when the output needs to preserve the destination of HTML links.
StringBuilder support
Convert HTML directly from a StringBuilder when working with
larger or incrementally built HTML content.
File and charset helpers
Read HTML from files and write text output using a specified character encoding.
Common pattern:
Provide the HTML as a string, file, or StringBuilder, choose
whether to decode entities and include link URLs, set the desired right
margin, then convert the result to plain text. Use
HtmlToText when the goal is readable text, not structured XML
or DOM-style parsing.
For an extended overview, see HtmlToText Class Overview.
</section>
Instances hold a native Chilkat object: close them with ChilkatObject.close() (try-with-resources) when
done; an unclosed instance is freed when it becomes unreachable.
- See Also:
- Online reference
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanControls whether HTML character references are decoded when converting HTML to plain text.intControls line wrapping in the generated plain text.booleanControls whether hyperlink destination URLs are included in the generated plain text.Specifies uncommon HTML-to-text conversion options as a comma-separated list of keywords.voidsetDecodeHtmlEntities(boolean value)Sets theDecodeHtmlEntitiesproperty; seegetDecodeHtmlEntities().voidsetRightMargin(int value)Sets theRightMarginproperty; seegetRightMargin().voidsetSuppressLinks(boolean value)Sets theSuppressLinksproperty; seegetSuppressLinks().voidsetUncommonOptions(String value)Sets theUncommonOptionsproperty; seegetUncommonOptions().Converts the HTML inhtmlto readable plain text and returns the result.voidtoTextSb(StringBuilder sb)Converts the HTML currently contained insbto plain text in place.Methods inherited from class com.chilkatsoft.chilkat2.ChilkatObject
close, getDebugLogFilePath, getLastErrorHtml, getLastErrorText, getLastErrorXml, getLastMethodSuccess, getVerboseLogging, getVersion, isClosed, setDebugLogFilePath, setLastMethodSuccess, setVerboseLogging, toString
-
Constructor Details
-
HtmlToText
public HtmlToText()Creates a newHtmlToTextobject.
-
-
Method Details
-
getDecodeHtmlEntities
public boolean getDecodeHtmlEntities()Controls whether HTML character references are decoded when converting HTML to plain text. The default value istrue.Value Behavior
trueHTML entities and numeric character references are decoded to their corresponding characters. For example,_AMP_amp;becomes_AMP_.falseCharacter references are left encoded in the plain-text output.Typical use: Leave this property set to
truewhen the goal is human-readable text. Set it tofalsewhen the original entity notation itself must be preserved.- Returns:
- the value of the
DecodeHtmlEntitiesproperty
-
setDecodeHtmlEntities
public void setDecodeHtmlEntities(boolean value)Sets theDecodeHtmlEntitiesproperty; seegetDecodeHtmlEntities().- Parameters:
value- the new value
-
getRightMargin
public int getRightMargin()Controls line wrapping in the generated plain text. The default value is80. As a line approaches the configured margin, Chilkat attempts to wrap at a SPACE character. Set this property to0to disable right-margin wrapping.Soft margin: The right margin is a preferred wrapping point, not a guaranteed maximum line length. A long sequence with no suitable SPACE character may extend beyond the configured margin.
- Returns:
- the value of the
RightMarginproperty
-
setRightMargin
public void setRightMargin(int value)Sets theRightMarginproperty; seegetRightMargin().- Parameters:
value- the new value
-
getSuppressLinks
public boolean getSuppressLinks()Controls whether hyperlink destination URLs are included in the generated plain text. The default value istrue.Value Behavior
trueThe visible anchor text is retained, but hyperlink destination URLs are omitted.falseHyperlink URLs are included. By default, they are collected in aReferences:section at the end of the plain text.For example, with
SuppressLinksset tofalse, an HTML link whose visible text ischilkatand whose URL ishttps://www.chilkatsoft.com/produces the visible text and a numbered reference at the end of the output.Related options: When link URLs are enabled,
UncommonOptionscan be used to suppress the trailing references list withNoReferencesListor emit URLs inline withEmitUrls.- Returns:
- the value of the
SuppressLinksproperty
-
setSuppressLinks
public void setSuppressLinks(boolean value)Sets theSuppressLinksproperty; seegetSuppressLinks().- Parameters:
value- the new value
-
getUncommonOptions
Specifies uncommon HTML-to-text conversion options as a comma-separated list of keywords. The default is the empty string, which is appropriate for normal use.Keyword Effect
NoReferencesListDoes not generate the hyperlink-reference list at the end of the plain-text output.EmitUrlsEmits hyperlink URLs inline in the plain-text output instead of relying on the default trailing reference list.Interaction with SuppressLinks: These options control the presentation of hyperlink URLs when URL output is enabled. If
SuppressLinksistrue, hyperlink URLs are suppressed.- Returns:
- the value of the
UncommonOptionsproperty
-
setUncommonOptions
Sets theUncommonOptionsproperty; seegetUncommonOptions().- Parameters:
value- the new value (notnull)
-
toText
Converts the HTML inhtmlto readable plain text and returns the result.The conversion honors
DecodeHtmlEntities,RightMargin,SuppressLinks, andUncommonOptions. HTML markup is interpreted to produce readable text rather than simply being removed with a tag-stripping operation.Plain-text conversion: The output is intended for reading, indexing, logging, email text alternatives, and similar text-oriented uses. It is not intended to preserve the original HTML markup or visual layout exactly.
- Parameters:
html- thehtmlargument (notnull)- Returns:
- the result (never
null) - Throws:
ChilkatException- if the operation fails;ChilkatException.getLastErrorText()says why
-
toTextSb
Converts the HTML currently contained insbto plain text in place. On success, the sameStringBuildercontains the converted plain-text result.The conversion honors
DecodeHtmlEntities,RightMargin,SuppressLinks, andUncommonOptions.StringBuilder workflow: Use this method when the HTML is already held in a
StringBuilderand you want the conversion result returned through that same object rather than as a separate string.- Parameters:
sb- thesbargument (notnull)- Throws:
ChilkatException- if the operation fails;ChilkatException.getLastErrorText()says why
-