ABAP PDF 打印
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 打印的更多相关文章
- 开源免费且稳定实用的.NET PDF打印组件itextSharp(.NET组件介绍之八)
在这个.NET组件的介绍系列中,受到了很多园友的支持,一些园友(如:数据之巅. [秦时明月]等等这些大神 )也给我提出了对应的建议,我正在努力去改正,有不足之处还望大家多多包涵.在传播一些简单的知识的 ...
- 基于iTextSharp的PDF操作(PDF打印,PDF下载)
基于iTextSharp的PDF操作(PDF打印,PDF下载) 准备 1. iTextSharp的简介 iTextSharp是一个移植于java平台的iText项目,被封装成c#的组件来用于C#生成P ...
- NetSuite实现pdf打印中的条形码的功能
2020-11-27 提起NS,在程序员这一块应该不怎么被人知道,算是比较小众的一门技术了,毕竟Netsuite兴起的时间算不上早,进入中国的时间更晚,除了从事这一块的程序员,可能都没有见过,恰好我是 ...
- .Net下的PDF打印
简单研究了一下.Net下的PDF打印,一路发现了很多小坑. 第三方组件 这里使用的解析PDF的组件是mupdf,特点和C#调用在 这里 有介绍. 实现的功能 支持页面大小.边距.打印机选择.打印机dp ...
- 驰骋CCFlow开源工作流程引擎如何设置PDF打印
前言 经常有驰骋CCFlow爱好者朋友提问关于打印相关问题.在这篇博文中大家介绍一下工作流引擎CCFlow的HTML打印和PDF打印,针对Java版本和.NET版本有不同的操作步骤,包括开关设置.水印 ...
- Java 创建PDF打印小册子
概述 PDF打印小册子是指将PDF格式文档在打印成刊物前需要提前进行的页面排版,以便在打印后装订成册.下面以Java代码展示如何来实现.这里调用Free Spire.PDF for Java中的Pdf ...
- ABAP FORM打印转PDF/pdf 预览
function ZSTXBC_SSFCOMP_PDF_PREVIEW. *"-------------------------------------------------------- ...
- 重命名PDF打印文件名
Odoo系统默认打印出来的PDF文件都是以当前文档模型对象对应的模板文件名命名的,对用户来说,这样的命名很不友好. 我们希望能够将打印出来的文件名以单号命名,下面是实现这种目的的方法. 在report ...
- 两页pdf打印为一页,并且放大(打印英文pdf常用)
多很英文书籍都是小书,若我们直接打印它的pdf会很厚,比如我要打印一本 thinking in C++,就要800+页.不如把两页打成一页.但是打成一页之后又太小了,需要放大.具体方法如下: 前提 ...
- pdf打印乱码问题
问题: 使用Adobe Reader将一份pdf文件通过我的虚拟打印机输出后(输出的是中间文件,等同于EMF文件),查看的时候发现有时候是乱码.最简单的必现步骤: 1.使用Adobe Reader打开 ...
随机推荐
- 【机器学习】李宏毅——AE自编码器(Auto-encoder)
1.What 在自编码器中,有两个神经网络,分别为Encoder和Decoder,其任务分别是: Encoder:将读入的原始数据(图像.文字等)转换为一个向量 Decoder:将上述的向量还原成原始 ...
- last-child可能你也会踩的坑
旧文章从语雀迁移过来,原日期为2021-07-14 问题 当时写在写一个列表,列表每一项需要下面加下划线,最后一项不加下划线.第一时间,想到使用 :``last-child 这个伪类来实现. 当时的代 ...
- [python] Python数据序列化模块pickle使用笔记
pickle是一个Python的内置模块,用于在Python中实现对象结构序列化和反序列化.Python序列化是一个将Python对象层次结构转换为可以本地存储或者网络传输的字节流的过程,反序列化则是 ...
- [编程基础] C++多线程入门3-小心地将参数传递给线程
原始C++标准仅支持单线程编程.新的C++标准(称为c++11或c++0x)于2011年发布.在c++11中,引入了新的线程库.因此运行本文程序需要C++至少符合c++11标准. 文章目录 3 小心地 ...
- 数据分析中的SQL如何解决业务问题
本文来自知乎问答. 提问:数据分析人员需要掌握sql到什么程度? 请问做一名数据分析人员,在sql方面需要掌握到什么程度呢?会增删改查就可以了吗?还是说关于开发的内容也要会?不同阶段会有不同的要求吗? ...
- 【Java刷题】初始化List应该选择ArrayList还是LinkedList
文章目录 前言 题目 解题思路 遇到的坑:ArrayList和LinkedList 未通过代码 通过代码 小结 ArrayList和LinkedList的区别 在刷题的时候应该如何选择 排序效率 测试 ...
- 洛谷P1259 黑白棋子的移动 题解
本蒟蒻这题用的打表做法,其实也可以理解为是一种递推. 先来观察一下样例: 当n为7时,输出共有14行,易得输出行数为2n. ooooooo*******-- oooooo--******o* oooo ...
- 【学习笔记】Tarjan 图论算法
- 前言 本文主要介绍 Tarjan 算法的「强连通分量」「割点」「桥」等算法. 争取写的好懂一些. - 「强连通分量」 - 何为「强连通分量」 在有向图中,如果任意两个点都能通过直接或间接的路径相互 ...
- JSP第十一次作业
1.第十二周上机作业(邮件功能)的控制层代码改用为servlet实现.2.学习通发布了考试,截止到本周六. com.gd.dao BaseDao 1 package com.gd.dao; 2 3 ...
- day12-SpringMVC文件上传
SpringMVC文件上传 1.基本介绍 SpringMVC 为文件上传提供了直接的支持,这种支持是通过即插即用的 MultipartResolver 实现的.spring 用 Jacarta Com ...