使用spire.pdf.free缩小过大的pdf页面
缩小pdf页面
- 目的
- 问题
- build.gradle
- 代码
目的
jpg转的pdf页面太大,其它页面都是a4,所以需要转换。用的spire.pdf.free。
问题
看了下官方例子,不好用,根本没有对原页面进行缩小,只是截取了原页面的一部分。官方例子如下:
//设置新文档第二页的页边距为10PdfMargins margins = new PdfMargins(10);//设置新文档第二页的页面大小为A2PdfPageBase newPage = newDoc.getPages().add(PdfPageSize.A2, margins);//调整画布,设置内容也根据页面的大小进行缩放double wScale = (PdfPageSize.A2.getWidth() - 20) / PdfPageSize.A4.getWidth();double hScale = (PdfPageSize.A2.getHeight() - 20) / PdfPageSize.A4.getHeight();newPage.getCanvas().scaleTransform(wScale, hScale);//复制原文档的内容到新文档newPage.getCanvas().drawTemplate(page.createTemplate(), new Point2D.Float());
后查看api,发现有drawTemplate(PdfTemplate template, java.awt.geom.Point2D location, java.awt.geom.Dimension2D size)
,一切就很简单了。
build.gradle
maven {//allowInsecureProtocol = true //gradle7.0.2要这个url'http://repo.e-iceblue.cn/repository/maven-public/'}
implementation('e-iceblue:spire.pdf.free:3.9.0')
代码
private static void processSingle(File srcPdf,File dest) throws IOException {File destPdf=new File(dest,srcPdf.getName());//创建PdfDocument对象PdfDocument originalDoc = new PdfDocument();//加载PDF文件originalDoc.loadFromFile(srcPdf.getAbsolutePath());//创建一个新的PdfDocument实例PdfDocument newDoc = new PdfDocument();//遍历所有PDF 页面 int totalCount=originalDoc.getPages().getCount();for (int i = 0; i <totalCount; i++) {PdfPageBase page = originalDoc.getPages().get(i);PdfMargins margins = new PdfMargins(0);PdfPageBase newPage = newDoc.getPages().add(PdfPageSize.A4, margins);newPage.getCanvas().drawTemplate(page.createTemplate(), new Point2D.Float(),PdfPageSize.A4);}//保存PDFnewDoc.saveToFile(destPdf.toString()); }
使用spire.pdf.free缩小过大的pdf页面相关推荐
- python统计分析pdf下载_Python金融大数据分析PDF高清文档下载
Python凭借其简单.易读.可扩展性以及拥有巨大而活跃的科学计算社区,在需要分析.处理大量数据的金融行业得到了广泛而迅速的应用,并且成为该行业开发核心应用的shouxuan编程语言.<Pyth ...
- 如何将多个PDF文件合并成一个大的PDF文件
什么是PDF合并 PDF是目前大家在工作学习中用的比较多的一种文档格式,大家有时候需要将多个PDF文件合成一个大的PDF,然而一般的PDF软件只能读不能写,这个时候您需要借助一些工具来实现PDF的合并 ...
- aspx html 转换 pdf,如何将ASPX文件转换为PDF文件?
三.使用都叫兽™PDF转换软件编辑PDF文件 1.都叫兽™PDF转换软件是什么? 都叫兽™PDF转换器,是一款集PDF文件编辑与格式转换为一体的多功能工具类软件.该软件集成先进的OCR(光学字符识别) ...
- cdr文件过大导出pdf打不开_PDF文件过大怎样压缩?这才是压缩PDF最简单的方法
PDF文件过大怎样压缩?不管什么格式的文件,在传输过程中都会受到一些限制,其中出现最多的便是文件大小限制.过大的文件超过限制就无法传输了,这样便需要对文件进行压缩.那么你知道怎么压缩PDF文件吗?今天 ...
- 教你如何简单压缩过大的PDF文件
PDF文件现在广泛应用于各大办公场所,只要有办公的地方就可以看到PDF文件,文件都有大小之分,PDF文件也不例外,遇到过大的文件该怎么呢,小编教你如何简单压缩过大的PDF文件! 操作方法要借助压缩软件 ...
- pdf如何压缩?怎么把pdf大小缩小?
PDF文件太大的话,我们在发送或是存储时就不太方便,这时候就需要对PDF文件压缩,那么如何进行pdf压缩(https://www.yasuotu.com/pdfyasuo)呢?最快速的方法就是使用pd ...
- 【报告分享】中国移动互联网2021年度大报告.pdf(附下载链接)
省时查报告-专业.及时.全面的行研报告库 省时查方案-专业.及时.全面的营销策划方案库 [免费下载]2022年1月份热门报告盘点 [报告分享]2021-2022元宇宙报告.pdf 2022年私域运营机 ...
- 【报告分享】2021中国移动互联网秋季大报告.pdf(附下载链接)
省时查方案-专业.及时.全面的营销策划方案库 省时查报告-专业.及时.全面的行研报告库 大家好,我是文文(微信号:sscbg2020),今天给大家分享QuestMobile于2021年11月发布的&l ...
- 【干货】智能汽车行业“十年十大预测”.pdf(附下载链接)
大家好,我是文文,今天给大家分享天风证券于2021年6月份发布的干货报告<智能汽车行业"十年十大预测".pdf>.关注新能源汽车.自动驾驶.智能汽车的伙伴别错过啦! 另 ...
最新文章
- 高通创投在中国区的投资重点,目前主要聚焦在AI+5G、XR+5G、机器人/自动驾驶+5G、物联网+5G四个方面。
- 服务器开发的一些框架或者工具收集
- c mysql 时间段查询_mySql 时间段查询
- java中怎样创建多个对象,java中StringBuilder.appent方法创建几个对象
- Mac模拟慢速网络 - Network Link Conditioner 安装和使用
- windows2003添加普通用户的远程桌面权限
- 【PMP】组织结构类型
- 使用系统视图发现SQL Server实例信息
- Oracle查看被锁的表和解锁[转]
- 2D开源游戏引擎调研报告(一)
- GitLab服务更换ip后项目地址ip如何修改
- 同个网络的两台计算机怎么设置局域网,两台电脑怎么样连在同一个局域网
- C++ strtok函数详解
- java workflow 教程_建议收藏,从零开始创建一个Activiti工作流,手把手教你完成...
- LeetCode刷题笔记2——数组2
- css只设置背景图片半透明,css3实现背景图片半透明内容不透明的方法示例
- 网络安全防守方应该遵循得建设原则有哪些
- 怎么样使用vbs 恶搞包装让人看不出
- 微服务高性能高可用架构设计
- 果园机器人的课文_《果园机器人》课文原文