[size=13px]做了一個系統,需要打印word,服務器上有打印模塊,打印之前是將打印的內容通過書簽的新式生成了一個新的word保存在服務器上,在客戶端訪問系統打印的時候出現了一些問題。客戶端調用的打印機是服務器上面的,不是客戶端電腦上的。
[/size]
打印代碼如下:
Microsoft.Office.Interop.Word.Applicationapp=null;
Microsoft.Office.Interop.Word.Documentdoc=null;
objectmissing=System.Reflection.Missing.Value;
objecttemplateFile=@"D:"+name;
try
{
app=newMicrosoft.Office.Interop.Word.Application();
//WORD程序不可見
app.Visible=false;
//不彈出警告框
app.DisplayAlerts=Microsoft.Office.Interop.Word.WdAlertLevel.wdAlertsNone;
//app.ActivePrinter="HPLaserJetM1319fMFP";
doc=app.Documents.Add(reftemplateFile,refmissing,refmissing,refmissing);
//打印
if(type=="打印")
{
doc.PrintOut(refmissing,refmissing,refmissing,refmissing,
refmissing,refmissing,refmissing,refmissing,refmissing,
refmissing,refmissing,refmissing,refmissing,refmissing,
refmissing,refmissing,refmissing,refmissing);
}
}
catch(Exceptionexp)
{
thrownewException(exp.Message);
}
//銷毀word進程
finally
{
objectsaveChange=Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges;
if(doc!=null)
doc.Close(refsaveChange,refmissing,refmissing);
if(app!=null)
app.Quit(refmissing,refmissing,refmissing);
}
12 个解决方案
#1
自己頂一個,在網上找了很多,基本上都是調用的服務器上的打印機打印的。
#2
怎么沒有人回答了。
#3
用js吧,客戶端js2句話就能打印。。。
#4
引用1樓shengyongwang的回復:
自己頂一個,在網上找了很多,基本上都是調用的服務器上的打印機打印的。
如果“網上”確實很多騙人文章,只能表示遺憾。
等你自己不至於隨便抄那些文章時,提出了真正具體問題,就會有人給你可操作性的回答。
#5
就你這個問題來說,你應該先放一放,過3個月再考慮。
不論是你看到的文章,還是你聽到的回答,可能都是想當然並且完全南轅北轍的,如出一轍。而你缺乏基本的分辨能力。
#6
可以用js打印,這是最簡單的方法了,在不就找web打印插件了,一般的插件都會安裝客戶端的程序配合js,比如lodop
#7
引用5樓sp1234的回復:
就你這個問題來說,你應該先放一放,過3個月再考慮。
不論是你看到的文章,還是你聽到的回答,可能都是想當然並且完全南轅北轍的,如出一轍。而你缺乏基本的分辨能力。
大牛,我現在急需找到解決辦法,因為項目中正在使用,遇到了問題需要解決。找了很多解決辦法,現在沒有辦法,所以才在網上尋找大牛的解決。
#8
君不知道BS應用中,是分客戶端代碼和服務端代碼的嗎?
你調用服務端代碼打印,當然是調用的服務器上的打印機了
#9
調用JS代碼打印,那么你需要解決的問題就是,如何在客戶端獲取你服務器上的WORD文件內容
IE在客戶機上,它是不能直接訪問服務器上的文件的,它也不允許直接訪問客戶機上的文件
所以不管你是用服務器的路徑在客戶機上打印,還是先把word文檔下載下來再調用JS,都是無法獲取文件內容的
你需要先在服務端將文件解析出來,然后將內容以html的方式輸出到IE上,JS腳本再把這個內容打印
思路就是如此,但願你能看懂
#10
引用9樓Z65443344的回復:
調用JS代碼打印,那么你需要解決的問題就是,如何在客戶端獲取你服務器上的WORD文件內容
IE在客戶機上,它是不能直接訪問服務器上的文件的,它也不允許直接訪問客戶機上的文件
所以不管你是用服務器的路徑在客戶機上打印,還是先把word文檔下載下來再調用JS,都是無法獲取文件內容的
你需要先在服務端將文件解析出來,然后將內容以html的方式輸出到IE上,JS腳本再把這個內容打印
思路就是如此,但願你能看懂
感謝,您的意思我明白了,現在就要轉換思路,考慮把word轉化成html了
#11
引用5樓sp1234的回復:
就你這個問題來說,你應該先放一放,過3個月再考慮。
不論是你看到的文章,還是你聽到的回答,可能都是想當然並且完全南轅北轍的,如出一轍。而你缺乏基本的分辨能力。
看到這個但牛很多回答的內容都是些有的沒的有的人問問題是急需解決的難道等着被辭退?js方法或者打印預覽.printview()即可
#12
想知道樓主最后是怎么解決的!
如果觉得《c#服务器上的文件怎么打印 C# 如何調用客戶端打印機打印服務器上的word文件》对你有帮助,请点赞、收藏,并留下你的观点哦!