the c++ programming language中文版pdf_PDF加密
本文由群内同行提供,十分感谢!本文档是基于smartforms加密PDF1.首先我们需要去下载jar应用程序(pdfbox-app-1.8.6.jar),在SAP使用事务码CG3Z进行对jar的上传。上传之后,我们可以在事务码AL11查看该文件,2.使用SAP事务码SM69创建定制的外部操作系统命令由于本次测试的系统是Linux系统,Windows的没有测试,如果上面操作不行,则采用以下...
本文由群内同行提供,十分感谢!
本文档是基于smartforms加密PDF
1.首先我们需要去下载jar应用程序(pdfbox-app-1.8.6.jar),在SAP使用事务码CG3Z进行对jar的上传。


上传之后,我们可以在事务码AL11查看该文件,


2.使用SAP事务码SM69创建定制的外部操作系统命令

由于本次测试的系统是Linux系统,Windows的没有测试,如果上面操作不行,则采用以下方式,

3.叫basis人员在sap下载java jdk插件
PS:本示例原理参考执行CMD,命令符:java -jar D:\pdfbox-app-1.8.6.jar Encrypt -U12345 C:\Users\Administrator\Desktop\1.pdf C:\Users\Administrator\Desktop\2.pdf
java -jar :执行jar
D:\pdfbox-app-1.8.6.jar : jar文件路径
Encrypt : 加密操作
-U 12345 :加密密码
C:\Users\Administrator\Desktop\1.pdf :文件输入路径
C:\Users\Administrator\Desktop\2.pdf : 文件输出路径


代码示例:
REPORT ZTEST_LIJS1.*****test pdf *********DATA: L_FORMULARIO TYPE TDSFNAME,
L_FUN TYPE RS38L_FNAM,
V_LANGUAGE TYPE SFLANGU,
V_E_DEVTYPE TYPE RSPOPTYPE,
ST_OUTPUT_OPTIONS TYPE SSFCOMPOP,
ST_CONTROL_PARAMETERS TYPE SSFCTRLOP,
ST_DOCUMENT_OUTPUT_INFO TYPE SSFCRESPD,
ST_JOB_OUTPUT_INFO TYPE SSFCRESCL,
ST_JOB_OUTPUT_OPTIONS TYPE SSFCRESOP,
OTF_DATA TYPE TSFOTF,
GD_BUFFER TYPE STRING,
V_BIN_FILESIZE TYPE I,
IT_DOCS TYPE STANDARD TABLE OF DOCS,
IT_LINES TYPE STANDARD TABLE OF TLINE,
WA_LINES LIKE LINE OF IT_LINES,
L_FILE TYPE STRING,
IT_PARAMS TYPE TABLE OF BTCXPGPAR,
WA_PARAMS LIKE LINE OF IT_PARAMS,
L_CMD LIKE SXPGCOLIST-NAME,
UNIQUE_NAME TYPE SYSUUID_C.DATA:LS_ZSFI0012 LIKE ZSFI0012.
V_LANGUAGE = 'E'.CALL FUNCTION 'SSF_GET_DEVICE_TYPE'EXPORTING
I_LANGUAGE = V_LANGUAGE
I_APPLICATION = 'SAPDEFAULT'IMPORTING
E_DEVTYPE = V_E_DEVTYPE.
ST_OUTPUT_OPTIONS-TDPRINTER = V_E_DEVTYPE.
ST_CONTROL_PARAMETERS-NO_DIALOG = 'X'.
ST_CONTROL_PARAMETERS-GETOTF = 'X'.
L_FORMULARIO = 'ZFMFI002'."smartformsCALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'EXPORTING
FORMNAME = L_FORMULARIOIMPORTING
FM_NAME = L_FUNEXCEPTIONS
NO_FORM = 1
NO_FUNCTION_MODULE = 2OTHERS = 3.CALL FUNCTION L_FUNEXPORTING
CONTROL_PARAMETERS = ST_CONTROL_PARAMETERS
OUTPUT_OPTIONS = ST_OUTPUT_OPTIONS
LS_ZSFI0012 = LS_ZSFI0012IMPORTING
DOCUMENT_OUTPUT_INFO = ST_DOCUMENT_OUTPUT_INFO
JOB_OUTPUT_INFO = ST_JOB_OUTPUT_INFO
JOB_OUTPUT_OPTIONS = ST_JOB_OUTPUT_OPTIONSEXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4OTHERS = 5.
OTF_DATA = ST_JOB_OUTPUT_INFO-OTFDATA.CALL FUNCTION 'CONVERT_OTF_2_PDF' "将smartforms转换PDFIMPORTING
BIN_FILESIZE = V_BIN_FILESIZETABLES
OTF = OTF_DATA
DOCTAB_ARCHIVE = IT_DOCSLINES = IT_LINESEXCEPTIONS
ERR_CONV_NOT_POSSIBLE = 1
ERR_OTF_MC_NOENDMARKER = 2OTHERS = 3.CALL FUNCTION 'SYSTEM_UUID_C_CREATE'IMPORTING
UUID = UNIQUE_NAME.CONCATENATE 'C:\' UNIQUE_NAME '.PDF' INTO L_FILE.OPEN DATASET L_FILE FOR OUTPUT IN BINARY MODE .IF SY-SUBRC = 0 .LOOP AT IT_LINES INTO WA_LINES.TRANSFER WA_LINES TO L_FILE .ENDLOOP.CLOSE DATASET L_FILE ."password file"连接 密码 输入路径 输出路径CONCATENATE '12345' L_FILE L_FILE INTO WA_PARAMS SEPARATED BY SPACE."调用在SM69设置的外部命令
L_CMD = 'Z_PDF_ENCRYPT'.CALL FUNCTION 'SXPG_COMMAND_EXECUTE' "执行命令EXPORTING
COMMANDNAME = L_CMD
OPERATINGSYSTEM = 'Linux'
ADDITIONAL_PARAMETERS = WA_PARAMSEXCEPTIONSOTHERS = 15.IF SY-SUBRC = 0.CLOSE DATASET L_FILE.OPEN DATASET L_FILE FOR INPUT IN BINARY MODE.IF SY-SUBRC EQ 0.REFRESH IT_LINES.DO.CLEAR WA_LINES.READ DATASET L_FILE INTO WA_LINES.IF SY-SUBRC = 0.APPEND WA_LINES TO IT_LINES.ELSE.IF WA_LINES IS NOT INITIAL.APPEND WA_LINES TO IT_LINES.ENDIF.EXIT.ENDIF.ENDDO.CLOSE DATASET L_FILE."send PDF by email / save as pdf …CALL FUNCTION 'GUI_DOWNLOAD'EXPORTING
FILENAME = 'C:\TEMP\1.PDF'
FILETYPE = 'BIN'TABLES
DATA_TAB = IT_LINESEXCEPTIONSOTHERS = 15.ENDIF.ENDIF."remove temp file from app serverDELETE DATASET L_FILE.ENDIF.

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)