`
rensanning
  • 浏览: 3546182 次
  • 性别: Icon_minigender_1
  • 来自: 大连
博客专栏
Efef1dba-f7dd-3931-8a61-8e1c76c3e39f
使用Titanium Mo...
浏览量:38104
Bbab2146-6e1d-3c50-acd6-c8bae29e307d
Cordova 3.x入门...
浏览量:607107
C08766e7-8a33-3f9b-9155-654af05c3484
常用Java开源Libra...
浏览量:682060
77063fb3-0ee7-3bfa-9c72-2a0234ebf83e
搭建 CentOS 6 服...
浏览量:89208
E40e5e76-1f3b-398e-b6a6-dc9cfbb38156
Spring Boot 入...
浏览量:401677
Abe39461-b089-344f-99fa-cdfbddea0e18
基于Spring Secu...
浏览量:69652
66a41a70-fdf0-3dc9-aa31-19b7e8b24672
MQTT入门
浏览量:91650
社区版块
存档分类
最新评论

HTML & CSS 打印报表

 
阅读更多
通常打印报表的时候,需要在服务器端生成PDF, Excel, Word 或者其他文件后,下载到本地后打印。可以参考这里:
Java操作PDF之iText超入门 : http://rensanning.iteye.com/blog/1538689
Java读写Excel之POI超入门 : http://rensanning.iteye.com/blog/1538591

而如今随着浏览器faster, stronger, better, smarter,完全可以通过HTML&CSS的方式提供报表打印。


(一)打印Web Page
基本的HTML打印知识

1)Media types
media属性
<link rel="stylesheet" type="text/css" href="print.css" media="print">
<style type="text/css" media="print"></style>

@media规则
@media print {
 body { margin: 0; background-image: none; font-size: 12pt; }
}


2) Print Style Sheets
隐藏导航(navigation/sidebar)
#nav, #sidebar { display: none; }

隐藏不必要的内容
#comments { display: none; }

加宽Body区域
#content { width: auto; border: 0; margin: 0 5%; padding: 0; float: none !important; }

设置背景,文字颜色
body { background: white; } #content { background: transparent; } 
#author { color: #111; }

显示链接URL
a:link:after { content: " (" attr(href) ") "; font-size: 90%; }
a[href^="/"]:after {  content: " (http://www.sample.com" attr(href) ") "; }

区分链接和一般文字
a:link { font-weight: bold; text-decoration: underline; color: #06c; }

设置字体
body { font-family: Georgia, ‘Times New Roman’, serif; font-size: 12pt; }

打印提示
@media screen { #printMsg { display: none; } }
@media print { #printMsg { display: block; } }

分页显示
.sheet {  page-break-after: always; }

表格边框
table { border: 1px solid black; }


(二)打印设置

设置纸张大小
@page { size: A4 }
@page { size: 210mm 297mm }


设置纸张方向
@page { size: A4 landscape }


设置边距
@page { size: A4; margin: 10mm; }
@page :left {
   margin-left: 4cm;
   margin-right: 3cm;
}
@page :right {
   margin-left: 3cm;
   margin-right: 4cm;
}
@page :first {
   margin-top: 10cm
}


Chrome需要特殊设置
@page { size: A4; margin: 10mm; }
@media print {
  body {
    width: 190mm; /* needed for Chrome */
  }
}


输出页码
body {
  counter-reset: sheet; 
}
.sheet::after {
  position: absolute;
  bottom: 0;
  right: 0;
  counter-increment: sheet;
  content: "Page " counter(sheet);
}


(三)浏览器设置
各浏览器设置不同,基本都默认输出:标题、URL、页码、打印时间等,比如以下为Firefox的打印设置:


参考:
http://www.smashingmagazine.com/2007/02/printing-the-web-solutions-and-techniques/
http://qiita.com/cognitom/items/d39d5f19054c8c8fd592
  • 大小: 38.9 KB
  • 大小: 28.8 KB
7
3
分享到:
评论
1 楼 zenmshuo 2016-11-08  
如果用C1Report,会比这个更简单一点

相关推荐

    HTML实现打印简单报表(轻量级)

    ()"&gt;打印报表 &lt;!-- 表格内容 --&gt; ... function printReport() { var iframe = document.createElement('iframe'); iframe.srcdoc = document.getElementById('printArea').innerHTML; iframe....

    Html报表示例,WebBrowser打印

    5. **CSS样式与JavaScript**:HTML报表可能包含复杂的CSS样式和JavaScript脚本来实现动态效果和数据交互。WebBrowser控件支持大部分现代浏览器的CSS样式和JavaScript,使得HTML报表在桌面应用中也能有良好的视觉和...

    web打印报表控件Lodop

    Web打印报表控件Lodop是一款专为网页打印设计的组件,它提供了强大的网页打印功能,使得用户在浏览器中即可方便地完成各种复杂的打印任务。Lodop以其简单易用和高效实用的特点,在IT行业内获得了广泛的应用。下面将...

    aa.rar_html_html 报表_web 打印_报表打印

    总的来说,Web报表打印是现代Web应用中的一个重要组成部分,它要求开发者不仅要掌握HTML、CSS和JavaScript等前端技术,还要理解打印相关的规范和用户需求,以提供高效、便捷且用户友好的打印体验。

    Java Web开发技术方案宝典-报表打印

    ### Java Web开发技术方案宝典-报表打印 #### 6.1 报表打印技术 ...无论是基础的JavaScript + CSS打印,还是更高级的Word/Excel打印,甚至是自定义的报表解决方案,都有助于满足不同场景下的需求。

    Web打印的解决方案之普通报表打印

    可以使用专门的库,如`html2canvas`和`jspdf`,它们能够将HTML转换为图像或PDF,从而实现更高级的打印效果,包括多页报表和自定义布局。 总结来说,Web打印的解决方案涉及到JavaScript的DOM操作、ActiveX对象的利用...

    基于BS结构的Web打印报表设计

    ### 基于BS结构的Web打印报表设计 随着信息技术的发展和互联网的普及,B/S(Browser/Server,浏览器/服务器)架构的应用程序已经成为企业信息化的重要组成部分。然而,在B/S架构下实现复杂报表的打印功能一直是个...

    WEB页面打印excel报表

    因此,通常会创建一个专用于打印的CSS样式表,通过`@media print`规则来调整打印样式。 - 另外,还可以使用第三方库如`printThis`来提供更高级的打印选项,如隐藏某些元素、自定义页眉页脚等。 5. **安全性与兼容...

    报表打印模块

    3. 打印支持:通过CSS媒体查询,为打印场景定制专门的样式,确保打印出来的报表整洁清晰。 五、报表导出 1. PDF导出:可以使用iText、Flying Saucer等库将HTML页面转换为PDF格式,方便用户离线查看和打印。 2. ...

    c#asp.net表格Html数据模板转换Pdf文件web打印报表dll

    本文将详细探讨如何利用C# ASP.NET处理HTML表格数据,并将其转换为PDF格式,以便进行Web打印和生成PDF报表,以及相关的DLL库的使用。 首先,我们需要了解HTML表格。HTML表格是网页中组织数据的标准方式,它们由`...

    JavaWeb开发技术方案宝典--报表打印方案(报表打印方案要点代码)

    使用Bootstrap、Materialize CSS等前端框架,可以实现响应式布局,确保报表在不同设备上都能良好显示。 10. **安全性与权限控制**: 在企业级应用中,报表数据的访问和打印通常需要权限控制。Spring Security或...

    打印功能(jsp报表)

    为了使报表能够在浏览器中打印,可以利用CSS的`media`属性来指定打印时的样式。例如,提供的代码中使用了以下样式: ```css &lt;!-- media=print --&gt; .Noprint { display: none; } .PageNext { page-break-after: ...

    生成可打印报表打印条型码

    在IT行业中,生成可打印报表并打印条形码是一项常见的需求,尤其在物流、零售、库存管理等领域。本文将深入探讨这一主题,介绍如何利用编程技术实现这一功能,并结合提供的"WebSite2"压缩包文件,理解其可能包含的...

    echart报表加打印

    本项目“echart报表加打印”旨在提供一个简单的ECharts报表示例,并集成打印功能,使得用户能够方便地查看和打印图表数据。下面我们将深入探讨ECharts的核心特性、报表设计原则以及如何实现打印功能。 1. **ECharts...

    javascript实现打印报表功能

    本文将深入探讨如何使用JavaScript实现打印报表功能,包括与Excel和Word的交互,帮助开发者从初级到高级逐步提升技能。 首先,我们要理解JavaScript在报表打印中的角色。在网页端,JavaScript可以用于控制页面元素...

    微软本地报表web打印方法.rar

    Web打印方法是将这些本地报表在网页环境中进行打印的功能,这对于那些需要从Web应用中导出或打印报表的用户来说非常实用。下面将详细介绍微软本地报表Web打印的方法及其相关知识点。 首先,我们需要了解微软本地...

    WEB报表打印到PDF

    这种类型的工具通常会抓取网页的HTML、CSS和JavaScript代码,然后根据这些代码重构一个PDF版本。转换过程中可能会考虑到页面的响应式设计,以确保在不同屏幕尺寸下的布局都能正确显示。 "CuteWriter.exe"这个名字...

    asp.net报表打印(table方式)

    这些文件可能包含了报表的HTML结构、数据绑定逻辑、打印事件处理以及可能的CSS样式定义。 总结一下,这个示例涵盖了以下知识点: 1. ASP.NET的HTML Table数据展示 2. 数据源的处理与绑定,可能使用ADO.NET 3. ...

    利用XML实现通用WEB报表打印

    综上所述,利用XML实现通用WEB报表打印的过程主要包括:定义XML结构(通过DTD或XML Schema),编写XML数据,使用XML解析器读取数据,应用XSLT转换数据为HTML,以及通过JavaScript和CSS增强用户体验。这样的方法使得...

    SpringMVC+jspereport,实现报表分页查看、文件(pdf、excel、word)导出,以及html展示和调用浏览器打印功能实现打印

    最后,调用浏览器打印功能允许用户直接打印报表,无需先保存或下载。这通常涉及到HTML页面的CSS样式调整,确保打印出来的内容格式正确。SpringMVC可以触发浏览器的打印事件,用户可以在弹出的打印对话框中进行设置,...

Global site tag (gtag.js) - Google Analytics