Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / Languages / C# / September 2007

Tip: Looking for answers? Try searching our database.

Need to save Word Doc or RTF as BMP

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Tom Sweet - 02 Mar 2006 03:59 GMT
Hi
I know how to use the bitmap and graphics objects to create bitmaps and
write text on them with the drawString method. I now need to create some BMPs
of word or RTF docs.  What would be the best approach here as I need to
maintain most if not all of the formatting.  The docs will be about 3
paragraphs each.

Should I save the docs to rtf, then parse the rtf into the draw string
method?  There has to be an easier way.

Thank you
vooose - 02 Mar 2006 06:03 GMT
Ok make a new windows Form, then add a RichTextBox to it. Then render
your RTF on the richtextbox and screen dump the Form (you never have to
show it)

Here is the code to dump a Form:

public static void CaptureScreen(Form form, string saveLocation)
        {
            Graphics g1 = form.CreateGraphics();
            Image image = new Bitmap(form.ClientRectangle.Width,
form.ClientRectangle.Height, g1);
            Graphics g2 = Graphics.FromImage(image);
            IntPtr dc1 = g1.GetHdc();
            IntPtr dc2 = g2.GetHdc();
            BitBlt(dc2, 0, 0, form.ClientRectangle.Width,
form.ClientRectangle.Height, dc1, 0, 0, 13369376);
            g1.ReleaseHdc(dc1);
            g2.ReleaseHdc(dc2);
            image.Save(saveLocation, System.Drawing.Imaging.ImageFormat.Jpeg);   
            image.Dispose();
        }

[System.Runtime.InteropServices.DllImportAttribute("gdi32.dll")]
        private  static extern  bool  BitBlt(
            IntPtr hdcDest, // handle to destination DC
            int nXDest, // x-coord of destination upper-left corner
            int nYDest, // y-coord of destination upper-left corner
            int nWidth, // width of destination rectangle
            int nHeight, // height of destination rectangle
            IntPtr hdcSrc, // handle to source DC
            int nXSrc, // x-coordinate of source upper-left corner
            int nYSrc, // y-coordinate of source upper-left corner
            System.Int32 dwRop // raster operation code
            );

--
Wal
http://www.vooose.com
Tom Sweet - 02 Mar 2006 15:29 GMT
Thank you Vooose

> Ok make a new windows Form, then add a RichTextBox to it. Then render
> your RTF on the richtextbox and screen dump the Form (you never have to
[quoted text clipped - 36 lines]
>
> *** Sent via Developersdex http://www.developersdex.com ***
electrobrainleonard - 29 Sep 2007 21:17 GMT
Yes, I know, I'm more than a year late on seeing this.  I've been looking for
something like this for a while.

Unfortunately, vooose, this only works if the RichTextBox control is visible
and on top of all other controls/windows (topmost).  It's the programmatic
equivalent of hitting Alt+PrntScrn.  The part where you say "you never have
to show it" isn't correct.

I'm looking for a way to quickly convert an RTF file into a PNG file (or
bitmap or whatever).  I was hoping this would help, but it's not adequate.

Is there some other way to redirect or copy a RichTextBox's rendering
(regardless of the Height) to a Bitmap object, without the RichTextBox being
visible?  I was hoping to make a small and fast console app that I can add to
an RTF file's open-with menu.

> Ok make a new windows Form, then add a RichTextBox to it. Then render
> your RTF on the richtextbox and screen dump the Form (you never have to
[quoted text clipped - 36 lines]
>
> *** Sent via Developersdex http://www.developersdex.com ***

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.