Java PDF文档转换 — PDF转Excel、SVG转PDF
概述
Spire.PDF for Java支持将PDF文档高质量地转换为XPS、图片、SVG、Word、HTML和PDF/A格式,以及支持将XPS、HTML文档转换为PDF格式。本文将通过代码演示来介绍新版本所具备的转换功能,即如何实现PDF转Excel、SVG转PDF及添加SVG图片到PDF文档中。
测试环境
- Intellij Idea2019.1
- JDK 1.8.0
- Spire.Pdf.jar
Jar包获取及导入
方法一:通过官网下载Spire.PDF for Java产品包,解压后将lib文件夹下的Spire.Pdf.jar手动导入IDEA中。
方法二(推荐使用):通过Maven仓库安装导入产品及相关依赖。创建Maven项目,在pom.xml文件中配置路径及指定Spire.PDF for Java的Maven依赖。
1 <repositories>
2 <repository>
3 <id>com.e-iceblue</id>
4 <url>http://repo.e-iceblue.cn/repository/maven-public/</url>
5 </repository>
6 </repositories>
7 <dependencies>
8 <dependency>
9 <groupId> e-iceblue </groupId>
10 <artifactId>spire.pdf</artifactId>
11 <version>3.9.6</version>
12 </dependency>
13 </dependencies>
配置完成后,只需点击“Import Changes”即可导入JAR包。最终效果如下图所示:

代码演示
【示例1】PDF转Excel
1 import com.spire.pdf.FileFormat;
2 import com.spire.pdf.PdfDocument;
3
4 public class ToExcel {
5 public static void main(String[] args) {
6 //加载示例PDF文档
7 PdfDocument pdf = new PdfDocument();
8 pdf.loadFromFile("C:\\Users\\Test1\\Desktop\\Test.pdf");
9 //保存为Excel文档
10 pdf.saveToFile("output/ToExcel.xlsx", FileFormat.XLSX);
11 }
12 }
转换前后对比:

【示例2】SVG转PDF
1 import com.spire.pdf.FileFormat;
2 import com.spire.pdf.PdfDocument;
3
4 public class SVGToPDF {
5 public static void main(String[] args) {
6 //加载示例SVG图片
7 PdfDocument doc = new PdfDocument();
8 doc.loadFromSvg("C:\\Users\\Test1\\Desktop\\logo.svg");
9 //保存为PDF文档
10 doc.saveToFile("output/ToPDF.pdf", FileFormat.PDF);
11 }
12 }
转换前后对比:

【示例3】添加SVG图片到PDF
在将已有的SVG图片添加到PDF文档时,可设置图片的位置和大小。
1 import com.spire.pdf.FileFormat;
2 import com.spire.pdf.PdfDocument;
3 import java.awt.*;
4 import java.awt.geom.Point2D;
5
6 public class AddSVGImagetoPDF {
7 public static void main(String[] args) {
8 //加载示例SVG图片
9 PdfDocument doc1 = new PdfDocument();
10 doc1.loadFromSvg("C:\\Users\\Test1\\Desktop\\logo.svg");
11 //加载示例PDF文档
12 PdfDocument doc2 = new PdfDocument();
13 doc2.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.pdf");
14 //设置图片在文档中的位置和大小
15 doc2.getPages().get(0).getCanvas().drawTemplate(doc1.getPages().get(0).createTemplate(),
16 new Point2D.Float(100,150), new Dimension(200,200) );
17 //保存PDF文档
18 doc2.saveToFile("output/AddSVGImagetoPDF.pdf", FileFormat.PDF);
19 doc1.close();
20 doc2.close();
21 }
22 }
添加效果:

