只写一下 设置图片 和支持中文的处理,其他的具体代码别的博客一大堆,自己搜一下吧。
1、图片处理
本地开发一直怎么试都是好的, 用http的地址和获取系统的绝对路径的地址都可以访问。可以到服务器上就不行,我抱着试试心态,将图片由jpg格式换成png格式, 再打开PDF神奇般的好了。。。。。【本地是Windows系统,服务器是Linux系统,不知道和这个有没有关系,没有继续深究,调这个图片已经用了大半天了】
2、中文支持
也是获取中文字体 怎么也获取不到,也是本地一直是好的,服务器上不行。。无语。。。
下面看是怎么解决的吧。
1、 看一下项目结构:
红色部分是重点处理:
还有个点:invoiceUtil 的打印PDF的方法不能写成静态的 我是注入的,刚开始是静态方法一直不行, 打印pdf的第四个参数是 中文字体的路径。
网上找的
if(hasImage) {// 如果携带图片则加上以下代码,将图片标签转换为Itext自己的图片对象
renderer.getSharedContext().setReplacedElementFactory(new Base64ImgReplacedElementFactory());
renderer.getSharedContext().getTextRenderer().setSmoothingThreshold(0);
这些根本不需要。。。
2、看一下ftl里面图片的写法:
<img src="${basePath}template/home-logo.png"></img>
还有这个样式也很难调。。。。 不知道表格的边框怎么调。。。 写的样式 board:1px, 结果导出来的边框起码2px了。。现在也没解决。。。 希望知道的 可以解答一下,万分感谢!!!