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 ...
随机推荐
- PMP过程组与知识领域
过程组知识领域 启动 规划 执行 监控 结尾 整合管理 制定项目章程 制定项目计划 指导与管理项目工作 监控项目工作 结束项目过程或阶段 项目管理知识 实施整体变更控制 范围管理 规划范围管理 确认范 ...
- 使用NTP原理进行时间同步
在一些物联网企业,平台会和嵌入式一起配合进行工作. 有时平台会希望嵌入式这边不使用现成的NTP方案自己去同步时间,而希望以平台下发的时间为准. 此时就有两个方案. 方案1. 平台下发一个时间戳tim ...
- 通过idea创建Maven项目整合Spring+spring mvc+mybatis
创建项目 File→new→project 然后就不断next直到项目面板出来 设置文件夹 注意:这里我个人习惯,在java下还建了ssm文件夹,然后再cont ...
- Java8 函数式接口 @FunctionalInterface以及常用Consumer<T>、Supplier<T>、Function<T, R>、Predicate<T>总结
首先看看什么是Lambda 表达式 Lambda是一个匿名函数,我们可以把Lambda表达式理解为一段可以传递的代码(将代码像数据一样传递):最简单的Lambda表达式可由逗号分隔的参数列表.-> ...
- uni-app + Cloudbase——uni-app 项目中如何使用腾讯云开发后端服务
1 基本介绍 uni-app 是一个基于 Vue.js 的跨端开发框架,一套代码可以发布到 App.小程序.Web 等不同平台 腾讯云开发平台 Cloudbase 提供的 @cloudbase/js- ...
- java 图形化小工具Abstract Window Toolit 常用组件
基本组件 Button: 按钮,可接受单击操作 Canvas: 用于绘图的画布 Checkbox: 复选框组(也可变成单选框组件) CheckboxGroup: 用于将多个checkbox组件组合成一 ...
- java 数据类型String 【正则表达式】匹配
1,什么是正则表达式 正则表达式是用来处理字符串的,其实正则表达式是非常复杂的,专门去系统学习需要花很长的时间,我们课程主要就是把常用的基础的给大家讲解. 正则表达式可以用来干什么: (1),匹配字符 ...
- 淘宝自动抢购, Webdriver浏览器常用的元素定位
https://www.cnblogs.com/diaosicai/p/5909660.html #!/usr/bin/env python ''' 作者:张铭达 功能:淘宝秒杀购物 版本:0.2 日 ...
- Java容器源码学习--ArrayList源码分析
ArrayList实现了List接口,它的底层数据结构是数组,因此获取容器中任意元素值的时间复杂度为O(1),新增或删除元素的时间复杂度为O(N).每一个ArrayList实例都有一个capacity ...
- nim_duilib(18)之xml控件关联优化
方法1 直接调用函数FindControl函数,返回Control*类型,对返回的类型强制转换 ui::CheckBox* pcheckbox = (ui::CheckBox*)(FindContro ...