WPTools VCL

WPTools is a native Delphi text control to integrate word processing and reporting into
your application. Combined with our PDF creator wPDF and the DocX support units you have a powerful component set to convert RTF, DOCX, HTML, XML to PDF.

The central part of the VCL control WPTools is a complete RTF WYSIWYG word processing control which is surprisingly small. In contrast to similar components, WPTools supports editable headers and footers in its perfect page layout mode. Zooming, split-screen, emoticons, tables, including the possibility of page breaks inside table rows, and a powerful CSS-like paragraph style concept are supported by the modern architecture. Reporting is done using WPReporter, a powerful add-on which can be understood as a very powerful mailmerge implementation. In contrast to mail merge where fields are replaced with the contents of a database, WPReporter also allows integrated loops in the template to creates lists and tables.

To get rid of the bulk of multi resolution bitmaps, WPTools 9.2 includes an embedded SVG rendering engine. It converts the SVG source of the toolbar and ruler icons into bitmap, in the correct resolution and with optional modifications to match dark themes. You can also use this SVG rendering engine to display SVG in a TGraphicControl or render it oa mCanvas. (Delphi XE2+)

Please read here about what’s new in WPTools 9.3 …
… and here what was new in Version 8.

WPTools is a true Delphi VCL. It is a word processing VCL and has been on the market since 15. January 1996. Since then its architecture has been modernized several times, growing to reflect the added capabilities of the Delphi compiler. Now it is the state-of-the-art word processing component VCL for Delphi. Licensing for WPTools is still very affordable and it should be noted that it already integrates many features in the basic edition, which would require expensive add-ons for competing ActiveX components. WPTools handles windows messages to make diction software work.

We can also assist companies who need the strong word processing capabilities of WPTools in a FMX (Firemonkey) cross-platform application (Windows+OSX). Based on special agreement we license a FMX version of WPTools to development teams and provide support.

A VCL Demo for WPTools 9 within (among others) Delphi 10.3 Rio has been published here.

How to add word processing to your project:

To create a basic, yet powerful word processer in a project the developer just needs to place a few components on the form. These are the TWPRichText editor, a horizontal and a vertical ruler and the customizable TWPToolbar toolbar. After setting a few properties to connect those elements you’re done. Naturally there are a great number of customization options available.  Plus, as a developer you are free to either use the toolbar and dialogue components provided or create your own. It is also possible to mix provided logic with custom logic since multiple events make it easy to change the behaviour of the editor.

 

WPTools is optimal for Delphi-projects:
100% pascal source code available with some editions
100% WYSIWG editing
Use SVG symbol source with WPImageList
Powerful mail merge functionality
Optional DocX reading and writing
Access the paragraph and character attributes directly
Powerful basis for innovative text editing features

 

It is a real pleasure when you make an expensive purchase like WPTools and have it completely blow you away, totally exceeding your expectations. My mistake – it’s not expensive at all. Instead it is a very fairly priced premium tool that is going to be of enormous help to all of our clients. Thank you for such an amazing product.” – Mark A. Swann, B.Sc., President

For our business software for tradesmen we needed a tool to display the invoicing information just like in a modern text processing program. With WPTools and the outstanding manufacturer support we were able to rise to the challenge and find a solution. At present we do not know of any other tool which would be able to cope with such a complex task.” – Rudolf Melching, blue:solution software GmbH

Standard Delphi 5, 6, 7, 2006, 2007, 2009, 2010,XE, XE2, XE3, XE4, XE5, XE6, XE7, XE8, Delphi 10,  Delphi 10.1, Delphi 10.2, Delphi 10.3, 10.4, Delphi 11, newer C++Builder 32 bit Includes a lot of the source, including toolbar, reader and writer units and also the embedded SVG rendering engine (Delphi XE2+), but excludes the source for the “RTF Engine” which implements the document, layer paragraph and other low level classes. (Filename of the units starts with WPRTE…)
Professional Delphi 5, 6, 7, 2005, 2006, 2007, 2009, 2010,XE, XE2, XE3, XE4, XE5, XE6, XE7, XE8, Delphi 10 Seattle, Delphi 10.1 Berlin, Delphi 10.2 Tokyo, Delphi 10.3, 10.4, 11, newer C++Builder 32 and 64 bit 100% Object Pascal Source code included. Benefits: Increased productivity since it is possible to trace into the API. It is also possible to compile 64bit applications.
Premium Delphi 5, 6, 7, 2005, 2006, 2007, 2009, 2010,XE, XE2, XE3, XE4, XE5, XE6, XE7, XE8, Delphi 10.x, Delphi 11, newer C++Builder 32 and 64 bit 100% Object Pascal Source code. Also includes the reporting features and an enhanced editor which can do columns, textboxes and footnotes.
DocX support addon Delphi 7, 2005, 2006, 2007, 2009, 2010,XE, XE2, XE3, XE4, XE5, XE6, XE7, XE8, Delphi 10.x, 11, newer C++Builder. 32 and 64 bit (with PRO / Premium) Addition to WPTools to support DocX loading and saving. The new reader and writer units (provided as pascal source) add support for most features of “Wordprocessing ML” used in DocX files created or consumed by MS Word.

