打印PDF文件时出现问题

2020-08-22 19:41发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我试图借助cl...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我试图借助cl_gui_frontend_services => execute方法打印PDF文档。 下面是相同的代码,

调用方法cl_gui_frontend_services =>执行

导出

文档= gv_fname

  • 应用=

  • 参数=

  • DEFAULT_DIRECTORY =

  • 最大化=

  • 最小化=

  • 同步=

操作='打印'

例外情况

cntl_error = 1

error_no_gui = 2

bad_parameter = 3

file_not_found = 4

path_not_found = 5

file_extension_unknown = 6

error_execute_failed = 7

sync_failed = 8

not_supported_by_gui = 9

其他= 10。

Gv_fname包含要打印的文件的路径。 该文件位于桌面上。

使用上述方法,我可以打印PDF文档,但是在打印时它会打开空白的Acrobat阅读器。 我正在寻找一种解决方案,以避免在打印PDF文档时打开空白的Acrobat阅读器。

请告知我是否还有其他打印PDF文件的方法。

对于解决该问题的任何信息,我们将不胜感激。

谢谢。

付费偷看设置
发送
4条回答
微wx笑
1楼-- · 2020-08-22 20:16

嗨,

您可以看到以下代码。

***获取智能表格

通话功能'SSF_FUNCTION_MODULE_NAME'

导出

FORMNAME ='ZB_EX_VEHICLE_ACTIVITY_FORM'

导入

FM_NAME = FM_NAME

例外情况

NO_FORM = 1

NO_FUNCTION_MODULE = 2

其他= 3。

如果SY-SUBRC <> 0。

ELSE。

如果SMART_PARAM是INITIAL。

CTRL_PARA-DEVICE ='打印机'。

CTRL_PARA-PREVIEW ='X'。

*************************************************** *

***下面,您只需要在导出day_late和prog_pha时传入fm_name即可。 这两个领域将传递给smartforms。 因此,在smartforms中,您需要以*** interface形式声明为prog_pha和day_late。 如果要传递表,则可以在***表中传递表,并且还需要在表单接口的smartforms中声明它。

通话功能FM_NAME

导出

CONTROL_PARAMETERS = CTRL_PARA

USER_SETTINGS ='X'

PROG_PHA = PROG_PHA

DAY_LATE = DAY_LATE

L_SYSDATE = L_SYSDATE

表格

IT_ACTIVITY_FINAL = IT_ACTIVITY_FINAL

例外情况

FORMATTING_ERROR = 1

INTERNAL_ERROR = 2

SEND_ERROR = 3

USER_CANCELED = 4

其他= 5。

如果SY-SUBRC <> 0。

ENDIF。

ENDIF。

***获取PDF文件

如果SMART_PARAM-Z_R3_PDF ='X'。

***您可以在下面给出文件名,在这里给出了vehicle_activity_report以及日期和时间。 ***您可以根据您的要求提供车辆而不是vehicle_activity_report。

串联

'C:/VEHICLE_ACTIVITY_REPORT'sy-datum 4(2)SY-DATUM 6(2)SY-DATUM + 0(4)'_'sy-uzeit'.pdf'进入WS_FULLPATH

OUTPUT_OPTIONS-TDDEST ='LP01'。

OUTPUT_OPTIONS-TDNOPREV ='X'。

OUTPUT_OPTIONS-TDNEWID ='X'。

OUTPUT_OPTIONS-TDIMMED =''。

CTRL_PARA-NO_DIALOG ='X'。

CTRL_PARA-GETOTF ='X'。

通话功能FM_NAME

导出

CONTROL_PARAMETERS = CTRL_PARA

OUTPUT_OPTIONS = OUTPUT_OPTIONS

USER_SETTINGS ='X'

PROG_PHA = PROG_PHA

DAY_LATE = DAY_LATE

L_SYSDATE = L_SYSDATE

导入

JOB_OUTPUT_INFO = MY_OUTPUT_INFO

JOB_OUTPUT_OPTIONS = JOB_OUTPUT_OPTIONS

表格

IT_ACTIVITY_FINAL = IT_ACTIVITY_FINAL

例外情况

FORMATTING_ERROR = 1

INTERNAL_ERROR = 2

SEND_ERROR = 3

USER_CANCELED = 4

其他= 5。

如果SY-SUBRC <> 0。

ENDIF。

通话功能'CONVERT_OTF'

导出

格式='PDF'

导入

BIN_FILESIZE = BIN_FILESIZE

表格

OTF = MY_OUTPUT_INFO-OTFDATA

线=线

例外情况

ERR_MAX_LINEWIDTH = 1

ERR_FORMAT = 2

ERR_CONV_NOT_POSSIBLE = 3

ERR_BAD_OTF = 4

其他= 5。

如果SY-SUBRC <> 0。

ENDIF。

调用功能'GUI_DOWNLOAD'

导出

FILENAME = WS_FULLPATH

FILETYPE ='BIN'

表格

DATA_TAB = LINES。

如果SY-SUBRC <> 0。

ENDIF。

ENDIF。

希望对您有用。

闻人可可
2楼-- · 2020-08-22 20:08

嗨,

只需将CLOSE传递给OPERATION参数,以相同的方法将其检出即可。

提示,

Shankar。

95年老男孩
3楼-- · 2020-08-22 20:19

嗨,

我认为您没有为OPERATION指定PRINT。

执行方法中只有OPEN操作...。

您是否正在从PDF文件数据中打印出来。

关于,

尚卡尔。

bbpeas
4楼-- · 2020-08-22 20:03

大家好,

我面临着同样的问题。 打印后,adobe acrobat阅读器仍处于打开状态。 有人找到解决此问题的任何方法了吗?

此致

Vishal Agrawal

一周热门 更多>