Fast and compact RTF to HTML5 and XHTML converter library for the Java SE platform

ScroogeXHTML RTF Converter

Version 11.4, tested with JDK 11 to 25 lock

ScroogeXHTML is a document conversion software library for the Java platform. It can be used to convert RTF (rich text format) documents to HTML5 standalone documents, or to HTML markup fragments, which can be embedded in other documents. This enables software applications to create HTML from existing RTF documents 'on demand'. The library provides configuration options, which control many aspects of the conversion.

link

Supports hyperlinks, bookmarks, multi-language and LTR/RTL text, field results and simple tables

format_size

Minimizes documents using CSS font definitions and generation of local font styles for text with different attributes

find_replace

Includes an API for post-processing of the intermediate DOM tree to support additional fine tuning

settings

Easy to use, compact and fast, and requires no external runtime libraries except SLF4J

language

The live demo below converts an RTF document to HTML and displays the conversion result

portrait

Picture data extraction, complimentary code for embedding BMP/JPG/PNG images as Data URIs

ScroogeXHTML is available in two editions to choose from: a Jar edition, and a Source Code edition. Redistribution with single-user applications is free of charge. For usage with server-side applications, please read the Server Deployment License terms which are explained here.

Text properties
Bold/italic/underlined ✓/✓/✓
Foreground/background/highlight color ✓/✓/✓
Subscript/superscript ✓/✓
Strikethrough/hidden ✓/✓
Relative font size units em (default)
Absolute font size units px, pt
LTR/RTL text ✓/✓
Unicode/DBCS text ✓/✓
Symbol font characters ✓ (converted to Unicode)
Language attribute ✓
Paragraph properties
Left/right/centered/justified alignment ✓/✓/✓/✓
Left/right/first line indent ✓/✓/✓
Space before/after ✓/✓
Background color ✓
Border box color/width ✓/✓
Border box line style ✓
Tabulators replaced by a sequence of non breaking spaces
Lists
Numbered/unnumbered lists ✓/✓
Nested (multi-level) lists ✓
Support for \listtable definitions ✓ (enabled by default)
Support for \*\pn destination based lists ✓
Fallback mode using \pntext ✓ ①
Tables
Simple tables ✓
Nested tables ②Improved in 11.4
Cells with several paragraphs ✓
Total width: pixel/percent ✓/✓
Left margin: pixel/percent ✓/✓
Column width: pixel/percent ✓/✓
Row height ✓
Horizontal cell merging ✓
Cell background color ✓
Cell borders ✓
Cell vertical alignment ✓
Other content
Document body language ✓ (based on \deflang token)
External hyperlinks ✓
Internal links (bookmarks) ✓
Field results ✓
Headers and footers ②
Footnotes ✓
Pictures
Picture data extraction ✓
Extracted picture formats BMP/EMF/JPG/PICT/PNG/WMF
Picture storage types Binary/hexadecimal
Picture embedding ② Data URI
Picture data conversion ② BMP/PICT/WMF to PNG
Output document types
HTML5 ✓
XHTML 1.0 Transitional ✓
Optimization
CSS based document minimizer ✓
Font name substitution ✓
Advanced features
Post processing events ✓
Security
Input limits: group nesting, binary and picture data, font/color table entries ✓New in 11.3
Output limits: element count, document size ✓New in 11.4
URL scheme allow-list for links and images ✓New in 11.3
Strict mode for malformed RTF ✓New in 11.4
Tested with
Java SE 11 (LTS) ✓
Java SE 17 (LTS) ✓
Java SE 21 (LTS) ✓
Java SE 25 (LTS) ✓

Prices are per developer seat and excluding tax.

  JAR EDITION
€160.00
per year
SOURCE EDITION
€480.00
per year
License type subscription subscription
Lifetime license ✓ ✓
3-month evaluation period ✓ -
Basic technical support included 1 year 1 year
Updates and upgrades included 1 year 1 year
Library source code included (not redistributable) - ✓
Early access to development snapshots - ✓
  Subscribe »
