iText将html导出成rtf格式

          RTF是Rich Text Format的缩写,意即多文本格式。这是一种类似DOC格式(Word文档)的文件,有很好的兼容性。在Java中导出Excel常用的是POI,通过创建的形式导出为excel,有时我们需要把html页面,如一个table表格导出打印,这时通过itext就很方便的可以实现。

        1,导入所需jar包,iTextAsian.jar和itext-rtf-2.1.7.jar,下载地址:http://download.csdn.net/detail/qqliang1314/8387685;

        2,Java代码:

OutputStream o = resp.getOutStream();
String s = new String( "工作周报.rtf".getBytes(), "iso8859-1");
response.setHeader("Content-Type", "application/rtf;charset= utf-8");
response.setHeader("Content-Disposition",( new StringBuilder("attachment;filename=" )).append(s).toString());
response.setHeader("Pragma" ,"No-cache" );
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires",0L,);

String text = request.getParameter("content");
Document document = new Document(PageSize.A4,72E,72E,90F,90F);

RtfWriter writer = RtfWriter2,getInstance(document,o);
document.open();
List<Element> list = HTMLWroker.parseToList( new StringReader(text),new StyleSheet());
for(Element el:list){
     document.add(el);
}
document.close();

   3,前端要导出打印的内容页:

<div id="content">
     <table>
            <tr><td></td></tr>
            <tr><td></td></tr>
     </table>
</div>

需要注意的是,table的样式代码要加到tr或td里,不能写在外面,否则导出的文档中没有样式;前端提交表单时获取id为content的html,传到后台即可。导出文档的命名可以修改,打印的纸张格式也可以换成需要的类型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值