在Java中管理财务文档工作流

用例主横幅

金融行业广泛使用PDF文件来交换数据,因为它有助于维护文件的格式、设计和结构。 这一稳健的模式让金融分析师和顾问能够帮助客户做出明智决策。

但是,PDF格式在处理和自动化方面可能具有一定的难度,尤其是在合并多个数据源时 — 这是金融业的一个常见用例。 构建自定义解决方案以处理PDF文档是一个选项,但无需在软件和基础架构上投入太多时间和资金。 Adobe Acrobat Services提供所有必要的工具、服务和功能,以便处理和提取PDF文档中的数据。

您可以学到的内容

在本实际操作教程中,了解如何将Adobe Acrobat Services API用于Java Spring Boot个应用程序。 您可以构建模型 — 视图 — 控制器(MVC)应用程序,该应用程序可以从PDF文档提取内容,将其转换为其他数据格式(如Excel),合并多个PDF,并使用口令保护资源。 本教程介绍如何使用AdobePDF嵌入API处理PDF文档并在您的网站上显示它们。

相关的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应用程序。 在Adobe Acrobat Services网站上详细了解Maven和Gradle库及依赖项。 在继续之前,请确保设置所有必需的包和库。

PDF服务API凭据的目录位置的屏幕截图

要配置日志记录服务,请访问Adobe文档并滚动到“日志记录”部分。

NOTE
在生产环境中,不要在版本控制中保存私钥。 请始终使用密钥保管库或密钥注入服务来防止未经授权使用凭据。

现在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中,您可以使用字符串路径或正在上传文件的流获取文件。 必须初始化您执行的每个操作,并设置输入文件路径。 在本教程中,您将使用来自Blackrock的公开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在Java Spring Boot应用程序中处理Excel(或其他Microsoft文档),也可以对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();
}
TIP
为防止每次收到请求时都必须重新创建对象,请使用Spring的依赖关系注入来注入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文档。

NOTE
此时,您需要第二个凭据令牌,即客户端ID。

在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中所示:

Firefox中PDF文档的屏幕截图

PDFEmbed API提供了预览PDF和批注报告所需的所有工具。

后续步骤

此实际操作教程探讨了Adobe Acrobat Services API,并讨论了如何使用这些服务来处理PDF数据和生成财务决策报告。 它演示了如何使用Java Spring Boot作为示例框架将API集成到您的系统中,以展示快速处理PDF文档是多么简单。

浏览Adobe Acrobat Services并了解Adobe PDF Services可为您的企业提供哪些服务。 要了解SDK中可用的更多功能,请参阅GitHub存储库中的示例,并探索PDFEmbed API如何帮助您快速显示应用程序内的PDF。

要轻松合并和处理文档,为您的金融客户创建有用的PDF报告,请立即注册免费的Adobe开发人员帐户

recommendation-more-help
61c3404d-2baf-407c-beb9-87b95f86ccab