Free 30-day evaluation »
Business customers only · request by email
Subscribe »
 
Single Developer License and Server Deployment License terms are explained here.
Jar Edition — €40.00 per user for the first 3 months. The subscription then continues at €160.00 per user and year, renewing annually unless cancelled. You can cancel at any time in the first 3 months and keep a perpetual license for the versions released until then.
Subscription cancellation is possible on Paddle Customer Portal

Prices are excluding tax.

  1 000
concurrent users
€237.50
100 000
concurrent users
€203.75
/3 months
Unlimited
concurrent users
€407.50
/3 months
License type perpetual subscription subscription
Payment interval one time recurring (every 3 months) recurring (every 3 months)
License expiration does not expire expires if the subscription is not renewed expires if the subscription is not renewed
  Buy now Subscribe » Subscribe »
 
The Server Deployment License does not require any special license keys. The proof of purchase is your license document.
Single Developer License and Server Deployment License terms are explained here.
Subscription cancellation is possible on Paddle Customer Portal
book

Manual

The "Getting Started" user guide

search

API Docs

Online API documentation

list

Release Notes

Enhancements and bug fixes

help_outline

FAQ

Frequently Asked Questions

alternate_email

Contact

Support and sales inquiries

pages

Blog

Technical articles and announcements

get_app

Installer for registered users — Source Edition:

Download »

get_app

Installer for registered users — Jar Edition:

Download »

Not a customer yet? Try your own RTF files in the online demo, request a free 30-day evaluation of the Jar Edition (business customers only), or start with the Jar Edition's 3-month evaluation period: the full product at a reduced price, which you can cancel at any time in the first 3 months.

General

get_app

On the library home page you will find a link to the download area for registered users. The credentials (your Paddle subscription or transaction ID and a password) will be sent to you by mail. New releases will also be announced on the blog.

Go to the download section

check

You can try the conversion in the online demo on this page. Business customers can also request a free 30-day evaluation of the Jar Edition by email: the normal library, without watermarks or functional restrictions, for evaluation only (no production use, no distribution). Alternatively, the Jar Edition subscription starts with a 3-month evaluation period at a reduced price, which you can cancel at any time in the first 3 months. If you cancel, you keep a perpetual license for the versions released until then.

Request a free 30-day evaluation

Picture Support

help_outline

The library does not convert embedded pictures, it only extracts the raw picture data from the RTF document. The library may contain complimentary code for picture processing support, but this code is experimental and not covered by the basic support plan.

Privacy and Security

Upgrading

check

Yes, you may receive a discount coupon code to purchase the Source Edition at a reduced price.

Licensing

By purchasing a license you agree to the license and to our Terms of Service. The full license texts for Java and Object Pascal are linked from the license types page.

ScroogeXHTML License Types

check

Yes, each developer who writes, modifies or maintains code that uses the library needs their own developer license. Build servers, continuous integration systems, testers and end users of your applications do not need a license.

check

Yes. Licenses are offered to business customers only, including freelancers acting in their professional capacity; they are not offered to consumers. Licenses are per developer, so a single developer simply buys one license. The same license terms apply to freelancers and companies.

Terms of Service: Business customers only

Pricing and subscription

Developer licenses are annual subscriptions, priced per developer seat. The prices of all editions, and the introductory offer where one applies, are shown in the order section. There are no royalties or runtime fees for single-user applications; server-side use requires Server Deployment Licenses (see below).

Editions and prices

Where an introductory price applies (ScroogeXHTML for Object Pascal, and the Jar Edition for Java), the first 3 months are an evaluation period at a reduced price: you get the full product without functional restrictions. You can cancel at any time in the first 3 months; the subscription then ends after the 3 months and does not renew. You keep a perpetual license for the versions released until then; only updates and support end.

Yes. The subscription renews until you cancel. You can cancel at any time before the next renewal date.

Please visit the Paddle customer portal.

Paddle customer portal

