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:
<!-- https://mvnrepository.com/artifact/com.itextpdf/itext-asian --> <dependency> <groupId>com.itextpdf</groupId> <artifactId>itext-asian</artifactId> <version>5.2.0</version> </dependency>
这样,原来7M多的文件,现在只有100K左右了。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。
相关推荐
-
Java使用itext5实现PDF表格文档导出
最近拿到一个需求,需要导出PDF文档,市面上可以实现的方法有很多,经过测试和调研决定使用itext5来实现,话不多说,说干就干. 1.依赖导入 <!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf --> <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> &l
-
Java开源工具iText生成PDF简单实例
iText下载页面: http://sourceforge.net/projects/itext/files/ 1.创建简单的PDF文件 package console.pdf; import java.io.FileNotFoundException; import java.io.FileOutputStream; import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com
-
java使用itext导出PDF文本绝对定位(实现方法)
jar:itext-4.2.1.jar 在很多公文的落款处都需要绝对定位,所以记录此代码如下: PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("test.pdf")); PdfContentByte cb = writer.getDirectContent(); BaseFont bf= BaseFont.createFont("STSong-Light", "
-
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多,导致传输速度很慢.经排查,是在p
-
Java如何设置PDF文档背景色详解
前言 一般生成的PDF文档默认的文档底色为白色,我们可以通过一定方法来更改文档的背景色,以达到文档美化以及保护双眼的作用. 以下内容提供了Java编程来设置PDF背景色的方法.包括: 设置纯色背景 设置图片背景 使用工具 Spire.PDF for Java 2.0.3 Jar文件引用: 方法一 步骤 1:在Java程序中新建一个文件夹可命名为Lib.下载安装包后,解压,将解压后的文件夹下的子文件夹lib中的Spire.Pdf.jar和Spire.Common.jar两个文件复制到新建的文件夹下
-
itext生成PDF设置页眉页脚的实例详解
itext生成PDF设置页眉页脚的实例详解 实例代码: /** * ITextTest * iText生成PDF加入列表,注释等内容,同时设置页眉和页脚及页码等. */ package com.labci.itext.test; import java.awt.Color; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import com.lo
-
C# 将Excel转为PDF时自定义表格纸张大小的代码思路
通过后端程序将Excel表格转为PDF格式时,直接转换后的PDF效果可能出现表格页面过小或者过大,导致页面内容分布不均.要改善转换后的文档效果,只需在转换前自定义表格纸张大小,即可调整转换后的PDF页面表格布局效果.下面是具体方法和步骤. 引入dll 在Visual Studio中,打开"解决方案资源管理器",鼠标右键点击"引用", 1.通过NuGet安装dll(2种方法) 1.1 可以在Visual Studio中打开"解决方案资源管理器",鼠
-
Android 将本地资源图片转换成Drawable,进行设置大小操作
前言: 因为项目中显示图片是用Picasso,设置placeholder和error图片的时候发现,本地图片的大小无法满足我的需求,需要先对图片大小改变再显示. Picasso的placeholder和error的参数也只有int resId和Drawable drawable 于是打算将改变过大小的Drawable传进入显示,咦,效果很满意! 整个过程的思路: 将本地图片(R.drawable.image)变成Drawable对象 将Drawable对象转换成Bitmap对象 将Bitmap对
-
JAVA复制数组和重置数组大小操作
翻看印象笔记发现自己整理过arraycopy()这样一个方法,码字放到这里: System.arraycopy()是一个静态方法,用来实现重置数组操作 数组复制方法调用和参数列表: System.arraycopy(src, srcPos, dest, destPos, length); src:原数组 srcPos:原数组的开始位置 dest:目标数组 destPos:目的数组的开始位置 length:复制长度 数组复制代码示例: //originalArray 数组全部复制到targetAr
-
java使用compareTo实现一个类的对象之间比较大小操作
首先定义一个对象,注意这个对象必须实现Comparable接口,并重写这个接口的compareTo方法 package cn.demo; public class Student implements Comparable{ private int number=0; //学号 private String name=""; //学生姓名 private String gender=""; //性别 public int getNumber(){ return nu
-
Java设置PDF跨页表格重复显示表头行的步骤详解
目录 前言 1.导入Jar包 2.Java代码 总结 前言 在创建表格时,如果表格内容出现跨页显示的时候,默认情况下该表格的表头不会在下一页显示,在阅读体验上不是很好.下面分享一个方法如何在表格跨页是显示表格的表头内容,这里只需要简单使用方法 grid.setRepeatHeader(true);即可. 具体参考如下方法步骤. 1.导入Jar包 这里导入的是Free Spire.PDF for Java的jar包,Spire.PDF for Java 支持的功能非常丰富,例如 PDF 文档安全性
随机推荐
- VBS教程:函数-Left 函数
- 在ASP.NET2.0中通过Gmail发送邮件的代码
- php提示Warning:mysql_fetch_array() expects的解决方法
- Android自定义实现循环滚轮控件WheelView
- C语言中改变目录的相关操作函数详解
- php 常用类整理
- android AsynTask处理返回数据和AsynTask使用get,post请求
- 在JavaScript中监听IME键盘输入事件
- 最基本的几种CSS文字滤镜效果
- AjaxSubmit()提交file文件
- Powershell小技巧之使用WMI查询插上的U盘
- linux命令行下使用curl命令查看自己机器的外网ip
- jQuery Validate验证框架经典大全
- javascript 常用验证函数总结
- Android开发之关闭和打开Speaker(扬声器)的方法
- 匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来
- yii2实现 "上一篇,下一篇" 功能的代码实例
- 在.NET Core类库中使用EF Core迁移数据库到SQL Server的方法
- 详解用Eclipse如何创建Web项目
- Java实现的求解经典罗马数字和阿拉伯数字相互转换问题示例