Feature Overview:

The word processing component WPTools supports a variety of different character and paragraph attributes, style sheets, numbering and bullets.

Plus, it supports bookmarks, embedded images (with wrap-around text) and tables of contents.

If you need to do mass mailing or to provide your customers with a customizable database view, then you will enjoy working with the powerful “mail merge” facility. WPTools works with special field objects (start and end markers) which makes it possible to dynamically update the text or to read out selected parts of the document, so it is also possible to use it with forms for data entry.

And when you need a fast and accurate PDF export, just add our product wPDF and you’re done. And since wPDF exports from other products besides WPTools, you can mix in output from reporting components or metafiles if required.

You can also change the rendering of the text in many ways. For example you can paint a custom page or paragraph background from one of its events.

Articles from our blog:

Features:

Dataforms in WPTools

WPTools can be also used to create forms. These are special texts which are generally protected. The user may only edit the text in the marked areas. We call this areas 'Edit Fields': Using Edit Fields you (or the user of your application) can create forms to view and edit the data in a database.Edit fields work like mail merge fields. Merge fields are fields which can be updated though an event - the only difference is, that the objects ...

Different text attributes

WPTools supports many different text attributes font name, size, character set character styles, such as bold, italic, underlined underline color and modes left, right, center and justify alignment shading text and text background colors indents: left, right and first line tab stops: left, right, centered and decimal. new: fill mode subscripts and superscripts additional spacing before & after the paragraph custom line-height hypertext links (hover effects are also possible) borders (new: different colors, width and mode for each border) hidden ...

Happy Birthday WPTools

Happy Birthday WPTools! Did you know that WPTools V1 first became available on January 15, 1996? Originally introduced in 1995 as the successor to TurboPascal, Delphi quickly became a very successful Borland product. Then on January 15, 1996 Julian Ziersch published a new component – WPTools - which allowed programmers to easily add word processing features to their projects. At this time it was available in the CompuServe network (remember that?). In 1997 the renowned ZAC catalog listed WPTools as ...

Header and Footer texts in WPTools

Not only does WPTools support printing of header and footer texts, these texts can also be edited in page layout mode. WYSIWYG editing of headers and footers in page layout mode. Exclusive editing of a header or footer text in normal layout mode. Different headers and footers for the first page or for odd and even pages. Different set of headers for any section in the text. Event OnGetSpecialText to select a header or footer using your own program logic ...

how to support high dpi

"High dpi" means, that the monitor of the computer a program is running displays more than the usual 96 pixel per inch. This causes the user interface to become really small, if it was not adapted to High Dpi. Or windows is asked to scale the program, which causes ugly blurry symbols and text. To avoid this you can set the 'Scaled' property of the form to true. In this case all elements and the font height will be adapted ...

Mail merge in WPTools

"Mail Merge" means the automatic update of data fields in any document. It can be used to do mass mailing or to create customizable database record views.<br> With WPTools merge fields are not destroyed by the merge process, the field data can be exchanged as soon as it changes. So it is possible to scroll through a database with a merge letter being "attached".<br> It is also possible to read out the contents of the merge field. So the document ...

Multiview (splitscreen) technology

WPTools strictly separates the text data structures from the output logic. This makes it possible to show the same text using an editor and a preview component. Even more impressive is the possibility to edit the same text using different editors! Text paths The multiview technology cannot only be used to implement a splitscreen feature, it can be the solution edit the a text path: This means that different editors are set up to each edit one part of the ...

Powerful Image Support in WPTools

WPTools allows you to embed images in the text. Once they are selected, the editor will display a frame with sizer markers. The images can be resized and moved. If the image is "free floating" not only the frame, but also the anchor will be drawn when the image is selected. Of course it is possible to disable the resizing or only allow resizing which keeps the aspect ratio. Images which are linked to a paragraph can be placed anywhere ...

Repeated header and footer rows

WPTools has the ability to repeat certain rows of a table at the start and the end of a page. These rows can be used to display sub totals if you use the calculation feature included in the WPReporter addon.The displayed numbers are usually updated at paint time, this means changes in the document (for example the change of the page break) causes also the sub totals to be changed to the correct values. The header and footer rows are ...

RTF reporting

