Java 将PDF转为PDF/A

时间:2021-08-18 08:56:57

通过将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程序中执行如下操作手动导入:

Java 将PDF转为PDF/A

Java 将PDF转为PDF/A

Java 将PDF转为PDF/A

将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格式转换效果,如图:

Java 将PDF转为PDF/A

—End—

Java 将PDF转为PDF/A的更多相关文章

  1. Java 将Word转为PDF、PNG、SVG、RTF、XPS、TXT、XML

    同一文档在不同的编译或阅读环境中,需要使用特定的文档格式来打开,通常需要通过转换文档格式的方式来实现.下面将介绍在Java程序中如何来转换Word文档为其他几种常见文档格式,如PDF.图片png.sv ...

  2. Java 将Excel转为PDF

    本文将介绍在Java程序中如何将Excel工作簿转为PDF文档的,包括: 将整个工作簿转为PDF 将指定工作表转为PDF   使用工具:Free Spire.XLS for Java (免费版) Ja ...

  3. Java 将Html转为PDF(二)

    前面介绍了如何通过插件的方式将Html文件转为PDF,该方法需要使用Spire.PDF for Java 3.6.6或者之后的新版本,可根据自己的系统选择不同插件来实现转换.本文提供另外一种转换方法, ...

  4. Java 将word转为pdf jacob方式

    package com.doctopdf; import java.io.File; import com.jacob.activeX.ActiveXComponent; import com.jac ...

  5. java 将word转为PDF &lpar;100&percnt;与word软件转换一样&rpar;

    jdk环境:jdk_8.0.1310.11_64    (64位) 1.引入pom文件 <!-- word转pdf(依赖windows本地的wps) --> <dependency& ...

  6. Java 将Html转为PDF

    本文介绍如何在Java程序中将html文件转换成PDF文件.转换时,需要注意以下两点: 一.需要使用转换插件 可根据不同的系统来下载对应的插件,下载地址:windows-x86.zip, window ...

  7. Java 将PDF 转为Word、图片、SVG、XPS、Html、PDF&sol;A

    本文将介绍通过Java编程来实现PDF文档转换的方法.包括: 1. PDF转为Word 2. PDF转为图片 3. PDF转为Html 4. PDF转为SVG 4.1 将PDF每一页转为单个的SVG ...

  8. java转pdf(html转为pdf)&comma;解决中文乱码,标签不规范等问题

    第一步,下载jar包以及建对应的文件夹.注意pd4ml的jar要选择pro版本.然后建一个pd4fonts.properties 里面对应的字体. SimSun = simsun.ttf 前面为变量名 ...

  9. Java 基于Spire&period;Cloud&period;Excel 将Excel转为PDF

    Spire.Cloud.Excel Sdk 提供GeneralApi接口和WorkbookApi接口,支持将本地Excel和云端Excel文档转换为ODS, PDF, XPS, PCL, PS等格式. ...

随机推荐

  1. Android 视频播放器切换到下个视频时残留上个视频画面的解决办法

    最近在做一个Android视频播放器,遇到一个问题:切换到下一个视频时,中间会停留上一个视频的残存画面.   这是怎么回事?   我在网上找了很多资料,终于找到了原因:我是用自定义一个surfacev ...

  2. Android Studio 总结

    1:添加插件 File->Setting->plugins->Browse repoistories

  3. &lbrack;转&rsqb;数据库物化视图刷新SQL命令和查询被delete掉的数据

    原文地址:http://blog.csdn.net/wangyong191212/article/details/8024161 刷新物化视图的SQL命令: 在sql语句的命令窗口并输入如下命令: e ...

  4. Jmeter html 报告中添加90&percnt; line time

    转载南风_real博客园:http://www.cnblogs.com/jaychang/p/5784882.html 首先上效果图: 其次明白几个原理: 90% Line的意思是:一组数由小到大进行 ...

  5. 【解题报告】&lbrack;动态规划&rsqb; CodingTrip - 携程编程大赛 (预赛第一场)- 聪明的猴子

    原题: 聪明的猴子 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Problem D ...

  6. 【开源专访】Sea&period;js创始人玉伯的前端开发之路

    摘要:玉伯,淘宝前端类库 KISSY.前端模块化开发框架SeaJS.前端基础类库Arale的创始人.本期[开源专访]我们邀请玉伯来为我们分享一些关于前端框架.前端开发的那些事,以及前端大牛是如何炼成的 ...

  7. RAC分解步骤之一,在oracle linux 4u4上安装oracle 10&period;2&period;0&period;1&period;0操作日志

    练习oracle的rac组建过程,第一步,先练习4u4上安装oracle 10.2.0.1.0.直接安装rac,有些难度.从简单的做起.总RAC步骤,参照小布老师的RAC组建. 1. 启动vc,登陆v ...

  8. Java进阶篇设计模式之五-----外观模式和装饰器模式

    前言 在上一篇中我们学习了结构型模式的适配器模式和桥接模式.本篇则来学习下结构型模式的外观模式和装饰器模式. 外观模式 简介 外观模式隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口.这 ...

  9. Linux查看当前目录下文件名中包含指定字符的文件

    find . -type f -name "edaijia* 结果:

  10. SpringBoot Docker入门,SpringBoot Docker安装

    SpringBoot Docker入门,SpringBoot Docker安装 ================================ ©Copyright 蕃薯耀 2018年4月8日 ht ...