成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

java 用itext設(shè)置pdf紙張大小操作

瀏覽:60日期:2022-08-17 14:42:45

做快遞面單打印模板,快遞要求紙張大小100 x 150mm。

PageSize.A4=595 x 842

A4尺寸=210mm×297mm

故設(shè)置紙張大小:

public static final Rectangle EXP = new RectangleReadOnly(283.0F, 425.0F);

補充:解決iText生成pdf文件過大的問題

為iText生成的pdf文件瘦身。

原來生成pdf文件,即使是純文本內(nèi)容,無論內(nèi)容再如何少,文件體積總是在7M多,導(dǎo)致傳輸速度很慢。經(jīng)排查,是在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:

<!-- https://mvnrepository.com/artifact/com.itextpdf/itext-asian --><dependency> <groupId>com.itextpdf</groupId> <artifactId>itext-asian</artifactId> <version>5.2.0</version></dependency>

這樣,原來7M多的文件,現(xiàn)在只有100K左右了。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。如有錯誤或未考慮完全的地方,望不吝賜教。

標(biāo)簽: Java
相關(guān)文章: