Solved

Can I use the word object from within a webservice?

Posted on 2008-10-23
9
494 Views
Last Modified: 2008-11-03
I'm trying to do a proof of concept to see if I can do some very basic word automation from within a webservice.  The problem I have is that after I have created an instance of the Word Appliation I am unable to open any files.  The Document that I am trying to get is always null.  Any ideas whats wrong? Is what I'm trying to do even possible?

In my code below you'll see that all I'm trying to do is create an instance of word (which succeeds), and then open the document (which fails and gives me a null reference). (The doc.Activate is only to cause an the null reference error)
private void PrintDocument(string safeFileName)

{

	Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();

	// Open Doc

	object filename = safeFileName;

	Microsoft.Office.Interop.Word.Document doc = app.Documents.OpenNoRepairDialog(ref filename, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing,

																											ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing,

																											ref _missing, ref _missing);

	doc.Activate(); // fails here because doc == null

	app.Quit(ref _missing, ref _missing, ref _missing);

}

Open in new window

0
Comment
Question by:guxiyou
  • 5
  • 4
9 Comments
 
LVL 69

Expert Comment

by:Éric Moreau
Comment Utility
Using Office automation from on web server is a really bad idea. try the trial version of http://www.aspose.com/categories/file-format-components/aspose.words-for-.net-and-java/default.aspx
0
 

Author Comment

by:guxiyou
Comment Utility
Hmm, I'll give Aspose a try.  Why is running office automation from a web server such a bad idea? The service will only be used on a local LAN and for processing after hours.
0
 
LVL 69

Accepted Solution

by:
Éric Moreau earned 500 total points
Comment Utility
from http://support.microsoft.com/kb/257757

Although such programmatic development can be implemented on a client system with relative ease, a number of complications can occur if Automation takes place from server-side code such as Microsoft Active Server Pages (ASP), ASP.NET, DCOM, or a Windows NT service.
0
 

Author Comment

by:guxiyou
Comment Utility
I gave Aspose a try.  Unfortunately I found that Aspose did not preserve the formatting very well, and that the print quality of the documents wasn't very good.  Do you have any other suggestions of third-party tools that might be helpful?
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 

Author Comment

by:guxiyou
Comment Utility
One big requirement I we have is that the documents we produce with this tool need to work well with Word and look professional.  If we lose formatting every time we move back and forth that isn't going to work very well ;)
0
 
LVL 69

Expert Comment

by:Éric Moreau
Comment Utility
I am using Aspose and just about everything that is available in Word is available in their tool.

If you find features that are missing, you can ask in their forum. They have added a couple of features for me in the .Cells product. They are very responsive.
0
 

Author Comment

by:guxiyou
Comment Utility
Have you found that the documents you've manipulated using Aspose look the same as their Word counterparts? The quick test that I did seemed to indicate that spacing wasn't preserved very well.
0
 
LVL 69

Expert Comment

by:Éric Moreau
Comment Utility
I have played only with Excel and PDF documents.

Even if you are only playing with the trial, post a question on their forum and you will get your problem solved.
0
 

Author Comment

by:guxiyou
Comment Utility
I've tried Aspose, but there still seems to be a problem when trying to print from within a webservice. I'll keep trying, but I guess you've really answered my question already. Thanks
0

Featured Post

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

This article is for Object-Oriented Programming (OOP) beginners. An Interface contains declarations of events, indexers, methods and/or properties. Any class which implements the Interface should provide the concrete implementation for each Inter…
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
This video walks the viewer through the process of creating an MLA formatted document, as well as a bibliography with citations.
This Micro Tutorial well show you how to find and replace special characters in Microsoft Word. This is similar to carriage returns to convert columns of values from Microsoft Excel into comma separated lists.

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now