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等格式.在保存与导出 ...
随机推荐
- 安装 mysql-community-server报错
错误1. 报错: 所有的匹配结果均已经被参数的模块化过滤条件筛除: mysql-community-server 错误:没有任何匹配: mysql-community-server 解决办法: yum ...
- Skywalking APM监控系列(一丶.NET5.0+接入Skywalking监听)
前言 新项目采用的abp vnext的微服务模块化架构,所以把应用的服务拆成了很多独立模块 在初期,我们通过日志还能跟踪到问题, 后期服务越来越多(大约扩充到了十几个),随着调用链路越来越深 ,问题也 ...
- JDK、JRE、JVM三者介绍
概念 JDK: Java Development Kit,java开发者工具. JRE: Java Runtime Enviroment,java运行时环境. JVM: Java Virtual Ma ...
- Maximum Diameter 题解
Maximum Diameter 题目大意 定义长度为 \(n\) 的序列 \(a\) 的权值为: 所有的 \(n\) 个点的第 \(i\) 个点的度数为 \(a_i\) 的树的直径最大值,如果不存在 ...
- tunm二进制协议在python上的实现
tunm二进制协议在python上的实现 tunm是一种对标JSON的二进制协议, 支持JSON的所有类型的动态组合 支持的数据类型 基本支持的类型 "u8", "i8& ...
- python环境配置常用命令
#安装前请更新 sudo apt-get update python -m pip install --upgrade pip #升级PIP版本 sudo apt-get install python ...
- t分布及t分布表
http://baike.baidu.com/view/1419652.htm 下表列出了自由度为1-30以及80.100.120等t-分布的单侧和双侧区间值.例如,当样本数量n=5时,则自由度v ...
- Mac 终端命令查看WiFi连接日志【原创】
写这篇文章的原因是因为经常通过钉钉打上班卡忘记打卡了,我们标准上班时间是上午8:00-10:00 ,对应下班时间是 17:00-19:00 ,有时8:30到公司,就开始忙碌了,作为程序员有时后一忙就 ...
- 0x06.HelloPHP
PHP基础 格式 最后一句可以不加分号 <?php echo "hello" ?> 可以不加结束标签,但是最后一句要加分号 <?php echo "he ...
- 使用 anasible 搭建一个多 master 多 worker 的 k8s 集群
使用 ansible 搭建一个多 master 多 worker 的 k8s 集群 kubernetes + istio 是目前最强大,也是最易于使用的服务网格方案.要使用kubernetes + i ...