概述

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. umich cv-2-2

    UMICH CV Linear Classifiers 在上一篇博文中,我们讨论了利用损失函数来判断一个权重矩阵的好坏,在这节中我们将讨论如何去找到最优的权重矩阵 想象我们要下到一个峡谷的底部,我们自 ...

  2. 14. 从零开始编写一个wmproxy(代理,内网穿透等), HTTP文件服务器的实现过程及参数

    用Rust手把手编写一个wmproxy(代理,内网穿透等), HTTP中的压缩gzip,deflate,brotli算法 项目 ++wmproxy++ gite: https://gitee.com/ ...

  3. DeepSpeed: 大模型训练框架

    背景: 目前,大模型的发展已经非常火热,关于大模型的训练.微调也是各个公司重点关注方向.但是大模型训练的痛点是模型参数过大,动辄上百亿,如果单靠单个GPU来完成训练基本不可能.所以需要多卡或者分布式训 ...

  4. Nodejs环境打包前端项目

    Node.js 在Linux下安装和环境搭建/编译项目 安装nodejs:1.下载nodejs源码包 wget https://nodejs.org/dist/v14.16.0/node-v14.16 ...

  5. 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 ...

  6. 在 Ubuntu 22.04 系统上为 SSH 开启基于时间的 TOTP 认证

    前言 一次性密码(英语:one-time password,简称OTP),又称动态密码或单次有效密码,是指电脑系统或其他数字设备上只能使用一次的密码,有效期为只有一次登录会话或一段短时间内.基于时间的 ...

  7. nmap命令说明

    目录 主机发现 扫描技术 端口规格和扫描顺序 服务/版本检测 脚本扫描 操作系统检测 时间和性能: 防火墙/IDS的逃避和欺骗 输出 杂项 平时看到别人的nmap命令都是一大串,根本看不懂为什么,自己 ...

  8. Numpy理解

    目录 什么是numpy numpy的安装 numpy数组 定义numpy数组 numpy数组的相关功能 基本操作 0数组和1数组 随机数组 二维数组 numpy的数组操作 我们再平常学习python和 ...

  9. 匿名远程启动jenkins的job

    安装jenkins插件Build Authorization Token Root job配置中的构建触发器,勾选触发远程构建,输入要用的令牌,如soul 通过jenkins地址调用触发 非参数化jo ...

  10. CentOS6-详细启动流程

    CentOS6的启动流程 第一步:硬件启动阶段 本步的流程: 1. 打开电源: 2. POST自检: 3. BIOS逐一排查设备启动顺序,如果是硬盘启动,读取硬盘的MBR的BootLoader.(这里 ...