"This is an excellent unique product that has saved us many hours of work." — Stewart S., UK

ScroogeXHTML for Object Pascal

Version 10.1

Essentials & Features

ScroogeXHTML for Object Pascal converts a subset of the RTF standard into XHTML and HTML.

  • Supports text formatting attributes such as bold, italic, underline, and background/highlight colors.
  • Supports paragraph formatting: alignment (left, right, centered, and justified) and indentation (left, right, and first-line).
  • Supports simple numbered and bulleted lists.
  • Unicode conversion supports multilingual documents, including Simplified Chinese, Traditional Chinese, Korean, and Japanese.
  • Contact us if you are unsure whether a specific feature is supported.
  • Tab characters are not converted (they are replaced with sequences of non-breaking spaces).
  • Tables are not converted.
  • Supports extraction of raw image data from embedded images. Converting images to web-compatible formats may require third-party libraries.
  • Includes complimentary WMF-to-PNG conversion code for Delphi users.
  • Includes complimentary embedding of PNG and JPG images as Data URIs.
  • With throughput of up to several megabytes per second, ScroogeXHTML for Object Pascal is among the fastest solutions available.

Focus of 10.1:

Continue hardening the RTF parser against malformed and adversarial input: resource-budget caps for total \bin bytes, picture data, and font/colour table size - fix six crash paths in malformed list markup (\listlevel/\listid/\ls/\ilvl outside a well-formed \listtable) - allow-list hyperlink URI schemes (http/https/mailto) and strip CR/LF from URL attributes - allow-list font-family names in generated CSS to close a style-attribute breakout - replace ad-hoc exceptions with a single ESxConversionError hierarchy, so malformed input never escapes as an AV or range error - fix a lossy Unicode-to-ANSI cast under FPC that corrupted non-Latin-1 text - add a security/fuzz test suite (adversarial corpus + mutation fuzzing) to both test suites
full release notes

Conversion example with embedded images

Input (RTF document) - as shown in MS Wordpad
example 2 RTF
Notes
  • The first picture uses the JPG format, the second uses PNG
Output (HTML document) - as shown in Mozilla Firefox
example 2 HTML
Notes
Text properties
Bold/italic/underlined ✓/✓/✓
Foreground/background/highlight color ✓/✓/✓
Subscript/superscript ✓/✓
Strikethrough/hidden ✓/✓
Unicode / DBCS text ✓/✓
LTR/RTL text ✓/✓
Language attribute
Paragraph properties
Left/right/centered/justified alignment ✓/✓/✓/✓
Left/right/first line indent ✓/✓/✓
Space before/after ✓/✓
Background color
Box border
Lists
Numbered/unnumbered lists ✓/✓
Other content
External Hyperlinks
Internal Links (Bookmarks)
Field results
Pictures
Picture data extraction
Extracted picture formats BMP/EMF/JPG/PICT/PNG/WMF
Picture data conversion The distribution may include complimentary and unsupported code to convert pictures to 'web-ready' formats.
Picture embedding Data URI (JPG/PNG)
Supported picture storage types Binary/Hexadecimal
Optimization
CSS based document minimizer
Advanced features
Custom post processing

Prices are per developer seat (excl. tax).

  BUSINESS
€160/year
Lifetime license
Redistribution in single-user applications
Basic support included
Updates and upgrades included
Library source code included
Early access to development snapshots
Supported compilers Delphi 2009+
Free Pascal 3.2+
  Subscribe »
Single Developer License and Server Deployment License terms are explained here
€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 during the first 3 months, or before any annual renewal.
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 inqueries

pages

Blog

Technical articles and announcements

get_app

Free demo version:

Download »

get_app

Installer for registered users:

Download »

General

On the library home page you will find a link to the download area for registered users. The credentials (user name and password) will be sent to you by mail.

To check if the conversion meets your requirements, you may try the free demo application.

Developer License

check

Yes, each developer that uses our products must have their own license.

No, developer licenses are perpetual. However, you will be using the last product version released before your free upgrade period expired. A license may also be revoked in case of license violations.

Source Code Distribution

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.

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. A Server Deployment License covers all applications on the server.

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.

Picture Support

No, the library does not convert embedded pictures. It extracts binary picture data from the RTF document. The picture data may be in WMF, JPEG, or other formats. The distribution may include complimentary and unsupported 'picture adapter' code to convert and embed pictures.

More questions and answers are included in the Getting Started document (PDF).