Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C# HTML conversion
Hi all,
I am programming a window service (c#), which convert a doc/docx file to html.
After test unit, everything is very OK, but when it run it service mode, it throw an exception when saving the doc file to html.
Following is my codes:
 
object srcFile = sourceFile;
object dstFile = destFile;
object unknownObj = Type.Missing;
 
Word._Application newApp = new Word.Application();
Word.Documents docs = newApp.Documents;
 
// open file
CExecLog.insertLog("Bug convertHtmt2Doc", sourceFile + "|" + destFile, "Open file");
Word.Document doc = docs.Open(ref srcFile, ref unknownObj, ref unknownObj, 
	  ref unknownObj, ref unknownObj, ref unknownObj, ref unknownObj, 
	  ref unknownObj, ref unknownObj, ref unknownObj, ref unknownObj, 
	  ref unknownObj, ref unknownObj, ref unknownObj, 
	  ref unknownObj, ref unknownObj); // doc is NULL after this line ????
object format = Word.WdSaveFormat.wdFormatHTML;
 
// save file            
CExecLog.insertLog("Bug convertHtmt2Doc", sourceFile + "|" + destFile, "Save file after sleep, and doc is null ?" + (doc == null));
doc.SaveAs(ref dstFile, ref format, ref unknownObj, ref unknownObj, ref unknownObj,
	  ref unknownObj, ref unknownObj, ref unknownObj, ref unknownObj, 
	  ref unknownObj, ref unknownObj, ref unknownObj, ref unknownObj, 
	  ref unknownObj, ref unknownObj, ref unknownObj);
 
object missing = Type.Missing;
object save = Word.WdSaveOptions.wdDoNotSaveChanges;
// quit office
CExecLog.insertLog("Bug convertHtmt2Doc", sourceFile + "|" + destFile, "Quit");
newApp.Quit(ref save, ref missing, ref missing);
 
I tried another solution following: http://hintdesk.com/c-convert-word-to-html/comment-page-1/#comment-9041[^] but it throw an 'Object reference not set to an instance of an object' too.
 
Test unit, and service run on same machine, I dont know why it doesn't work on my service.
Could you please give me some guides.
TuanNM
Posted 10-Dec-12 15:34pm

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 2

People always perform the tasks by MS Office control on server side, which is really unreasonable since if Office controls are performed on server mode, it needs very complex configurations and hard successfully to realize the task. So it is not suggested. In such a case, you need to use a third party library. what I am familiar is a MS Word component[^], it can directly used in the server side, and convert word doc and docx to html also can convert html to word doc docx directly. You can see the solution in below article:
 
Convert doc/docx to html and html to doc/docx[^]
  Permalink  
Comments
TuanNGUYEN at 12-Dec-12 1:27am
   
Thanks,
I must chose a free solution, but thanks to you I found the reason why my program cant run, I have to find another solution.
TuanNM
Tinier at 12-Dec-12 4:53am
   
ok, that is all right, it maybe a little hard to find a free one, but you can put it on more forums and let more people know it. good luck!

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



Advertise | Privacy | Mobile
Web03 | 2.8.1411022.1 | Last Updated 10 Dec 2012
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100