首页 > 其他分享 >使用 ABAP 调用 Adobe Document Service 生成 PDF 文档

使用 ABAP 调用 Adobe Document Service 生成 PDF 文档

时间:2023-07-02 19:22:49浏览次数:44  
标签:XML 调用 Adobe ADS Service ABAP PDF 模板

我以前在 SAP 成都研究院 BYD Form 开发团队工作过5年,负责 BYD BO 输出成 PDF 的功能开发。

Adobe Document Service(ADS)是SAP NetWeaver AS Java堆栈的一部分,提供了用于创建和处理PDF文件的功能。在ABAP系统中,可以通过调用ADS服务来生成和处理PDF文档。这种集成使得ABAP开发人员能够轻松地将PDF功能嵌入到他们的应用程序中,而无需了解底层的PDF技术。本文将详细介绍ABAP中调用ADS创建PDF的技术架构。
88ef94d3fe764430624035a3d5bb338.png

一、ADS服务的组件

1.1 ADS架构

ADS服务基于Java技术堆栈构建,使用了一些核心组件来支持其功能。这些组件包括:

  1. PDF对象库:用于创建、处理和渲染PDF文档。

  2. XML数据处理库:用于处理基于XML的数据和模板,如XDP(XML Data Package)和XFA(XML Forms Architecture)。

  3. SOAP处理库:用于处理基于SOAP(简单对象访问协议)的Web服务调用。

  4. JCA(Java Connector Architecture)适配器:用于将Java环境与ABAP系统集成。

1.2 ADS与ABAP系统的集成

要在ABAP系统中使用ADS服务,需要将ADS与ABAP系统集成。这主要涉及以下几个步骤:

  1. 配置SAP NetWeaver AS Java堆栈,以便在ABAP系统中启用ADS服务。

  2. 在ABAP系统中创建一个逻辑端口,用于与ADS服务进行通信。

  3. 使用ABAP中的SAP连接器(如HTTP_CONNECTION类)来调用ADS服务。

二、ABAP调用ADS创建PDF的过程

2.1 准备工作

在ABAP中调用ADS创建PDF之前,需要完成以下准备工作:

  1. 创建一个静态PDF模板,可以使用Adobe LiveCycle Designer工具进行设计。这个模板将用于生成动态PDF文档。

  2. 将静态PDF模板上传到SAP MIME存储库,并为其分配一个唯一的名称。这个名称将用于在ABAP代码中引用模板。

  3. 准备一个基于XML的数据源,用于填充PDF模板。这个数据源可以是一个ABAP内表,也可以是一个外部XML文件。

  4. 在ABAP系统中创建一个逻辑端口,用于与ADS服务进行通信。

2.2 调用ADS服务

在ABAP代码中调用ADS服务的过程可以分为以下几个步骤:

  1. 创建一个HTTP_CONNECTION对象,用于与ADS服务进行通信。

  2. 设置HTTP_CONNECTION对象的属性,如目标URL、认证信息和SOAP操作。

  3. 使用HTTP_CONNECTION对象发送SOAP请求,包括以下信息:

    a. PDF模板的名称

    b. XML数据源

    c. 操作类型,如“合并”或“提取”

  4. 解析ADS服务返回的SOAP响应,获取生成的PDF文档。

标签:XML,调用,Adobe,ADS,Service,ABAP,PDF,模板
From: https://www.cnblogs.com/sap-jerry/p/17521224.html

相关文章

  • 授人以渔:如何获得当前登录 SAP ABAP 系统用户的主机名
    本文写作动机来自我的知识星球里一个朋友的提问。我们复习一下本教程第二篇文章里学习到的知识:1.ABAP标准培训教程BC400学习笔记之一:ABAP服务器的架构和一个典型的ABAP程序结构介绍这是ABAP系统典型的三层架构。广大SAP从业者,在自己本地电脑安装了SAPGUI,那么这......
  • Search-as-a-Service:Algolia
    Algolia是一个搜索和发现API,帮助公司为其网站和移动应用构建搜索体验。Algolia提供后端API客户端和前端小部件,帮助公司管理其数据并构建搜索体验。Algolia是与数据库无关的,因此可以与任何数据源一起使用,包括NoSQL数据库。Algolia成立于2012年,由NicolasDessaigne和JulienLemoin......
  • Taurus .Net Core 微服务开源框架:Admin 插件【4-3】 - 配置管理-Mvc【Plugin-MicroSer
    前言:继上篇:Taurus.NetCore微服务开源框架:Admin插件【4-2】-配置管理-Mvc【含请求日志打印】本篇继续介绍下一个内容:1、系统配置节点:Mvc- Plugin- MicroService 配置界面:注册中心 界面如下:简要说明:该菜单下,显示该微服务类型的菜单,可能为服务端、或客户端、或两......
  • 使用 ABAP 代码查找系统可用的 user exit
    ABAPUserExit是SAP系统中一种提供给客户扩展和修改标准程序的技术手段,这种机制允许客户在不修改SAP源代码的前提下,实现对标准程序的定制和功能增强。ABAP(AdvancedBusinessApplicationProgramming)是SAP的一种编程语言,用于开发企业级应用程序。在SAP系统中,有许多预先......
  • 使用纯 ABAP 开发 SAP UI5 应用(一):abap2UI5 开发环境搭建介绍
    我从SAP社区博客上了解到一个开源项目,名叫abap2UI5,作者是OblomovDev,这是Github项目地址:https://github.com/abap2UI5/abap2UI5这个项目最吸引ABAP开发人员之处在于:传统的ABAP搞定一切:仅仅依靠最基础的传统ABAP编程语言,就可以开发并运行SAPUI5应用。不需要......
  • 使用 ABAP 正则表达式提高字符串解析的执行效率
    在ABAP(AdvancedBusinessApplicationProgramming)中,正则表达式(RegularExpressions)是一种强大的工具,可用于处理字符串和文本数据。正则表达式可以帮助您执行各种任务,如查找和替换文本、验证输入格式或拆分字符串。本文将介绍在ABAP中使用正则表达式的几种方法。使用CL_ABAP......
  • 启动mysql时报错Failed to start mysqld.service: Unit not found
    问题描述:启动mysql时报错Failedtostartmysqld.service:Unitnotfound,如下所示:数据库:mysql5.7.42系统:rhel7.31、问题重现--mysql安装过程[root@leo-mysql-master~]#yumlocalinstallhttps://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm[root@leo......
  • webservice 入门介绍
    WebService是帮助多个应用程序与平台和编程语言之间以独立的方式互相通信的标准化技术。它是利用标准XMLmessaging(主要SOAP)技术,可以访问网络上的其他计算机的记述多种操作的软件接口。此接口主要由WSDL(WebServiceDescriptionLanguage)记述,可以处理多种多样的系统运作。......
  • ln -s /dev/null /root/etc/systemd/system/snapd.service
    disablesnapdduringdell-recoveryrunIt'snotneeded,thisspeedsuptherebootbetweenstagesandpreventsOOMonlowmemoryconfigsforinstaller. 这段代码用于在安装过程中禁用snapd服务,以避免在资源较小的配置上出现OOM(OutofMemory)问题。以下是代码的解......
  • 一文搞懂什么是@Component和@Bean注解以及如何使用(包括与@Controller、@Service、@Re
      来源  https://blog.csdn.net/m0_51358164/article/details/126120731一文搞懂什么是@Component和@Bean注解以及如何使用......