[英]How to Draw diagrams (Charts) in word automation using vectors + Ms Graph with C# office interop word library
[英]MS Word Viewer C# .NET automation
是否可以自動執行以下操作:引用MS Word Viewer以編程方式打開文檔然后打印它? C#理想情況下
我猜是否有可能打開它然后更有可能打印它。
我嘗試在Visual Studio中添加對COM對象的引用.MS Office 11/12對象庫但沒有列出MS Word庫? 有任何想法嗎?
我沒有安裝Office 200x
干杯
我們使用Word Interop程序集完成了它。 這需要安裝Word(在場景后面啟動一個WINWORD進程),並且interop允許您在代碼中與它進行交互。
據我所知,這是唯一的方法。
試試Aspose.Words ,它的設計允許Office自動化,而不依賴於安裝Word。 它提供了一個很好的API來打開文檔,然后執行一系列操作,如打印,導出到pdf和許多其他結果。
以下代碼將打開Word視圖,其中包含您傳遞給它的文件。
System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo("WORDVIEW.exe", fileName.ToString());
System.Diagnostics.Process.Start(info);
嘗試搞亂參數以及傳遞命令行打印(我不知道你是否可以)。
在使用了所有大道之后,我無法找到使用Microsoft Viewer的Interop,這非常令人沮喪。
也許是這樣的:
class Program
{
static void Main(string[] args)
{
PrintDocument(@"C:\test.docx", 2);
Console.ReadKey();
}
[DllImport("USER32.DLL")]
public static extern bool SetForegroundWindow(IntPtr hWnd);
private static void PrintDocument(string name, int copies)
{
var process = System.Diagnostics.Process.Start(new ProcessStartInfo
{
FileName = name,
UseShellExecute = true
});
process.WaitForInputIdle();
SetForegroundWindow(process.MainWindowHandle);
SendKeys.SendWait("^p"); // send CTRL+P
SendKeys.SendWait(copies.ToString()); // send number of copies
SendKeys.SendWait("~"); // send ENTER
// -- or send all in one
//SendKeys.SendWait(string.Format("^p{0}~", copies));
}
}
是指免費的Microsoft Word Viewer,它允許您查看Word文檔而無需實際安裝Word? 如果是這樣,我不相信有一種方法可以自動化查看器,因為它不會安裝Word COM自動化庫,這是您需要的。
這是如何使用word自動化服務
如果它在服務器Word Automation Services上運行,使用Interop程序集總是一個壞主意
這使用不是每個人都擁有的SharePoint。 您還可以通過WebRequestMethod
將文件傳送到網頁,並將頁面打印到可愛的pdf編寫器或其他驅動程序。 只需使用mime類型發送文件的字節。 您將在asp.net網頁的頁面加載中打印。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.