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等格式.在保存与导出 ...
随机推荐
- umich cv-2-2
UMICH CV Linear Classifiers 在上一篇博文中,我们讨论了利用损失函数来判断一个权重矩阵的好坏,在这节中我们将讨论如何去找到最优的权重矩阵 想象我们要下到一个峡谷的底部,我们自 ...
- 14. 从零开始编写一个wmproxy(代理,内网穿透等), HTTP文件服务器的实现过程及参数
用Rust手把手编写一个wmproxy(代理,内网穿透等), HTTP中的压缩gzip,deflate,brotli算法 项目 ++wmproxy++ gite: https://gitee.com/ ...
- DeepSpeed: 大模型训练框架
背景: 目前,大模型的发展已经非常火热,关于大模型的训练.微调也是各个公司重点关注方向.但是大模型训练的痛点是模型参数过大,动辄上百亿,如果单靠单个GPU来完成训练基本不可能.所以需要多卡或者分布式训 ...
- Nodejs环境打包前端项目
Node.js 在Linux下安装和环境搭建/编译项目 安装nodejs:1.下载nodejs源码包 wget https://nodejs.org/dist/v14.16.0/node-v14.16 ...
- hci0 command 0xfc20 tx timeout(Realtek 8761B Chipset, Bluetooth 5.0)
当前使用的Linux内核版本: 4.4.189 插上USB Bluetooth 5.0 Adapter后,dmesg显示如下log: [ 240.348480] usb 3-1.2: new full ...
- 在 Ubuntu 22.04 系统上为 SSH 开启基于时间的 TOTP 认证
前言 一次性密码(英语:one-time password,简称OTP),又称动态密码或单次有效密码,是指电脑系统或其他数字设备上只能使用一次的密码,有效期为只有一次登录会话或一段短时间内.基于时间的 ...
- nmap命令说明
目录 主机发现 扫描技术 端口规格和扫描顺序 服务/版本检测 脚本扫描 操作系统检测 时间和性能: 防火墙/IDS的逃避和欺骗 输出 杂项 平时看到别人的nmap命令都是一大串,根本看不懂为什么,自己 ...
- Numpy理解
目录 什么是numpy numpy的安装 numpy数组 定义numpy数组 numpy数组的相关功能 基本操作 0数组和1数组 随机数组 二维数组 numpy的数组操作 我们再平常学习python和 ...
- 匿名远程启动jenkins的job
安装jenkins插件Build Authorization Token Root job配置中的构建触发器,勾选触发远程构建,输入要用的令牌,如soul 通过jenkins地址调用触发 非参数化jo ...
- CentOS6-详细启动流程
CentOS6的启动流程 第一步:硬件启动阶段 本步的流程: 1. 打开电源: 2. POST自检: 3. BIOS逐一排查设备启动顺序,如果是硬盘启动,读取硬盘的MBR的BootLoader.(这里 ...