itextPdf~将PDF页面大小转为A4格式
本文章向大家介绍将PDF页面大小转为A4格式---itextPdf实现,主要包括将PDF页面大小转为A4格式---itextPdf实现使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
将PDF页面大小转为A4格式(itextPdf实现)
1. 引入相关jar包
<!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf --><dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.13.2</version></dependency>
2. 实现代码
package com.fan.study.common.util;import com.itextpdf.text.Document;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.pdf.PdfContentByte;
import com.itextpdf.text.pdf.PdfImportedPage;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfWriter;import java.awt.geom.AffineTransform;
import java.io.FileOutputStream;public class PdfConvertA4Utils {/*** @Param source 源文件* @Param target 转换后文件* @Description 将PDF转为A4格式* @Date: 2021/4/25**/private static void convert(String source, String target) {try {PdfReader pdfReader = new PdfReader(source);Document doc = new Document();PdfWriter writer = PdfWriter.getInstance(doc, new FileOutputStream(target));doc.open();PdfContentByte cb = writer.getDirectContent();for(int i = 1; i <= pdfReader.getNumberOfPages(); i++){PdfImportedPage page = writer.getImportedPage(pdfReader, i);float width = page.getWidth();float height = page.getHeight();if(height > width) {//横向doc.setPageSize(PageSize.A4);doc.newPage();//计算比例float widthScale = getWidthScale(width);float heightScale = getHeightScale(height);//addTemplate方法中有6个float类型的参数,是通过二维图像仿射变换得到的//cb.addTemplate(page, new AffineTransform(widthScale, 0, 0, heightScale,0,0));//二维图像仿射变换:https://www.cnblogs.com/v2m_/archive/2013/05/09/3070187.htmlcb.addTemplate(page, widthScale, 0, 0, heightScale,0,0);} else {//纵向doc.setPageSize(new com.itextpdf.text.Rectangle(PageSize.A4.getHeight(), PageSize.A4.getWidth()));doc.newPage();float widthScale = getWidthScale(height);float heightScale = getHeightScale(width);cb.addTemplate(page, widthScale, 0, 0, heightScale,0,0);}}doc.close();} catch (Exception ex) {ex.printStackTrace();}}private static float getWidthScale(float width) {float scale = PageSize.A4.getWidth() / width;return scale;}private static float getHeightScale(float height) {float scale = PageSize.A4.getHeight() / height;return scale;}
}
itextPdf~将PDF页面大小转为A4格式相关推荐
- PDF页面大小不一致的解决办法
经常遇到一个PDF文件,页面大小不一致.看起来很恼火.下面给大家介绍两种解决办法: 方法一: 1.在PDF文件的页面中找到打印,点开打印的对话框.如下图: 首先选择打印机名称:Adobe PDF 打印 ...
- PDF页面大小不一致怎么办?
在PDF格式转换的过程中遇到各种问题,比如转换出现乱码.转出来的文件是图片无法编辑.转换时提示文件权限不足等等,今天我就来和大家介绍pdf文档页面大小不一致常用两种种解决方. 第一种方法:通过文档-裁 ...
- C# iText 7 切分PDF,处理PDF页面大小
一.itext 我要使用itext做一个pdf的页面大小一致性处理,然后再根据数据切分出需要的pdf. iText的官网有关于它的介绍,The Leading PDF Library for Deve ...
- 在Adobe Acrobat Pro调整PDF页面大小(使得页面一样大)
请不要使用"印刷制作"--"设置页边框"这个方法,因为很有可能会出现特定页面比例不能修改的情况,而且好像只能改大, 不能改小,总之不是一个好方法 1.点击&qu ...
- 怎样修改PDF文档,PDF页面大小怎么设置
在很多的时候,我们都会使用到PDF文件,对于PDF文件,不熟悉的小伙伴,还是会头疼的,而熟悉的小伙伴会知道,修改编辑PDF文件,是需要使用到PDF编辑器的,在编辑文件的时候,文件过大需要进行裁剪应该怎 ...
- Java更改 PDF 页面大小
在日常工作中,我们可能经常面临更改 PDF 页面大小的情况. 例如,一个包含不同大小页面的合并 PDF 文件,我们需要将页面大小调整为相同大小以便于阅读和打印. 在本文中,将详细为您介绍在 Java ...
- python 生成pdf页面大小_(Python)更改使用xtopd生成的PDF文件的页面大小和格式
我想用Python转换xlsx.我使用tablib和xtopdf模块构建了一个结构良好的表.工作出色!不幸的是,内容不适合一个pdf页面.所以我想把页面大小和格式改成水平A3.但我不知道这怎么可能.我 ...
- PDF页面大小不一样,怎样调整一致?
PDF尺寸如何修改?PDF是Abode公司旗下开发用于跨平台支持多媒体集成信息的出版和发布,尤其是提供对网络信息发布支持的文档格式。使用PDF文档时,可能会遇到文档的纸张大小不一致,总体效果肯定很差, ...
- 编辑器的合并用不了_为什么图片和PDF合并后的PDF页面大小不一
很多时候我们需要将图片和PDF文件合并后变成一个PDF文件,但经常会出现合并后的新PDF文件页面大小不一,这是怎么回事呢?要怎么处理呢? 可能有些小伙伴还不知道如何将图片和PDF进行合并,先简单说一下 ...
最新文章
- 用C#来开发CAD插件,含源代
- 【数据挖掘】神经网络 后向传播算法( 向后传播误差 | 输出层误差公式 | 隐藏层误差公式 | 单元连接权值更新公式 | 单元偏置更新公式 | 反向传播 | 损失函数 | 误差平方和 | 交叉熵 )
- Linux系统设置定时任务 1
- userscript.user.js 文件头
- 计算机协会知识讲座,计算机协会第一期电脑维修讲座顺利开展
- spring原理学习
- Android 开发中常见的Eclipse排版设置
- 转:孩子,上学去!乖
- 【转】支持向量机回归模型SVR
- 企业云网络安全解决方案的10条评估标准
- 使用“#define _GNU_SOURCE” 是什么意思?
- html网页背景图片 菜鸟教程,CSS3 背景
- 打开或关闭 Windows 功能
- Android 短视频 SDK 转场特效的音视频同步分析
- WiFi穿墙手册:解读天线、dbi、发射功率和无线信号的关系
- 谷歌浏览器最小化后打开黑屏
- jSignature 插件实现手写电子签名
- 3d打印机喷头出现堵丝问题
- 备忘1:爬取热门微博评论
- 开学季准备什么蓝牙耳机好?五款性价比高的蓝牙耳机品牌推荐