栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java 用itext设置pdf纸张大小操作

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java 用itext设置pdf纸张大小操作

做快递面单打印模板,快递要求纸张大小100 x 150mm。

PageSize.A4=595 x 842

A4尺寸=210mm×297mm

故设置纸张大小:
public static final Rectangle EXP = new RectangleReadonly(283.0F, 425.0F);

补充:解决iText生成pdf文件过大的问题

为iText生成的pdf文件瘦身。

原来生成pdf文件,即使是纯文本内容,无论内容再如何少,文件体积总是在7M多,导致传输速度很慢。经排查,是在pdf生成的时候,选用了第三方中文字体造成的。

原生成PDF代码中,有如下语句:

bfChinese = baseFont.createFont("c://windows//fonts//SIMFANG.TTF", baseFont.IDENTITY_H, baseFont.NOT_EMBEDDED);

这种情况下,iText会将字体TTF文件一同打包进pdf文件中,造成文件很大。

解决方法

是把这句改写为:

baseFont.createFont("STSong-Light", "UniGB-UCS2-H",baseFont.NOT_EMBEDDED); 

同时,需要引入itext-asian,使用maven:



 com.itextpdf
 itext-asian
 5.2.0

这样,原来7M多的文件,现在只有100K左右了。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持考高分网。如有错误或未考虑完全的地方,望不吝赐教。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/129154.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号