❶ 在WORD里以WEB版式打印
另存为 保存模式选筛选过的网页
❷ word里web视图怎么全部打印出来求救!!
web视图是作为网页浏览用的,所以打印的时候有两个选择,一个是采用横排打印,另一个就是切换成页面视图,然后调整内容(比如表格,可以右键点击表格选择“自动调整”→“根据窗口调整表格”然后再进行细微调整)到适合打印的形式。
❸ 如何实现HTML的打印和预览
如何实现HTML的打印和预览
HTML的打印和预览向来是个难题,但自从IE5.5推出后,情况大有改观。你可以利用其“打印模板”功能,实现自己的预览窗口和控制打印。“打印模板”的使用方法请参考MSDN Library中的Web Development > Programming and Reusing the Browser > Print Templates目录下的文章。从微软的网站上还可以下载到一个不错的例子,示例如何一步步由浅入深地使用Print Template
你会发现,要自己实现一个功能完善的打印模板也并非易事。IE浏览器本身带的打印模板做得还不错,能否在它的基础上加上自己的定制功能呢?答案是肯定的,至少从技术上看是这样(不考虑版权问题)。下面就介绍这偷懒的招。
用Visual Studio打开x:Program FilesInternet ExplorerMUI804SHDOCLC.DLL,会看到其资源目录。其中HTML/PREVIEW.DLG就是IE所带的打印模板了。把它export(导出)出来,把文件扩展名改成HTM,打开看看,是不是特刺激?PREVIEW.DLG用到了几个图片文件,在2110目录下,别忘了导出。(注:我的环境是Windows XP Professional英文版+SP1a,IE是6.0sp1。)
IE默认的模版中,页眉页脚均只支持纯文字。下面以定制HTML页眉为例,看看如何定制自己的打印模板。思路是:用自己的页眉内容换掉原有的内容,并修改其页眉高度和页边距使之和新的页眉相对应。
第一步,定义页眉。在要使用此模版预览打印的HTML文件中加入一个id为Header的div标记,括起HTML页眉内容,并制定以英寸为单位的页眉的高度和宽度,其中宽度应该和模版相符。例:
<div style="DISPLAY:none; WIDTH:6.5in; HEIGHT:0.78in">
...(HTML页眉内容)
</div>
第二步,声明变量。在模版前面变量声明部分加上两个变量声明:
var g_htmlHeader = "";//用于保存页眉内容
var g_nHeaerHeight = 0;//页眉的高度
第三步,取得页眉。在函数OnLoadBody()中的“Printer.footer = dialogArguments.__IE_FooterString”语句之后加入这段代码:
oPageHeader = dialogArguments.__IE_BrowseDocument.all.item("Header", 0);
if (null != oPageHeader)
{
g_htmlHeader = oPageHeader.innerHTML;
g_nHeaerHeight = oPageHeader.style.posHeight;
}
第四步,指定页边距和页眉高度。在上面的代码下面紧接着加入:
//指定页边距。其中40可以自己改,单位是百分之一英寸。
Printer.marginTop = 40 + (g_nHeaerHeight * 100);
Printer.marginBottom = 40;
Printer.marginLeft = 40;
Printer.marginRight = 40;
在函数EnsureDocuments()中,
/*注释掉以下代码
if (header)
{
tmp = upTop + (27 / 100);
if (tmp > top)
top = tmp;
}
if (footer)
{
tmp = upBottom + (27 / 100);
if (tmp > bottom)
bottom = tmp;
}
*/
//紧接着加上:
tmp = upTop + g_nHeaerHeight;
if (tmp > top)
top = tmp;
//下面隔几行,注释掉:oRule.style.top = upTop + "in";
第五步,指定页眉内容。在函数CPrintDoc_AddPage()中,在“HeadFoot.page = HeadFoot.pageTotal;”语句之后加入:
//这两行用于设置页码,你在页眉可以通过加入“[P]”和“[p]”分别代表总页数和当前页数。
g_htmlHeader = g_htmlHeader.replace("[P]", "<span ></span>");
var pageHeader = g_htmlHeader.replace("[p]", HeadFoot.pageTotal);
//下面隔3行,注释掉:
//~oPage.children("header").innerHTML = HeadFoot.HtmlHead;
//~oPage.children("footer").innerHTML = HeadFoot.HtmlFoot;
//下面隔几行,把“newHTM += HeadFoot.HtmlHead;”改为:
newHTM += pageHeader ;
//然后注释掉(不要页脚):newHTM += HeadFoot.HtmlFoot;
至此,一个支持自定义HTML页眉的新模版就定制完成了。是不是觉得特爽?如果觉得它给你省下了两周的时间,就赶紧到“希望之光”网站上,花你2天的工资,资助一个小孩上学吧。
定制好的打印模板怎么用呢?请看以下代码:
var
vaIn, vaOut: OleVariant;
CmdTarget : IOleCommandTarget;
MyHandle : THandle;
begin
vaIn := 'c:\Preview.htm'
//预览方法1:WebBrowser1.ControlInterface.ExecWB(OLECMDID_PRINTPREVIEW, OLECMDEXECOPT_PROMPTUSER, vaIn, vaOut);
//下面是方法2:
if WebBrowser1.Document <> nil then
begin
WebBrowser1.Document.QueryInterface(IOleCommandTarget, CmdTarget);
if CmdTarget <> nil then
begin
try
CmdTarget.Exec( PGuid(nil), OLECMDID_PRINTPREVIEW, OLECMDEXECOPT_PROMPTUSER, vaIn, vaOut);
finally
CmdTarget._Release;
end;
end
else
begin
ShowMessage('IE不支持该功能,请升级至IE5.5以上。');
end;
end;
end;
方法1简洁,但是如果WebBroswer不支持打印预览的话就会出错。第二种方法可能更好一些。
在打印预览时,预览窗口的尺寸大小总是和WebBrowser所在的Form的一样,而且没法最大化。更麻烦的是,如果你的表单是嵌入到了别的表单的组件上显示的,例如,Form1.Parent := Form2.Panel1,即Form1显示在Form2中Panel1所占据的位置,那么预览窗口就变得很小了,不拉大根本没法看。解决办法如下,在预览的代码后面加上以下代码,使预览窗口最大化:
Handle:=FindWindow('Internet Explorer_TridentDlgFrame', '打印预览');
if 0 <> MyHandle then
begin
ShowWindow(MyHandle , SW_MAXIMIZE);
end;
如果不预览而是直接打印,则把OLECMDID_PRINTPREVIEW换成OLECMDID_PRINT就可以了。
如果要在Web应用中使用打印模板,可以通过ActiveX来实现调用。
注:打印模板需要安装Internet Explorer 5.5以上版本,本文其它功能需要安装Internet Explorer4.0以上版本。
❹ Word中,web版式视图文件能打印到A4纸上吗
Word中,web版式视图文件能打印到A4纸上,具体的操作步骤:
1、在web版式视图中,单击打印图标;
2、弹出打印对话框,在按纸张大小缩放处选择A4即可,如图所示。
❺ 怎样在web中实现报表打印和打印预览
一、 浏览器的菜单打印功能
这是最简单的,只需点击页面上的打印菜单,但是也是问题最多的,基本上是不能满足用户需要。比如:不能精确分页,有出现打出半行字的风险;改变纸型后打印出的格式和页面显示的格式相差太大;页眉页脚也需要从菜单中去设置,等等等等。这种方案最大的优势就是不需要做任何代码,点击打印就可以了。
二、 window.Print()
这实际上,是浏览器打印功能菜单的一种程序调用。与点击打印功能菜单一样,不能精确分页,不能设置纸型,套打的问题更加无从谈起,只不过,可以让用户不用去点菜单,直接点击网页中的一个按钮,或一个链接里面调用罢了。
需要指出的是这种方法提供一个打印前和打印后的事件onbeforeprint、onafterprint。可以在打印前的时候重新编辑一些格式,专门送去打印,打印后又处理回来。
function window.onbeforeprint()
{
//将一些不需要打印的隐藏
}
function window.onafterprint()
{
//放开隐藏的元素
}
事实上,很多用户都是采用这种方式打印,但是这种方式最致命的缺点是不能设置打印参数,比如纸型,页边距,选择打印机等等。
三、 导出excel导出pdf文件的打印
将需要打印的数据导出excel文件或者导出pdf文件,然后打开excel文件或者pdf文件重新打印,用这种方案能实现精确的打印,套打也能实现,但是需要客户端安装excel和adobe软件,操作起来也有些麻烦,并且导出的excel文件可以重新修改编辑,一般用户都会要求系统提供这种导出的方案,也同时需要直接打印的功能,所以个人觉得这种方案也不能很好的解决打印的问题。
四、 纯ActiveX控件
这种方案其实就是编写一个C/S的打印控件,然后嵌入到页面里面,将要打印的数据装入到控件中,然后打印。这种方案的优点是打印精度高,分页,设置打印参数等等都能实现。但是缺点也是很明显的,嵌入ActiveX控件破坏了web应用的整体html风格,且这样的控件通常都比较大,一般都超过1M,下载很慢。
❻ web打印有那几种方法
一、浏览器的打印功能菜单
这种方案的优势是不需要对浏览器作任何扩充,是最简单的办法,但问题也最多,如:
不能精确分页。浏览器一般是根据用户设置的页面大小,web页面的内容多少,来自行决定分页位置,程序员很难控制。会有页脚页眉干扰。
不能准确对齐边边距及打印文字。
不能解决连续打印。比如,不是仅打印一张票据,而是连续一次打印若干个票据。
二、使用webbrowser控件+ javascript
这实际上,是浏览器打印功能菜单的一种程序调用,与打印功能菜单没什么两样。分页的问题仍然存在,只不过,可以让用户不用去点菜单,直接在网页中的一个按钮,或一个链接里面调用罢了。
三 、使用print css
这是一种最理想的实现web套打的方法。这种方法通过在html文档中,嵌入打印相关的css样式,来实现对html文档输出打印的控制,比 如设置纸张大小,纸张纵横方向,打印边距,分页等。显而易见,这种方式成本小,不需要下载任何插件,而且跨平台性非常好。print css推出已经有些时日,但遗憾的是,至今没有一个厂商的浏览器很好地实现了这些标准,这使得程序员目前还不能利用print css进行实际的开发。关于打印css,参见http://css-discuss.incutio.com /?page=PrintStylesheets
四 、使用PDF文件
用这种方式,就是从服务器端下载一个pdf文件流,在IE中用adobe插件打开,然后用adobe的打印菜单进行打印,虽然这种方案,也能 实现精确套打,但需要下载adobe插件。这是国外报表工具经常推荐的一种打印方法,但在pdf不那么普及的中国,这种方案不是最好选择。
❼ word,web视图能打印在A4纸张上么
可以的。打印的纸张大小是可以调整的,打印效果也是可以预览的,你可以预先查看,并可以调整好,再打印。
❽ web板式视图怎么打印在A4纸上面啊,急啊!哪位可以高手帮帮忙!
可以另存为后在打印,也可以先打印预览,如果显示不全的话调一下页面设置就可以了
❾ Word中,web版式视图文件能打印到A4纸上吗遇到跟你一样的问题了,当时我按照你里面的回答好像还不行
在Word中,视图方式与能不能打印到A4纸上是没有必须关系的。web版式视图是一种显示方式,无论你纸张设成什么纸,都不会改变它的显示方式,而打印到多大的纸上,是通过页面设置来设置的。
❿ 如何打印Web版式视图文档
如果你不要求格式版面什么的,非常简单,在浏览器中间一栏有一个打印机的图标,单击左键即可。