No. Your net price will not increase for as long as you keep renewing. Only tax or fees (such as VAT or payment-provider charges) can vary, if the applicable rate changes.

Terms of Service: Subscription prices

Orders are processed by Paddle, our online reseller and merchant of record. Paddle issues the invoice and handles sales tax and VAT. Business customers in the EU can enter a valid VAT ID at checkout to have VAT removed under the reverse-charge procedure. If you omitted the VAT ID, you can use the customer portal to update your order.

Yes, please contact us, and we will send you a Paddle manual invoice with the necessary details. Manual invoices allow payment by wire transfer or by other means, such as a credit card.

You will have a one-time opportunity to update the names, tax ID, and address on your invoice on the Paddle customer portal.

Paddle customer portal

No. Editions that include the library source code, Server Deployment Licenses, and subscriptions with an evaluation period are not eligible for refund or return. To evaluate the library, use the demo, and where an introductory price applies, the 3-month evaluation period: the full product at a reduced price, which you can cancel at any time in the first 3 months. You can stop any later renewal by cancelling in time.

Terms of Service: Refunds and returns

The credentials for the download area for registered users will be sent to you by mail. If you do not receive the mail in your inbox, please check your spam or junk folder. If you still cannot locate it, please contact us.

Distribution

check

Yes. You may distribute, in executable form only, single-user applications that you create with the library, without additional license or fees. Your customers do not need their own license, but they may not use the library in programs of their own. The library must not be shipped as a separate binary (jar or dcu file).

No, single-user applications can be distributed royalty-free. The license requires an attribution statement in your programs acknowledging the use of ScroogeXHTML. Server-side applications require Server Deployment Licenses.

Yes, editions that include the source code may be modified for use in your own applications. The modified source code remains Habarisoft's property and may not be distributed.

block

No, the source code is not redistributable, even if you change it. Under no circumstances is it acceptable to disclose the source to any third party.

Updates and cancellation

Yes, all minor and major updates are included while the subscription is active.

No, developer licenses are perpetual, including licenses bought at an introductory price. However, you will be using the last product version released before your subscription ended: updates and support end with the subscription. A license may also be revoked in case of license violations.

Your Paddle invoices show your subscription period. Together with the release dates in the release notes, they document which versions are covered by your license. We recommend keeping the invoices and noting the library version you use in your project.

Release notes

Server Deployment License

help_outline

License types (Single Developer License and Server Deployment License) are explained on the page /scroogexhtml_license.html.

ScroogeXHTML License Types

No. Server Deployment Licenses are licensed by the number of concurrent users, counted across all servers and all applications that use the library. Choose the license that covers your total number of concurrent users: 1 000, 100 000 or unlimited.

help_outline

Server Deployment Licenses are available under two license models, 'Perpetual' or 'Subscription'. When licensed as a subscription, the license expires when the subscription ends. Licenses may also expire in case of license violations.

No, the proof of purchase for Server Deployment Licenses is your license document.

block

No. ScroogeXHTML Server Deployment Licenses or parts of it may not be distributed, sold, rented or transferred to any other party, this includes mergers and acquisitions of the license holder.

Legal

The Terms of Service and the limited warranty of the license are both governed by the laws of Germany.

Terms of Service

Acesis

Actiance

Advocate Health Care

Artisan Design Group

Axalta Coating Systems

Becton, Dickinson and Company

Bracari

Canadian Natural

General Dynamics

Glencore International AG

iBASEt

Iodine Software

The Openproof Project (CSLI)

pagu.at

ProClarity Corporation

Promutuel Insurance

QuadraMed Corporation

Working Systems Cooperative

format_quote

"It works great and it is stunningly fast - on production, converting 115.000 documents takes 25 seconds instead of 9 hours." — Robert S., Germany

format_quote

"This is an excellent unique product that has saved us many hours of work. It is simple to use with lots of documentation." — Stewart S., United Kingdom

By uploading a file, you acknowledge and agree that your data will be processed on Google Cloud as part of this demo.