对于一些要求比较高的打印来说,这种思路还是不错的.据我现在所知,至少应该有两种方法可以:
var wrd=new ActiveXObject("Word.Application");
wrd.visible=true;
wrd.Documents.Open(" http://10.16.33.220/hse/PrintPages/备忘录.doc");
1,在C#中写,使用里面的word类,这个代码在网上很多,但是配置权限本人还没掌握好,嘻嘻,只在本机调试成功;
2,利用客户端脚本.在这里,我主要说脚本实现方法.还希望掌握第一种方法的人能不吝赐教,告诉俺:)
思路:将某个Web控件的值传给一个在服务器运行的Html控件,然后在建一个Html按钮,单击执行脚本函数,以只读方式打开放在服务器上的word模版.
主要函数如下:
<SCRIPT language="JavaScript">
//转换word的函数
function ToWord()
{
//接收Html控件的值
strName=Form1.name.value;
strContent=" "+Form1.content.value;
//将用"{}"替换"/r/n"了的字符串再次替换,目的是在word中打开时保持换行
strContent=strContent.replace(//{}/g,"/n");
function ToWord()
{
//接收Html控件的值
strName=Form1.name.value;
strContent=" "+Form1.content.value;
//将用"{}"替换"/r/n"了的字符串再次替换,目的是在word中打开时保持换行
strContent=strContent.replace(//{}/g,"/n");
var wrd=new ActiveXObject("Word.Application");
wrd.visible=true;
wrd.Documents.Open(" http://10.16.33.220/hse/PrintPages/备忘录.doc");
//利用书签赋值
//标题
var range = wrd.Range;
range =wrd.ActiveDocument.Bookmarks("Name").Range;
range.InsertBefore(strName);
//内容
range =wrd.ActiveDocument.Bookmarks("Content").Range;
range.InsertBefore(strContent);
//标题
var range = wrd.Range;
range =wrd.ActiveDocument.Bookmarks("Name").Range;
range.InsertBefore(strName);
//内容
range =wrd.ActiveDocument.Bookmarks("Content").Range;
range.InsertBefore(strContent);
wrd.Application.Activate();
wrd=null;
}
</SCRIPT>
wrd=null;
}
</SCRIPT>