怎么将html代码转换成应用,肿么才能方便快捷的把HTML代码转成APP

public boolean convertHtmlToPdf(String inputFile, String outputFile) throws Exception { OutputStream os = new FileOutputStream(outputFile); ITextRenderer renderer = new ITextRenderer(); String url = new File(inputFile).toURI().toURL().toString(); renderer.setDocument(url); // 解决中文支持问题 ITextFontResolver fontResolver = renderer.getFontResolver(); fontResolver.addFont(C:/Windows/Fonts/SIMSUN.TTC, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); //解决图片的相对路径问题 renderer.getSharedContext().setBaseURL(file:/D:/); renderer.layout(); renderer.createPDF(os); os.flush(); os.close(); return true; }上面这段代码是这样的,输入一个HTML地址URL = inputFile,输入一个要输出的地址,就可以在输出的PDF地址中生成这个PDF。

注意事项:

1.输入的HTML页面必须是标准的XHTML页面。页面的顶上必须是这样的格式:

!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtdhtml xmlns=http://www.w3.org/1999/xhtml并且HTML页面的语法必须是非常严谨的,所有标签都必须闭合等等(由于flying-Saucer做了XML解析的工作,不严谨会报错的。),这是对页面的第一个要求。

2.要用到图片的地方写相对路径的形式,比如:

img src=a.jpg alt=323 width=252 height=80 /而它的图片位置则必须在Java代码中指定。

renderer.getSharedContext().setBaseURL(file:/D:/);

也有另一种方法就是直接在img标签中写绝对路径。

3.Flying-Saucer在解析tiff格式的图片的时候会报错。具体原因我还没找到。希望大家能够指点我。

4.如果在页面中有中文字体的话。必须在HTML代码中的样式中写上某种字体的css,并且必须是用英文的,然后在Java代码中写上对应的文件位置。

ITextFontResolver fontResolver = renderer.getFontResolver(); fontResolver.addFont(C:/Windows/Fonts/SIMSUN.TTC, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);上面的方法是添加了宋体。也可以添加其他字体。

取消

评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值