Rich Edit Component.

I need to write an application that has document creating/editing capabilites.
My client wants to be able to create documents that are basically like MS Word documents.
They need to be able to format fonts, insert images, highlight text spell check etc.
The completed document needs to be stored in a database.
Could anyone help me get started with this?
I dont want to re-invent the wheel, so commercial components that can handle this would be an option?
Is it better to use MS Word and embed it somehow?
Is it better to store documents out of the database?

Any help greatly appreciated.
Who is Participating?
Check out rxLib (contains the powerfull rxRichEdit) here:
RickJAuthor Commented:
I probably didnt make it clear that this is going to be integrated with an existing application, so just using MS Word itself is not an option. :)
It needs to be available from within the existing application.
You could try rxRichEdit it's free and powerfull
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

You can also use WORD Automation.... using the Word Server components on the Servers components pallete.
Automation info can be found here:
RickJAuthor Commented:
Thanks calinutz. I will have a look at the links.
Regarding the part of the question about wher to store the documents, my own preference is always to store them outside of the database, I'm sure some people would disagree with this, in the end it really comes down to what suits your system best. Bear in mind that documents can be large and therefor can take up large amounts of data space, storing them within the database can lead to backup problems.

The system I use is to have a directory on a server, the path to that directory is stored in a table. Now if you are talking 1000's of documents you dont really want them in a single directory, this can sloww things up when directory scanning etc. Create a subfolder under the files directory called say "1000". Set a limit on the number of documents per directory and when this limit has been reached then create a new subdirectory called "1001", update the path in the database and start saving documents to the new folder.

You will have to allow for duplicate filenames. So in your database have 2 fields in the document record, one with the original filename that you use for display purposes and another which is the actual stored filename.

Write a subroutine that checks for the existence of the file you are saving in the storage directory, if it already exists then add an extra digit, so Notes.doc becomes Notes1.doc then recheck for ecistence until it cant be found then save the file as that name.

Hope this helps

Maybe it's interesting for you to have a look at the TRichview components site.

List of Features of the compo (from the site):

 rich text and paragraph formatting (custom fonts, colors, alignments, indents...)
 images in documents (bitmaps, metafiles, icons, jpegs, and more)
 Delphi/C++Builder controls in documents (unique feature)
 tables (HTML-style tables with formatted contents in every cell)
 bullets & numbering
 styles of text and paragraphs
 multi-language support (multiple character sets, Unicode, bi-directional text)
 hypertext and related features (hyperlinks, checkpoints, tags)
 import and export, databases (import from RTF, export to RTF and HTML, and more)
 special editing features (undo and text protection)
 printing with preview
 spell-checking (including live spelling with third-party spell checkers)

Import and Export
RichView exports RTF, HTML, text files, Unicode text files.
RichView imports RTF, text files, Unicode text files.
RichView saves and loads* its contents in a native format (RVF - RichView Format) and XML (with RichViewXML).
RichView can use text import and export converters from Microsoft® Office.

The author is Sergey Tkachenko and he always answer question if you need help. A registered user's forum is also available. Free compo and demo are available on the site.

RickJAuthor Commented:
Thanks pcsentinel and bernani for the comments.
I think I will take your advice pcsentinel and store outside of the DB. I also have had some nasty experience with DB "bloat" from storing images in particular. Thanks for the storage tips.
Still not decided on wich component to use...

rxRichEdit is as calinutz says "free and powerful" is just as good, maybe it has a bit more polish than rxRichEdit. But costs a bit....

I will evaluate both a bit more and then decide.
Thanks for your help.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.