You can enhance WPToools with "WPReporter" to make it easy to create structured documents using a template. WPReporter is easy to use. It is also possible to convert existing documents into WPReporter template. Please check out our step-by-step guide. You can use the standard text editor as editor for the templates. Only one additional, simple dialog has to be displayed. This new band dialog makes it easy to create bands. It is possible to create a new group inside of ...

Section Support in WPTools

Sections make it possible to use many different header and footer texts and different page sizes in one document. The editor will display an arrow in the left margin where a new section starts. The following code can be used to create a new section: var sectionprops : TWPRTFSectionProps; begin // New Page WPRichText1.InputString(#12); // New section properties sectionprops := WPRichText1.ActiveParagraph.StartNewSection; // Now we can do something with sectionprops ... end; Append text from different memos to document The demo ...

Syntax Highlighting

The component TWPSynEditHighlight has been created to use the SynEdit (http://SynEdit.SourceForge.net) syntax highlighter with WPTools. This makes it possible to show the syntax of about 30 different languages, including pascal, Java c++ and SQL! All you need to add the syntax highlighter units to the project. Then you can select a highlighter with procedure TWPSyntaxHigh.HighlighterNameChange(Sender: TObject); begin if WPSynEditHighlight1.SelectLanguage( HighlighterName.Text ) then begin WPSynEditHighlight1.Execute(WPRichText1.FirstPar); WPSynEditHighlight1.Enabled := FALSE; WPRichText1.ReformatAll(true, true); WPSynEditHighlight1.Enabled := TRUE; end; WPRichText1.SetFocus; end; Non destructive highlighting WPTools also ...

Table support

Tables with WPTools Merge cells horizontally Split cells horizontally Rows can span multiple pages Option: Disable page breaks in table rows (if they fit on one page) Option: Disable page breaks in tables (if they fit on one page) Different Borders for each cell Different Background color for each cell Multiple paragraphs in one cell Support for nested tables Merge cells vertically Support for nested cells Set fixed size for rows Powerful object oriented API Multiple paragraphs in one table ...

Text styles (stylesheet)

WPTools also offers superb support for paragraph styles such as 'Headline1' which are well accepted features of 'big' word processing programs. Because of the new code it is possible to set each attribute of a character or paragraph to be "undefined". If an attribute is undefined it can be defined by an element which has lower priority (i.e. inherited attributes). This concept includes the ideas of Cascading Style Sheets (CSS) which are used with HTML files. Especially for the style ...

Watermarks and External Pages

The preview capabilities of WPTools are exceptional. But what if you need to preview output from other components, such as report generators? Here the feature "EXTERNALPAGES" helps you out - it makes it possible to integrate other pages into the preview/editor pages (of any size) painted in an event. The text pages can be before and/or after the inserted pages. Watermarks Watermarks in WPTools are drawn by an easy to use event. This makes it possible to vary the watermark ...

What’s new in WPTools 8

1) Dynamic/Live database tables in the document (included in "Premium" and Bundle editions) Do you need to present the user the result of a database query and also print it? With WPTools' dynamic tables the user can not only browse the result of the query, but also change the appearance of the table and the data cells and print it in WYSIWYG manner. In contrast to "data-grid" solutions, it is also possible to copy part of the created tables and ...

What’s new in WPTools 9.3

1) Improved component WPImagelist which holds the icons for the TWPToolbar, SVG support. If you add the unit WPIcons to your project (i.e. in one uses clause) all TWPToolbars will automatically use the new, nicer icons. The color icons can now display the current color. You can use the WPImageList with the TWPToolButtons to create a modern GUI easily.  The WPImageList can also populate a standard TImageList. The TWPImageList now includes an embedded SVG rendering engine to render toolbar and ...

WPTools File Formats (RTF, DocX, HTML …)

MS Word DOCX Files Since 2015 optionally available for WPTools 7 is native support for DocX files. You will need Delphi 7 or later since UTF8 support is required. DocX support is activated when you add the units WPIOReadDOCX, WPIoWrtDocX and WPIoZIPDOCX to the project. (WPIoZIPDOCX implements the bridge to the ZIP support. Unless you use Delphi XE2 or later, you also need "abbrevia" for ZIP file support - which you can download at http://tpabbrevia.sourceforge.net/.) Pretty much all WPTools features ...

WYSIWYG

WPTools will always work in WYSIWYG mode, this means the printed output will always match the output you saw in the editor. Making this work is actually a quite complicated task and the editing engine has to be well prepared for it so the concept of WPTools was created from ground up to make this consequent WYSIWYG behavior possible. The text in the editor can be freely scaled. The scaling process does not require a reformat which does not only ...

External Links:

Index of the WPTools programming manual which is also provided as PDF file.