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