Java 将PDF转为PDF/A
通过将PDF格式转换为PDF/A格式,可保护文档布局、格式、字体、大小等不受更改,从而实现文档安全保护的目的,同时又能保证文档可读、可访问。本篇文章,将通过Java后端程序代码展示如何将PDF转为符合PDF/A1A, 2A, 3A, 1B, 2B和3B标准的PDF。以下是具体方法及步骤。
Jar包导入
本次程序中导入的是Spire.Pdf.jar。可在Maven程序中配置pom.xml如下内容来实现下载导入:
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.pdf</artifactId>
<version>5.1.0</version>
</dependency>
</dependencies>
或者,可将 Jar 下载到本地,解压,找到lib文件夹下的jar文件;然后在Java程序中执行如下操作手动导入:



将PDF转为PDF/A
Spire.PDF for Java中的PdfStandardsConverter类下面枚举了可将PDF转为本地PDF/A文件和流文件的多种方法,如下表:
|
方法 |
解释 |
|
PdfStandardsConverter.toPdfA1A(String filePath) |
保存为PDF/A1A到指定路径 |
|
PdfStandardsConverter.toPdfA1A(OutputStream stream) |
保存为PDF/A1A到流 |
|
PdfStandardsConverter.toPdfA1B (String filePath) |
保存为PDF/A1B到指定路径 |
|
PdfStandardsConverter.toPdfA1B(OutputStream stream) |
保存为PDF/A1B到流 |
|
PdfStandardsConverter.toPdfA2A(String filePath) |
保存为PDF/A2A到指定路径 |
|
PdfStandardsConverter.toPdfA2A(OutputStream stream) |
保存为PDF/A2A到流 |
|
PdfStandardsConverter.toPdfA2B(String filePath) |
保存为PDF/A2B到指定路径 |
|
PdfStandardsConverter.toPdfA2B(OutputStream stream) |
保存为PDF/A2B到流 |
|
PdfStandardsConverter.toPdfA3A(String filePath) |
保存为PDF/A3A到指定路径 |
|
PdfStandardsConverter.toPdfA3A(OutputStream stream) |
保存为PDF/A3A到流 |
|
PdfStandardsConverter.toPdfA3B(String filePath) |
保存为PDF/A3B到指定路径 |
|
PdfStandardsConverter.toPdfA3B(OutputStream stream) |
保存为PDF/A3B到流 |
实现格式转换时,只需要两行代码即可完成转换,得到目标PDF/A格式。以下是实现转换的代码示例步骤:
- 实例化PdfStandardsConverter类的对象,并加载PDF源文档。
- 通过调用上述表格中的指定方法将PDF转为指定标准格式的PDF/A,并保存。
Java
import com.spire.pdf.conversion.PdfStandardsConverter;
public class PDFtoPDFA {
public static void main(String[]args){
//创建PdfStandardsConverter类的对象,传入文档路径
PdfStandardsConverter converter = new PdfStandardsConverter("sample.pdf");
//转换为PdfA1A
converter.toPdfA1A("ToPdfA1A.pdf");
//转换为PdfA1B
converter.toPdfA1B("ToPdfA1B.pdf");
//转换为PdfA2A
converter.toPdfA2A("ToPdfA2A.pdf");
//转换为PdfA2B
converter.toPdfA2B( "ToPdfA2B.pdf");
//转换为PdfA3A
converter.toPdfA3A( "ToPdfA3A.pdf");
//转换为PdfA3B
converter.toPdfA3B( "ToPdfA3B.pdf");
}
}
PDF/A格式转换效果,如图:

