SPAN { font-family: "Courier New"; font-size: 10pt; color: rgba(0, 0, 0, 1); background: rgba(255, 255, 255, 1) }
.L0S31 { font-style: italic; color: rgba(128, 128, 128, 1) }
.L0S32 { color: rgba(51, 153, 255, 1) }
.L0S52 { color: rgba(0, 0, 255, 1) }
.L0S55 { color: rgba(128, 0, 128, 1) }
.L0S70 { color: rgba(128, 128, 128, 1) }

核心几个功能
*&      Form  PDF_PRINT
*&---------------------------------------------------------------------*
*通过地址获取文件流
*----------------------------------------------------------------------*

FORM FRM_GET_CONTENT USING URL TYPE STRING

                      CHANGING CONTENT TYPE XSTRING.



  DATA : HTTP_CLIENT TYPE REF TO IF_HTTP_CLIENT.

  CALL METHOD CL_HTTP_CLIENT=>CREATE_BY_URL

    EXPORTING

      URL                = URL

    IMPORTING

      CLIENT             = HTTP_CLIENT

    EXCEPTIONS

      ARGUMENT_NOT_FOUND = 1

      PLUGIN_NOT_ACTIVE  = 2

      INTERNAL_ERROR     = 3

      OTHERS             = 4.

  IF SY-SUBRC = 0.

    HTTP_CLIENT->SEND( ).

    HTTP_CLIENT->RECEIVE( ).

    "CONTENT = HTTP_CLIENT->RESPONSE->TO_XSTRING( ).

    CONTENT = HTTP_CLIENT->RESPONSE->GET_DATA( ).

    HTTP_CLIENT->CLOSE( ).

  ENDIF.

ENDFORM.

SPAN { font-family: "Courier New"; font-size: 10pt; color: rgba(0, 0, 0, 1); background: rgba(255, 255, 255, 1) }
.L0S31 { font-style: italic; color: rgba(128, 128, 128, 1) }
.L0S32 { color: rgba(51, 153, 255, 1) }
.L0S33 { color: rgba(77, 166, 25, 1) }
.L0S52 { color: rgba(0, 0, 255, 1) }
.L0S55 { color: rgba(128, 0, 128, 1) }
.L0S70 { color: rgba(128, 128, 128, 1) }

*&---------------------------------------------------------------------*

*&      Form  PDF_PRINT

*&---------------------------------------------------------------------*

*       打印PDF

*----------------------------------------------------------------------*

FORM pdf_print  USING    p_xstring TYPE xstring.

  DATA: l_rqdestl TYPE rspolname,

        l_rqdest  TYPE rspopname.

  DATA: l_spoolid TYPE rspoid,

        l_msg     TYPE string.

  DATA: ls_outpars TYPE sfpoutpar.



  DATA: size TYPE i.

  DATA: total_size TYPE i.

  DATA: spoolid TYPE rspoid.

  DATA: copies TYPE rspocopies.

  DATA: lifetime.



  CALL FUNCTION 'FPCOMP_SHOW_DIALOG'

    CHANGING

      ie_outpar      = ls_outpars

    EXCEPTIONS

      cancel         = 1

      usage_error    = 2

      system_error   = 3

      internal_error = 4

      OTHERS         = 5.

  IF sy-subrc <> 0.

    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

    LEAVE PROGRAM.

  ENDIF.



  size = xstrlen( p_xstring ).

  ADD size TO total_size.



  copies = ls_outpars-copies.

  lifetime = ls_outpars-lifetime.



  CALL FUNCTION 'ADS_CREATE_PDF_SPOOLJOB'

    EXPORTING

      dest              = ls_outpars-dest

      pages             = 0

      pdf_data          = p_xstring

      name              = ls_outpars-dataset

      suffix1           = ls_outpars-suffix1

      suffix2           = ls_outpars-suffix2

      copies            = copies

*     PRIO              = ps_op-

      immediate_print   = ls_outpars-reqimm

      auto_delete       = ls_outpars-reqdel

      titleline         = ls_outpars-covtitle

      receiver          = ls_outpars-receiver

      division          = ls_outpars-division

      authority         = ls_outpars-authority

      lifetime          = lifetime

*      "printer         = l_rqdestl

*      dest            = 'PDF3'

*      "pages           = 1

*      pdf_data        = p_xstring

*      immediate_print = 'X'    "如需立即打印,设置为X

*      auto_delete     = 'X'

    IMPORTING

      spoolid         = l_spoolid

    EXCEPTIONS

      OTHERS          = 1.



ENDFORM.                    " PDF_PRINT

