当前位置:首页 » 网页前端 » web怎么打印视图
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

web怎么打印视图

发布时间: 2022-04-21 07:31:52

❶ 在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版式视图文档

如果你不要求格式版面什么的,非常简单,在浏览器中间一栏有一个打印机的图标,单击左键即可。