总结
通过运行以上代码,Spire.PDF for Java能够高质量地将PDF转换为Excel,SVG转换为PDF以及添加SVG图片到PDF文档中。若对代码或Jar包导入有疑问,可评论或私信。
Java PDF文档转换 — PDF转Excel、SVG转PDF的更多相关文章
- ABBYY FineReader 15新增智能PDF文档转换功能
ABBYY FineReader 15(Windows系统)新增智能PDF文档转换功能,可自动检测导入PDF数字文档的文本层质量,确保转变为可编辑格式后的准确结果:从表单字段和文本框中提取文本,准确保 ...
- java将office文档pdf文档转换成swf文件在线预览
第一步,安装openoffice.org openoffice.org是一套sun的开源office办公套件,能在widows,linux,solaris等操作系统上执行. 主要模块有writer(文 ...
- 在线文档转换API word,excel,ppt等在线文件转pdf、png
在线文档转换API提供word,excel,ppt等在线文件转pdf.png等,文档:https://www.juhe.cn/docs/api/id/259 接口地址:http://v.juhe.cn ...
- PDF文档转换为图片、图片转成PDF 及PDF合并
简介 功能:PDF文档按每页转换成一张图片,一张图片转换成一张PDF 并将多张PDF合成一个多页的PDF文档. 经历:在各个网站上搜索始终出现各种问题,尤其是遇到引用的版本问题尤其头疼,不是不能适用当 ...
- 如何用pdfbox-app-1.8.10.jar批处理将pdf文档转换成text文档
1.首先下载pdfbox-app-1.8.10.jar(下载地址:http://pdfbox.apache.org/download.html) 2.将pdfbox-app-1.8.10.jar加载到 ...
- Java实现web在线预览office文档与pdf文档实例
https://yq.aliyun.com/ziliao/1768?spm=5176.8246799.blogcont.24.1PxYoX 摘要: 本文讲的是Java实现web在线预览office文档 ...
- Java 合并、拆分PDF文档
处理PDF文档时,我们可以通过合并的方式,来任意组几个不同的PDF文件或者通过拆分将一个文件分解成多个子文件,这样的好处是对文档的存储.管理很方便.下面将通过Java程序代码介绍具体的PDF合并.拆分 ...
- java读取pdf文档
import java.io.*;import org.pdfbox.pdmodel.PDDocument;import org.pdfbox.pdfparser.PDFParser;import o ...
- 如何通过Java应用程序压缩PDF文档
PDF文档是我们日常办公中使用最频繁的文档格式.但因为大多数PDF文档都包含很多页面图像或大量图片,这就导致PDF文档过大,处理起来较为麻烦.PDF文件过大,就会导致传输或者下载的速度变慢,也会增加传 ...
- ABBYY FineReader 15 中保存和导出PDF文档的小细节
运用ABBYY FineReader OCR文字识别软件,用户能将各种格式的PDF文档保存为新的PDF文档.PDF/A格式文档,以及Microsoft Word.Excel.PPT等格式.在保存与导出 ...
随机推荐
- 利用ChatGPT提升测试工作效率——测试工程师的新利器(一)
1.前言 随着ChatGPT的爆火,各个行业开始尝试利用ChatGPT来提升工作效率.其中,测试工程师们也开始探索如何应用ChatGPT来加强测试工作.在本文中,我们将从测试工程师的角度出发,探讨Ch ...
- JDK 动态代理原理
代理模式 客户端不直接访问目标对象,需要通过第三者来实现间接访问对象 代理对象在客户端和目标对象之间起中介作用,能够屏蔽目标对象不想让客户端知道的内容,或增加额外的服务 动态代理 JDK 动态代理:基 ...
- 虚拟机和Linux操作系统的安装
虚拟机和Linux操作系统的安装 简述 linux是完全免费的 只要你足够强大,可以对linux系统的源码进行编译 市场上的版本:发行版 Ubantu 红帽 每两年发布一个版本 下面我们开始进行安装 ...
- 运行 Python 脚本/代码的几种方式
哈喽大家好,我是咸鱼 我们知道,python 脚本或者说 python 程序其实是一个包含了 python 代码的文件.要让它们实现特定功能,我们需要知道该如何运行(run)它 通过运行 python ...
- Centos7安装msf
文章来自:https://blog.csdn.net/weixin_44268918/article/details/129771330 1. 前言在日常使用中,模拟攻击以及测试的时候都是直接使用本地 ...
- vue3.0父级组件调用子组件方法
vue3.0父级组件调用子组件方法 场景:在页面开发过程中,我经常涉及到不同组件之间的元素和方法的调用.就此记录在vue3.0项目,也是我开发的开源项目中的实现方式. 父级组件调用子级 1.应用场景 ...
- Halcon、HDevelop快速入门
HDevelop基础一 HDevelop概述 HDevelop是一款机器视觉的集成开发环境.下面将对HDevelop的界面内容做一下简单的介绍. 界面介绍 打开HDevelop,将看到以下画面. ...
- 聊聊Flink必知必会(五)
聊聊Flink的必知必会(三) 聊聊Flink必知必会(四) 从源码中,根据关键的代码,梳理一下Flink中的时间与窗口实现逻辑. WindowedStream 对数据流执行keyBy()操作后,再调 ...
- SQL INSERT INTO 语句详解:插入新记录、多行插入和自增字段
SQL INSERT INTO 语句用于在表中插入新记录. INSERT INTO 语法 可以以两种方式编写INSERT INTO语句: 指定要插入的列名和值: INSERT INTO 表名 (列1, ...
- JS toFixed()方法精度丢失解决方法
JS toFixed()方法精度丢失 toFixed()方法可把Number四舍五入为指定小数位数的数字.但这个方法并不完全遵从四舍五入的规则,如 2.485.toFixed(2) //=>2. ...