Class OFDArchiveConverter
java.lang.Object
org.ofdrw.archive.convert.OFDArchiveConverter
OFD-A 转换器
将普通 OFD 文件转换为符合 GB/T 42133-2022 的 OFD-A 归档文件。 转换流程:
- 解压源文件到临时目录 src/
- 按编排顺序执行所有去技术化处理器
- 从 OFD.xml 出发 DFS 收集可达文件白名单
- 按白名单复制文件到 output/,排除非法夹带
- 打包 output/ 为 OFD-A 文件
- 清理临时目录
使用示例:
OFDArchiveConverter converter = new OFDArchiveConverter();
converter.convert(Paths.get("input.ofd"), Paths.get("output.ofd"));
- Since:
- 2.4.0
- Author:
- 权观宇
-
Constructor Summary
ConstructorsConstructorDescription创建转换器,加载默认处理器管道OFDArchiveConverter(List<ArchiveHandler> handlers) 创建转换器,使用自定义处理器管道 -
Method Summary
Modifier and TypeMethodDescriptionaddDecryptor(UserFEKDecryptor decryptor) 添加解密器void将 OFD 文件转换为 OFD-A 格式
-
Constructor Details
-
OFDArchiveConverter
public OFDArchiveConverter()创建转换器,加载默认处理器管道 -
OFDArchiveConverter
创建转换器,使用自定义处理器管道- Parameters:
handlers- 自定义处理器列表(按顺序执行)
-
-
Method Details
-
addDecryptor
添加解密器便捷方法,用于配置加密 OFD 文件的解密密钥。 仅当 OFD 文件已加密时需要调用;明文 OFD 无需设置。
使用示例:
OFDArchiveConverter converter = new OFDArchiveConverter(); converter.addDecryptor(new UserPasswordDecryptor("张三", "12345678")); converter.convert(src, dst);- Parameters:
decryptor- FEK 解密器- Returns:
- this
- Throws:
IllegalStateException- 使用自定义处理器列表且其中无 EncryptionHandler 时
-
convert
将 OFD 文件转换为 OFD-A 格式处理完成后输出到 dstPath,源文件不受影响。
- Parameters:
srcPath- 源 OFD 文件路径dstPath- 输出 OFD-A 文件路径- Throws:
IOException- 文件操作异常
-