概述

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包。最终效果如下图所示:

代码演示

【示例1PDFExcel

 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 }

转换前后对比:

【示例2SVGPDF

 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的更多相关文章

  1. ABBYY FineReader 15新增智能PDF文档转换功能

    ABBYY FineReader 15(Windows系统)新增智能PDF文档转换功能,可自动检测导入PDF数字文档的文本层质量,确保转变为可编辑格式后的准确结果:从表单字段和文本框中提取文本,准确保 ...

  2. java将office文档pdf文档转换成swf文件在线预览

    第一步,安装openoffice.org openoffice.org是一套sun的开源office办公套件,能在widows,linux,solaris等操作系统上执行. 主要模块有writer(文 ...

  3. 在线文档转换API word,excel,ppt等在线文件转pdf、png

    在线文档转换API提供word,excel,ppt等在线文件转pdf.png等,文档:https://www.juhe.cn/docs/api/id/259 接口地址:http://v.juhe.cn ...

  4. PDF文档转换为图片、图片转成PDF 及PDF合并

    简介 功能:PDF文档按每页转换成一张图片,一张图片转换成一张PDF 并将多张PDF合成一个多页的PDF文档. 经历:在各个网站上搜索始终出现各种问题,尤其是遇到引用的版本问题尤其头疼,不是不能适用当 ...

  5. 如何用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加载到 ...

  6. Java实现web在线预览office文档与pdf文档实例

    https://yq.aliyun.com/ziliao/1768?spm=5176.8246799.blogcont.24.1PxYoX 摘要: 本文讲的是Java实现web在线预览office文档 ...

  7. Java 合并、拆分PDF文档

    处理PDF文档时,我们可以通过合并的方式,来任意组几个不同的PDF文件或者通过拆分将一个文件分解成多个子文件,这样的好处是对文档的存储.管理很方便.下面将通过Java程序代码介绍具体的PDF合并.拆分 ...

  8. java读取pdf文档

    import java.io.*;import org.pdfbox.pdmodel.PDDocument;import org.pdfbox.pdfparser.PDFParser;import o ...

  9. 如何通过Java应用程序压缩PDF文档

    PDF文档是我们日常办公中使用最频繁的文档格式.但因为大多数PDF文档都包含很多页面图像或大量图片,这就导致PDF文档过大,处理起来较为麻烦.PDF文件过大,就会导致传输或者下载的速度变慢,也会增加传 ...

  10. ABBYY FineReader 15 中保存和导出PDF文档的小细节

    运用ABBYY FineReader OCR文字识别软件,用户能将各种格式的PDF文档保存为新的PDF文档.PDF/A格式文档,以及Microsoft Word.Excel.PPT等格式.在保存与导出 ...

随机推荐

  1. 安装 mysql-community-server报错

    错误1. 报错: 所有的匹配结果均已经被参数的模块化过滤条件筛除: mysql-community-server 错误:没有任何匹配: mysql-community-server 解决办法: yum ...

  2. Skywalking APM监控系列(一丶.NET5.0+接入Skywalking监听)

    前言 新项目采用的abp vnext的微服务模块化架构,所以把应用的服务拆成了很多独立模块 在初期,我们通过日志还能跟踪到问题, 后期服务越来越多(大约扩充到了十几个),随着调用链路越来越深 ,问题也 ...

  3. JDK、JRE、JVM三者介绍

    概念 JDK: Java Development Kit,java开发者工具. JRE: Java Runtime Enviroment,java运行时环境. JVM: Java Virtual Ma ...

  4. Maximum Diameter 题解

    Maximum Diameter 题目大意 定义长度为 \(n\) 的序列 \(a\) 的权值为: 所有的 \(n\) 个点的第 \(i\) 个点的度数为 \(a_i\) 的树的直径最大值,如果不存在 ...

  5. tunm二进制协议在python上的实现

    tunm二进制协议在python上的实现 tunm是一种对标JSON的二进制协议, 支持JSON的所有类型的动态组合 支持的数据类型 基本支持的类型 "u8", "i8& ...

  6. python环境配置常用命令

    #安装前请更新 sudo apt-get update python -m pip install --upgrade pip #升级PIP版本 sudo apt-get install python ...

  7. t分布及t分布表

    http://baike.baidu.com/view/1419652.htm   下表列出了自由度为1-30以及80.100.120等t-分布的单侧和双侧区间值.例如,当样本数量n=5时,则自由度v ...

  8. Mac 终端命令查看WiFi连接日志【原创】

    写这篇文章的原因是因为经常通过钉钉打上班卡忘记打卡了,我们标准上班时间是上午8:00-10:00 ,对应下班时间是 17:00-19:00  ,有时8:30到公司,就开始忙碌了,作为程序员有时后一忙就 ...

  9. 0x06.HelloPHP

    PHP基础 格式 最后一句可以不加分号 <?php echo "hello" ?> 可以不加结束标签,但是最后一句要加分号 <?php echo "he ...

  10. 使用 anasible 搭建一个多 master 多 worker 的 k8s 集群

    使用 ansible 搭建一个多 master 多 worker 的 k8s 集群 kubernetes + istio 是目前最强大,也是最易于使用的服务网格方案.要使用kubernetes + i ...