在Java中管理财务文档工作流
金融行业广泛使用PDF文件来交换数据,因为它有助于维护文件的格式、设计和结构。 这一稳健的模式让金融分析师和顾问能够帮助客户做出明智决策。
但是,PDF格式在处理和自动化方面可能具有一定的难度,尤其是在合并多个数据源时 — 这是金融业的一个常见用例。 构建自定义解决方案以处理PDF文档是一个选项,但无需在软件和基础架构上投入太多时间和资金。 Adobe Acrobat Services 提供所有必要的工具、服务和功能,以处理和提取PDF文档中的数据。
您可以学到的内容
在本实际操作教程中,了解如何使用 Adobe Acrobat Services API Java Spring Boot 应用程序。 您可以构建模型 — 视图 — 控制器(MVC)应用程序,该应用程序可以从PDF文档提取内容,将其转换为其他数据格式(如Excel),合并多个PDF,并使用口令保护资源。 本教程介绍如何使用Adobe处理PDF文档并在网站上显示 嵌入式APIPDF.
相关的API和资源
设置
Adobe Acrobat Services 使用身份验证系统来控制资源访问。 要访问服务,您必须从Adobe为您的公司或应用程序申请API密钥。 如果您有API密钥,请继续阅读下一部分。 要创建新的API密钥,请访问 快速入门 在 Acrobat Services 站点。 您可以使用其免费试用版创建密钥,该试用版提供1,000个文档事务,试用期最长6个月。
要学习本教程,您需要两组API密钥:
-
Adobe PDF Services — 用于处理PDF文档
-
Adobe PDF Embed API
创建凭据后,将PDF服务API凭据和私钥复制到 Spring Boot 资源部分中的应用程序。 了解有关 Maven和Gradle库及其依赖项 在 Adobe Acrobat Services 网站。 在继续之前,请确保设置所有必需的包和库。
要配置日志记录服务,请访问 Adobe文档 然后滚动到“记录”部分。
现在,您的 Spring Boot ,您可以继续处理PDF并为客户生成报告。
提交报告数据
要使用Adobe PDF Services API,请首先设置 ExecutionContext
将使用您提供的凭据。 由于您的应用程序中有凭据,因此可从文件中读取这些凭据并创建上下文,如下所示:
Credentials credentials = Credentials.serviceAccountCredentialsBuilder()
.fromFile(AUTH_FILE_PATH)
.build();
ExecutionContext executionContext = ExecutionContext.create(credentials);
接下来,获取用于处理PDF文档的上下文。 以下是您可以执行的操作:
-
转换PDF文档(为Excel、Word或图形类型)
-
创建PDF文档(从HTML、Excel、Word等)
-
合并多个PDF文档
-
Protect并取消对PDF文档的保护(必须输入密码)
-
优化要在网络上传递的PDF文档
所有这些示例均可在以下位置获得: GitHub示例 存储库。
接下来,在 Spring Boot,您可以使用字符串路径或正在上传文件的流获取文件。 必须初始化您执行的每个操作,并设置输入文件路径。 在本教程中,您将使用来自的公开PDF报告 贝莱德. 您可以使用任何其他源,包括您自己的报告。
首先捕获 FileRef 文件中的对象。 为简单起见,请通过字符串路径重点分析文件。 在下面创建一个操作,以将路径中的文件从PDF转换为Excel:
ExecutionContext executionContext = ExecutionContext.create(credentials);
ExportPDFOperation exportOperation = ExportPDFOperation.createNew(ExportPDFTargetFormat.XLSX);
// Create the input source
FileRef inputPdf = FileRef.createFromLocalFile(INPUT_PDF);
exportOperation.setInput(inputPdf);
执行此步骤后,您的程序已准备好在PDF上运行第一个操作。 接下来,执行该操作并在Excel表中获取结果:
try {
FileRef output = exportOperation.execute(executionContext);
output.saveAs(OUTPUT_EXCEL);
} catch (ServiceApiException e) {
e.printStackTrace();
}
此方案仅处理一个PDF文件。 您也可以从多个PDF文件开始,将它们合并为一个文件。 使用多个文件在财务数据报告中很常见,因为您必须处理来自多个来源的资金,才能提供综合报表。
生成报告
Adobe Acrobat Services 不支持处理现成的Excel文档,但是您仍然可以使用社区框架和库来处理内容。
例如,您可以使用 Apache POI 在中处理Excel(或其他Microsoft文档) Java Spring Boot 应用程序,或者您可能对Excel文件执行其他手动或自动任务。
在此示例中,从PDF文档开始,提取三个基金的资产净值并在表中显示。 您还可以根据您的要求和可用数据提取其他信息,如图表和表格。 甚至可以从其他来源导入数据。
生成报告后(在本例中为Excel格式),您可以使用Adobe PDF Services操作将报告转换回PDF文档并保护它。
要将报表从Excel格式转换为PDF文档,请使用以下操作:
ExecutionContext executionContext = ExecutionContext.create(credentials);
CreatePDFOperation exportOperation = CreatePDFOperation.createNew();
// Create the input source
FileRef inputPdf = FileRef.createFromLocalFile(INPUT_EXCEL);
exportOperation.setInput(inputPdf);
try {
FileRef output = exportOperation.execute(executionContext);
output.saveAs(OUTPUT_PDF);
} catch (ServiceApiException e) {
e.printStackTrace();
}
ExecutionContext
对象。此代码从Excel格式的报表生成PDF文档。
在将此PDF提供给客户之前,您可以使用密码保护此文档。 创建另一个操作来处理这种保护, ProtectPDFOperation,然后使用 ProtectPDFOptions 将密码添加到文档。
ProtectPDFOptions options = ProtectPDFOptions.passwordProtectOptionsBuilder()
.setUserPassword("p@55w0rd")
.setEncryptionAlgorithm(EncryptionAlgorithm.AES_256)
.build();
ProtectPDFOperation operation = ProtectPDFOperation.createNew(options);
接下来,指定输入并执行操作。 生成的文件应包含密码,以防止未经授权的访问。
显示报告
现在,您的PDF报告已生成,您可以在网站上使用Adobe PDF Embed API显示该报告。 此JavaScript API允许Web开发人员在Web浏览器中以原生方式加载和渲染PDF文档。
在您的 Spring Boot 应用程序,在要渲染HTML报告的位置添加以下PDF片段:
<div id="pdf-viewer"></div>
<script src="https://documentcloud.adobe.com/view-sdk/main.js"></script>
<script type="text/javascript">
document.addEventListener("adobe_dc_view_sdk.ready", function()
{
var adobeDCView = new AdobeDC.View({ clientId: "<your-client-id-here>", divId: "pdf-viewer" });
adobeDCView.previewFile(
{
content: {
location: {
url: "<your-document.pdf>"
}
},
metaData: {
fileName: "<document-name.pdf>"
}
});
});
</script>
此脚本将加载PDF文档,并允许查看者对文档进行批注和注释。 以下是此Embed API的视图,如Firefox中所示:
PDFEmbed API提供了预览PDF和批注报告所需的所有工具。
后续步骤
本实际操作教程探讨了 Adobe Acrobat Services API,并讨论了如何使用这些服务来处理PDF数据和生成财务决策报告。 它演示了如何使用将API集成到系统中 Java Spring Boot 作为示例框架,说明了快速处理PDF文档是多么的简单。
探索 Adobe Acrobat Services 并了解Adobe PDF服务能够为您的业务带来哪些好处。 要了解SDK中可用的更多功能,请参阅 GitHub存储库 ,并探索如何 嵌入式APIPDF 可以帮助您快速显示应用程序内的PDF。
要轻松合并和处理文档,为金融客户创建有用的PDF报告,请先免费注册 开发人员帐户Adobe 今天。