首页 > 其他分享 >smartforms 转 PDF 并 BASE64 加密

smartforms 转 PDF 并 BASE64 加密

时间:2024-07-29 10:19:50浏览次数:12  
标签:smartforms BASE64 lv lt ls output foot PDF TYPE

  DATA:lv_fmname          TYPE tdsfname,
       ls_control_param   TYPE ssfctrlop,
       ls_job_output_info TYPE ssfcrescl,
       ls_output_options  TYPE ssfcompop,
       l_fm               TYPE rs38l_fnam,
       l_num              TYPE i.
  DATA:ls_bkpf TYPE bkpf,
       ls_foot TYPE zsntfi0111.
  CLEAR:lv_ots_xstring,encode_str.

  "脚标
  CLEAR:ls_foot.
  SELECT SINGLE a~zzdr,a~zshr,b~butxt
    FROM zsntfi0111 AS a
    INNER JOIN t001 AS b
    ON a~bukrs = b~bukrs
    INTO (@ls_foot-zzdr,@ls_foot-zshr,@ls_foot-butxt)
   WHERE a~bukrs = @p_bukrs
     AND zsflx = 'C08'.

  ls_bkpf = CORRESPONDING #( wa_bkpf ).
  l_num = 1.
  LOOP AT lt_form ASSIGNING FIELD-SYMBOL(<f_form>).
    <f_form>-znum = l_num.
    l_num = l_num + 1.
  ENDLOOP.

  CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING
      formname           = 'ZSNFISF0002' "调用模板
    IMPORTING
      fm_name            = l_fm
    EXCEPTIONS
      no_form            = 1
      no_function_module = 2
      OTHERS             = 3.
  IF sy-subrc = 0.
    ls_output_options-tddelete = 'X'.
    ls_control_param-preview   = 'X'.
    ls_output_options-tdimmed  = 'X'.
  ENDIF.

  ls_control_param-no_dialog = 'X'.
  ls_control_param-getotf = 'X'.

  CALL FUNCTION l_fm
    EXPORTING
      control_parameters = ls_control_param
      output_options     = ls_output_options
*     USER_SETTINGS      = 'X'
      i_head             = ls_bkpf
      i_foot             = ls_foot
    IMPORTING
      job_output_info    = ls_job_output_info
    TABLES
      it_item            = lt_form[]
    EXCEPTIONS
      formatting_error   = 1
      internal_error     = 2
      send_error         = 3
      user_canceled      = 4
      OTHERS             = 5.
  IF sy-subrc <> 0.
    MESSAGE '获取审批进度查询数据流失败!' TYPE 'S' DISPLAY LIKE 'E'.
    RETURN.

  ELSE.
    CLEAR:lt_tsfotf.
    LOOP AT ls_job_output_info-otfdata INTO DATA(wa_otfdata).
      APPEND wa_otfdata TO lt_tsfotf.
    ENDLOOP.
  ENDIF.

  CLEAR: lv_pdf_len,lv_ots_xstring,lt_tline.

  CALL FUNCTION 'CONVERT_OTF'
    EXPORTING
      format                = 'PDF'
    IMPORTING
      bin_filesize          = lv_pdf_len
      bin_file              = lv_ots_xstring
    TABLES
      otf                   = lt_tsfotf
      lines                 = lt_tline
    EXCEPTIONS
      err_max_linewidth     = 1
      err_format            = 2
      err_conv_not_possible = 3
      err_bad_otf           = 4
      OTHERS                = 5.
  IF sy-subrc <> 0.
    MESSAGE '转换PDF流失败' TYPE 'E'.
*    lv_flag_gd = 'X'.
    RETURN.
  ENDIF.

  "BASE64  加密
  CALL FUNCTION 'SCMS_BASE64_ENCODE_STR'
    EXPORTING
      input  = lv_ots_xstring
    IMPORTING
      output = encode_str.

标签:smartforms,BASE64,lv,lt,ls,output,foot,PDF,TYPE
From: https://www.cnblogs.com/lsjy/p/18329481