ABAP PDF 打印的更多相关文章

  1. 开源免费且稳定实用的.NET PDF打印组件itextSharp(.NET组件介绍之八)

    在这个.NET组件的介绍系列中,受到了很多园友的支持,一些园友(如:数据之巅. [秦时明月]等等这些大神 )也给我提出了对应的建议,我正在努力去改正,有不足之处还望大家多多包涵.在传播一些简单的知识的 ...

  2. 基于iTextSharp的PDF操作(PDF打印,PDF下载)

    基于iTextSharp的PDF操作(PDF打印,PDF下载) 准备 1. iTextSharp的简介 iTextSharp是一个移植于java平台的iText项目,被封装成c#的组件来用于C#生成P ...

  3. NetSuite实现pdf打印中的条形码的功能

    2020-11-27 提起NS,在程序员这一块应该不怎么被人知道,算是比较小众的一门技术了,毕竟Netsuite兴起的时间算不上早,进入中国的时间更晚,除了从事这一块的程序员,可能都没有见过,恰好我是 ...

  4. .Net下的PDF打印

    简单研究了一下.Net下的PDF打印,一路发现了很多小坑. 第三方组件 这里使用的解析PDF的组件是mupdf,特点和C#调用在 这里 有介绍. 实现的功能 支持页面大小.边距.打印机选择.打印机dp ...

  5. 驰骋CCFlow开源工作流程引擎如何设置PDF打印

    前言 经常有驰骋CCFlow爱好者朋友提问关于打印相关问题.在这篇博文中大家介绍一下工作流引擎CCFlow的HTML打印和PDF打印,针对Java版本和.NET版本有不同的操作步骤,包括开关设置.水印 ...

  6. Java 创建PDF打印小册子

    概述 PDF打印小册子是指将PDF格式文档在打印成刊物前需要提前进行的页面排版,以便在打印后装订成册.下面以Java代码展示如何来实现.这里调用Free Spire.PDF for Java中的Pdf ...

  7. ABAP FORM打印转PDF/pdf 预览

    function ZSTXBC_SSFCOMP_PDF_PREVIEW. *"-------------------------------------------------------- ...

  8. 重命名PDF打印文件名

    Odoo系统默认打印出来的PDF文件都是以当前文档模型对象对应的模板文件名命名的,对用户来说,这样的命名很不友好. 我们希望能够将打印出来的文件名以单号命名,下面是实现这种目的的方法. 在report ...

  9. 两页pdf打印为一页,并且放大(打印英文pdf常用)

    多很英文书籍都是小书,若我们直接打印它的pdf会很厚,比如我要打印一本 thinking in C++,就要800+页.不如把两页打成一页.但是打成一页之后又太小了,需要放大.具体方法如下:   前提 ...

  10. pdf打印乱码问题

    问题: 使用Adobe Reader将一份pdf文件通过我的虚拟打印机输出后(输出的是中间文件,等同于EMF文件),查看的时候发现有时候是乱码.最简单的必现步骤: 1.使用Adobe Reader打开 ...

随机推荐

  1. 从稍微懂一点开始的C++学习之路1: 智能指针

    从稍微懂一点开始的C++学习之路1 智能指针 因为之前一直是搞qt的,没有搞过纯c++,所以现在算得上是刚开始学纯C++.C++的大部分语法其实我都懂,主要的是一些规范,还有内存回收等一些细节地方纯C ...

  2. 搭建漏洞环境及实战——搭建XSS测试平台

    XSS测试平台是测试XSS漏洞获取cookie并接收Web页面的平台,XSS可以做成JS能做的所有事,包括但不限于窃取cookie.后台增删文章.钓鱼.利用CSS漏洞进行传播.修改网页代码.网站重定向 ...

  3. 直播报名|资深云原生架构师分享服务网格在腾讯 IT 业务的落地实践

    云原生在近几年的发展越来越火热,作为云上最佳实践而生的设计理念,也有了越来越多的实践案例,而一个个云原生案例的背后,是无声的巨大变革. 腾讯云主办首个云原生百科知识直播节目--<云原生正发声&g ...

  4. 侦察工具——Httrack

    前言 web渗透学习笔记,实验环境为Metasploitable靶机上的DVWA.此随笔介绍Web渗透侦察工具Httrack Httrack 简介 Httrack能够克隆拷贝目标网站上的所有可访问.可 ...

  5. Web应用怎样获取Access Token?

    1.在联盟创建服务器应用 参考文档:开发准备 2.获取用户级Access Token 2.1 获取code 参考文档:接入华为帐号获取凭证 2.1.1 先按照跳转链接进行配置url https://o ...

  6. Proxyless Mesh 在 Dubbo 中的实践

    背景 随着 Dubbo 3.1 的 release,Dubbo 在云原生的路上又迈出了重要的一步.在这个版本中添加了 Proxyless Mesh 的新特性,Dubbo Proxyless Mesh ...

  7. [python] 基于matplotlib_venn实现维恩图的绘制

    文章目录 VENN DIAGRAM(维恩图) 1. 具有2个分组的基本的维恩图 Venn diagram with 2 groups 2. 具有3个组的基本维恩图 Venn diagram with ...

  8. Gvim基础操作-01

    Gvim基础操作 进行代码或者是文本.脚本都要使用到文本编辑工具. vi是visual的缩写,其意为可视化.它是Unix系统文本编辑的标准工具.利用光标在屏幕上的移动,用户可以方便的建立.修改或者插入 ...

  9. 从0开始学Java 第一期 开发前的准备

    Java 学习(一) - 开发前的准备 前言 由于一些项目上的需要,我得学习一下 Java 这门语言(主要是想写Android),本人并非0基础,至少在上个学期学习了一门必修的程序设计(C语言),所以 ...

  10. js节流防抖 减少服务器请求