2010-09-30 78 views
0

我想在C#中将word文件[单页]的内容转换为JPEG文件。在c#中将word文件的内容转换为JPEG#

Follwing是我试过的代码。但Clipboard.GetImage()返回null。

请帮我一把。

Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application(); 
     object fileName = @"C:\Documents and Settings\ErabLK\Desktop\toTest.docx"; 
     object val = System.Reflection.Missing.Value; 
     object falseVal = false; 
     Document wordDoc = wordApp.Documents.Open(ref fileName, ref val, ref falseVal, ref val, ref val, 
          ref val, ref val, ref val, ref val, ref val, ref val, ref val, ref val, ref val, 
          ref val, ref val); 


     wordDoc.ActiveWindow.Selection.WholeStory(); 
     wordDoc.ActiveWindow.Selection.Copy(); 
     Image img = System.Windows.Forms.Clipboard.GetImage(); 
+0

对于存储计算机生成的内容,JPEG似乎是一种非常不寻常的格式。最适合照片。你有没有尝试使用Word导出功能,如打印到PDF?会创建一个PDF而不是JPG为你工作? – 2010-09-30 04:18:09

+0

谢谢你的回复。我需要做的是在PictureBox中加载docx。并且要求说不要使用pdf,因为用户必须安装pdf阅读器才能查看它。 所以只剩下选项是将其转换为jpg。请帮帮我。 – erap8627 2010-09-30 04:42:23

回答

0

GetImage()只有在剪贴板上有一些图像已经存在的情况下才能工作。

http://msdn.microsoft.com/en-us/library/system.windows.forms.clipboard.getimage(VS.80).aspx

一个解决方案,我能想到的是创建一个位图,并使用System.Drawing.Text功能来呈现网页文本的位图,并将其保存为JPEG。您可能可以从word文档中提取字体属性,并将其用于绘图,使其具有类似的外观。

+0

但是,这篇文章http://stackoverflow.com/questions/1373073/convert-word-document-multi-page-into-jpeg-file-in-c表示他已经使用剪贴板选项转换了第一页。 – erap8627 2010-09-30 04:43:54

+0

你可以请直接给我最初的帖子,把单词页面渲染成位图。 – erap8627 2010-09-30 04:44:32

+0

http://www.switchonthecode.com/tutorials/csharp-snippet-tutorial-how-to-draw-text-on-an-image有一些体面的例子。当我像前面提到的那样搜索system.drawing.text时,这是最重要的结果之一。 – 2010-09-30 07:41:42

0
 Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application(); 
     Microsoft.Office.Interop.Word.Document wordDoc = new Microsoft.Office.Interop.Word.Document(); 

     object falseVal = false; 

     object fileName [email protected]"C:\u.doc"; 
     object val= System.Reflection.Missing.Value; 

     Microsoft.Office.Interop.Word.Document wordDoc1 = wordApp.Documents.Open(ref fileName, ref val, ref falseVal, ref val, ref val, ref val, ref val, ref val, ref val, ref val, ref val, ref val, ref val, ref val, ref val, ref val); 

     wordDoc.ActiveWindow.Selection.WholeStory(); 
     wordDoc.ActiveWindow.Selection. 
     Image img = System.Windows.Forms.Clipboard.GetImage(); 
+1

欢迎来到SO,在这里,解释为什么要使用您的解决方案并不仅仅是一个好的做法。这会让你的答案更有价值,并有助于读者更好地理解你是如何做到的。我还建议你看看我们的FAQ:http://stackoverflow.com/faq。 – ForceMagic 2012-11-09 19:10:27