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?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

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
You can also use WORD Automation.... using the Word Server components on the Servers components pallete.
Automation info can be found here:
JavaScript Best Practices

Save hours in development time and avoid common mistakes by learning the best practices to use for JavaScript.

Check out rxLib (contains the powerfull rxRichEdit) here:

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
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.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.