—End—
Java 将PDF转为PDF/A的更多相关文章
- C#/VB.NET 将PDF转为PDF/X-1a:2001
PDF/X-1a是一种PDF文件规范标准,在制作.使用PDF以及印刷时所需要遵循的技术条件,属于PDF/X-1标准下的一个子标准. PDF/X-1标准有由CGATS于1999年制定的PDF/X-1:1 ...
- Java 将Word转为PDF、PNG、SVG、RTF、XPS、TXT、XML
同一文档在不同的编译或阅读环境中,需要使用特定的文档格式来打开,通常需要通过转换文档格式的方式来实现.下面将介绍在Java程序中如何来转换Word文档为其他几种常见文档格式,如PDF.图片png.sv ...
- Java 将Excel转为PDF
本文将介绍在Java程序中如何将Excel工作簿转为PDF文档的,包括: 将整个工作簿转为PDF 将指定工作表转为PDF 使用工具:Free Spire.XLS for Java (免费版) Ja ...
- Java 将Html转为PDF(二)
前面介绍了如何通过插件的方式将Html文件转为PDF,该方法需要使用Spire.PDF for Java 3.6.6或者之后的新版本,可根据自己的系统选择不同插件来实现转换.本文提供另外一种转换方法, ...
- Java 将XML转为PDF
可扩展标记语言(XML)文件是一种标准的文本文件,它使用特定的标记来描述文档的结构以及其他特性.通过将XML转换为PDF,能够便于文件传输及共享.本文,将介绍通过Java代码来实现该格式转换的方法. ...
- Java 将word转为pdf jacob方式
package com.doctopdf; import java.io.File; import com.jacob.activeX.ActiveXComponent; import com.jac ...
- java 将word转为PDF (100%与word软件转换一样)
jdk环境:jdk_8.0.1310.11_64 (64位) 1.引入pom文件 <!-- word转pdf(依赖windows本地的wps) --> <dependency& ...
- Java 将Html转为PDF
本文介绍如何在Java程序中将html文件转换成PDF文件.转换时,需要注意以下两点: 一.需要使用转换插件 可根据不同的系统来下载对应的插件,下载地址:windows-x86.zip, window ...
- Java 将PDF 转为Word、图片、SVG、XPS、Html、PDF/A
本文将介绍通过Java编程来实现PDF文档转换的方法.包括: 1. PDF转为Word 2. PDF转为图片 3. PDF转为Html 4. PDF转为SVG 4.1 将PDF每一页转为单个的SVG ...
随机推荐
- Python sys模块 os模块、OS.open() | open() | OS._exit() | sys.exit() | exit()
sys模块:负责程序和Python交互. sys常用方法:=========================== sys.stdout.write('please:')val = sys.stdin ...
- SpringCloud微服务实战——搭建企业级开发框架(三十五):SpringCloud + Docker + k8s实现微服务集群打包部署-集群环境部署
一.集群环境规划配置 生产环境不要使用一主多从,要使用多主多从.这里使用三台主机进行测试一台Master(172.16.20.111),两台Node(172.16.20.112和172.16.20.1 ...
- Chrome的强大搜索功能
前言 前几天一个好朋友求助我,大概问题是他的电脑QQ啥都能上网,就浏览器上不了网不是IE而是chrome,我第一反应可能是dns问题.后来发甩过来一张图,好家伙把我吓得,类似于下面这张图 这图是我自己 ...
- [源码解析] PyTorch 分布式之弹性训练(2)---启动&单节点流程
[源码解析] PyTorch 分布式之弹性训练(2)---启动&单节点流程 目录 [源码解析] PyTorch 分布式之弹性训练(2)---启动&单节点流程 0x00 摘要 0x01 ...
- centos下修改hosts文件以及生效命令
修改 vim /etc/hosts 生效 service network restart 或者 /etc/init.d/network restart
- JAVAWEB项目处理XSS漏洞攻击处理方案
对页面传入的参数值进行过滤,过滤方法如下 public static String xssEncode(String s) { if (s == null || s.equals("&quo ...
- JAVA验证手机号码是否正确
PhoneUtils.java package com.common.util; import java.util.regex.Matcher; import java.util.regex.Patt ...
- 【LeetCode】186. Reverse Words in a String II 解题报告 (C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 每个单词单独翻转+总的翻转 日期 题目地址:https ...
- 【LeetCode】217. Contains Duplicate 解题报告(Java & Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 字典统计词频 使用set 排序 日期 [LeetCo ...
- 【LeetCode】468. Validate IP Address 解题报告(Python)
[LeetCode]468. Validate IP Address 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博客: h ...