Fast and compact RTF to HTML5 and XHTML converter library for the Java SE platform
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.
Supports hyperlinks, bookmarks, multi-language and LTR/RTL text, field results and simple tables
Minimizes documents using CSS font definitions and generation of local font styles for text with different attributes
Includes an API for post-processing of the intermediate DOM tree to support additional fine tuning
Easy to use, compact and fast, and requires no external runtime libraries except SLF4J
The live demo below converts an RTF document to HTML and displays the conversion result
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 |
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.
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 sectioncheck
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 evaluationhelp_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.
help_outline
No.
check
Yes, you may receive a discount coupon code to purchase the Source Edition at a reduced price.
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 Typescheck
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 onlyDeveloper 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 pricesWhere 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 portalNo. 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 pricesOrders 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.
Please visit the Paddle customer portal.
Paddle customer portalYou will have a one-time opportunity to update the names, tax ID, and address on your invoice on the Paddle customer portal.
Paddle customer portalNo. 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 returnsThe 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.
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.
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 noteshelp_outline
License types (Single Developer License and Server Deployment License) are explained on the page /scroogexhtml_license.html.
ScroogeXHTML License Typeshelp_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.
The Terms of Service and the limited warranty of the license are both governed by the laws of Germany.
Terms of ServicePlease contact us by email.
info@habarisoft.comAcesis
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