相关文章

  • 智能PDF转markdown
    嘿,各位技术大咖们,今天我要给大家带来一个超酷的项目——“智能PDF转Markdown”,这可是数字化办公的神器,基于Marker技术,让PDF文档秒变Markdown,轻松应对RAG知识库构建等任务的挑战!打造了一款PDF转Markdown的利器在线体验:智能PDF转markdownMarker,由技术社区的大神们打造,是......
  • C#提取PDF文件中的文字
    在C#中提取PDF文件中的文字,你可以使用一些流行的库,如iTextSharp、PdfSharp(主要用于创建和修改PDF,但提取文字能力有限),或者更为强大的PDFBox.net(基于ApachePDFBox的.NET端口,尽管它主要是Java项目,但可以通过.NETCore的JNI或类似技术使用)。然而,对于C#来说,iTextSharp是最常见和直......
  • MinerU、Magic-PDF、Magic-Doc
    文章目录一、关于MinerU二、Magic-PDF1、简介2、项目全景3、流程图4、子模块仓库三、Magic-PDF上手指南1、配置要求2、安装配置1.安装Magic-PDF2.下载模型权重文件3.拷贝配置文件并进行配置4.使用CUDA或MPS加速推理CUDAMPS3、使用说明1)通过命令行使用直接使用......
  • LLM大模型全攻略:一本书精通AI的未来【附赠PDF】
    哈喽大家好!最近有粉丝朋友喊我推荐一些大模型的学习书籍,我给大家推荐这么一本书,基于gbt3、gbt4等transform架构的自然语言处理。这是一本对transform工作原理感兴趣的人必读的书籍。亚马逊的评分是九点七分,内行人在睡不着的时候恨不得把全书都背诵完毕。本书的写作目的是......
  • 使用Python进行PDF旋转
    使用python旋转扫描的pdf后,它工作得很好,但将pdf发送给第三方后,第三方仍然将pdf检测为90度pdf有什么办法可以解决旋转和这个问题importPyPDF2withopen('input.pdf','rb')asfile:#CreateaPDFreaderobjectreader=PyPDF2.PdfReader(file)......
  • 加速/并行化 multivariate_normal.pdf
    我有多个Nx3点,并且我从其相应的多元高斯中顺序为每个点生成一个新值,每个点都有1x3均值和3x3cov。因此,我总共有数组:Nx3点数组、Nx3均值数组和Nx3x3cov数组。我只看到如何使用经典的for循环来做到这一点:importnumpyasnpfromscipy.statsimportmultivariat......
  • CET6英语六级真题及答案解析下载电子版pdf2024年6月
    大学英语六级真题在线试卷电子版PDF听力及答案解析–学习备忘录(201800.com)2024年6月CET6真题及答案解析,扫码下载电子版PDF:李明,是一名即将大三的学生。他一直梦想着能够顺利通过大学英语六级考试(CET-6),因为他知道这不仅能够证明自己的英语水平,还可能为将来的就业或留学提供......
  • 使用 Python 生成多页 PDF 报告,其中包含表格、页眉、页脚和可调整单元格数据(使用 repo
    我想在Python中生成带有表格、页眉、页脚和可调整单元格数据的多页PDF报告(使用reportlab)但是,由于奇怪的原因,字体大小并没有随着表格内容而改变......我尝试在这里改变:('FONTSIZE',(0,1),(-1,-1),24),#内容的字体大小但什么也没发生importtimefromreportlab......
  • php实现pdf转图片
    以下运行环境是Centos7第一,安装ImageMagick(作用,用于处理图片) 第二,安装 ImageMagick开发包(作用,使得可以通过php程序处理图片) 安装成功后开启imagick扩展 以下是简单的demo ......
  • 【专题】2024年云计算白皮书报告合集PDF分享(附原数据表)
    原文链接:https://tecdat.cn/?p=371122023年全球云计算市场显著增长,预计将持续繁荣至2027年突破万亿美元,中国市场同样保持强劲势头,预计也将大幅跃升。国内云计算经过十余年发展,虽取得显著进展,但在资源布局、服务质量和技术融合等方面仍需深化提升。阅读原文,获取专题报告合集全文,解......