将PDF数据转换为OTF

2020-09-24 18:04发布

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

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


你好朋友

我要求文件必须以PDF格式存储在SAP目录(应用程序服务器-AL11)中。 然后,需要将此PDF文件转换为OTF格式。

请帮助解决此要求。

此致

Pranali

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

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


你好朋友

我要求文件必须以PDF格式存储在SAP目录(应用程序服务器-AL11)中。 然后,需要将此PDF文件转换为OTF格式。

请帮助解决此要求。

此致

Pranali

付费偷看设置
发送
3条回答
路亽曱_Ryan
1楼-- · 2020-09-24 18:37

SAP仅提供从OTF到PDF的转换器。

土豆飞人
2楼-- · 2020-09-24 18:39
  • 在工作中心计算机上将32位SAPPDFPRINT与SAPGUI一起安装。 SAP GUI自动识别是否已安装SAPPDFPRINT并在所选打印机上打印交互式表格。
  • 在SAP系统中,创建设备类型为PDF1或PDFUC且访问方法为'G'的输出设备。 使用访问方法'F',仅当您已实现SAP Note 2028598中包含的更正时,才通过SAPPDFPRINT进行输出。
  • 当前,只有32位版本的SAP GUI可用。 因此,对于前端打印,还必须安装32位版本的SAPPDFPRINT。 如果将来有64位版本的SAP GUI可用,则将使用与基于服务器的打印有关的信息。

如果以前使用具有SAPWIN设备类型的输出设备,则可以使用报告RSPO0022将设备类型SAPWIN分配给XDC acrobat6。 确保已从SAP Note 1672781中导入了新版本的RSPO0022。在打印交互式表单时,如果使用设备类型为SAPWIN的打印机进行打印,则系统会生成PDF数据流。

*****************测试报告

报告ztest_pdf2spool。

包含fp_utilities。 "#EC INCL_OK

数据gv_cust_id类型s_customer。
数据:内容类型fpcontent。
数据gs_outputparams类型sfpoutputparams。
数据:total_pages类型fppagecount。
>
参数:fpages类型i修改ID向上更新。

初始化。

选择开始。


执行上载数据。

> PERFORM set_outpars。
PERFORM send_pdf_to_spool。

FORM send_pdf_to_spool。

DATA:大小TYPE i。
DATA:total_size TYPE i。
DATA:假脱机类型rspoid。 br>数据:复制类型rspocopies。
数据:生存期。

大小= xstrlen(content)。
将大小添加到total_size。

副本= gs_outputparams-copys。
寿命= gs_outputparams-寿命。

调用功能'ADS_CREATE_PDF_SPOOLJOB'
导出
dest = gs_outputparams-dest
页面= Total_pages
pdf_data =内容
名称= gs_outputparams-数据集
后缀1 = gs_outputparams-后缀1
后缀2 = gs_outputparams-后缀2
副本=副本
Instant_print = gs_outputparams-reqimm
auto_delete = gs_outputparams-reqdel
标题行= gs_outputparams-covtitle
接收者= gs_outputparams-receiver
除法= gs_outputparams-division
权限= gs_outputparams-authority
寿命=寿命< br> IMPORTING
假脱机=假脱机
例外情况
no_data = 1
not_pdf = 2
错误_开发类型= 3
操作失败= 4
无法写入文件= 5
设备丢失= 6 < br> no_such_device = 7
其他=8。
如果sy-subrc <>0。
消息ID sy-msgid类型sy-msgty编号sy-msgno
与sy-msgv1 sy-msgv2 sy -msgv3 sy-msgv4。
ENDIF。

消息s060(ssfcomposer)带有假脱机。


ENDFORM。 " SEND_PDF_To_SPOOL


FORM上载数据。

包含fp_spool_constants。

DATA:名称TYPE字符串,
文件类型TYPE char10,< br>文件表TYPE文件表,
rc类型i,
guiobj类型引用cl_gui_frontend_services,
uact类型i。
DATA:datatab类型ssfdata的表。
DATA:扩展类型字符串。 br>数据:bin_filesize TYPE i。
数据:缓冲区TYPE xstring。

扩展名= c_file_ext_pdf。
文件类型='BIN'。
CONCATENATE'*'扩展名INTO名称。
创建对象guiobj。

调用方法guiobj-> file_open_dialog
导出
default_filename =名称
CHANGING
file_table = filetable
rc = rc
user_action = uact
例外
file_open_dialog_failed = 1
cntl_error = 2
error_no_gui =3。
如果uact = guiobj-> action_cancel。
离开程序。
ENDIF。

读取 TABLE文件表INDEX 1 INTO名称。
检查sy-subrc =0。

调用功能'GUI_UPLOAD'
导出
文件名=名称
文件 ype =文件类型
导入
文件长度= bin_filesize

data_tab = datatab
例外情况
file_open_error = 1
file_read_error = 2
invalid_type = 3
no_batch = 4
其他=5。
如果sy-subrc <>0。
消息ID sy-msgid类型sy-msgty编号sy-msgno
与sy-msgv1 sy-msgv2 sy-msgv3 sy- msgv4。
离开程序。
ENDIF。 "#EC *

呼叫功能'SCMS_BINARY_TO_XSTRING'
导出
input_length = bin_filesize
导入
缓冲=缓冲
表格
Binary_tab = datatab
例外
失败= 1
其他=2。
如果sy-subrc <>0。
消息ID sy-msgid类型sy-msgty编号sy-msgno
与 sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4。
离开程序。
ENDIF。


content =缓冲区。
total_pages = fpages。

ENDFORM。< br>
FORM set_outpars。

数据:ls_outpars类型sfpoutpar。

通话功能'FPCOMP_SHOW_DIALOG'
更改
ie_outpar = ls_outpars
例外情况
取消= 1
用法错误= 2
系统错误= 3
内部错误= 4
其他=5。
如果sy-subrc <>0。
消息ID sy-msgid类型'S'编号 sy-msgno
与sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4。
离开程序。
ELSE。
将ls_outpars移至gs_outputparams。
ENDIF。
< br> ENDFORM。

haha101010
3楼-- · 2020-09-24 18:19

一个不同的答案-我做了什么。 过去:

1。 上载PDF

我已经使用功能模块GUI_UPLOAD和BIN类型。 现在请牢记有对象。 进行搜索。 我使用的是旧版本的SAP。

2。 如果要显示它。

呼叫方法pdf_html_control-> load_data
     出口
       url ='smart.pdf'
       大小= pdf_size
       类型='文字'
       子类型='pdf'
     输入
       Assigned_url = l_url
     改变
       data_table = l_pdf_data []
     例外情况
       其他= 1。
   如果sy-subrc <> 0。
     消息="内部IT错误"。
   万一。
  *显示数据
   呼叫方法pdf_html_control-> show_data
     出口
       网址= l_url
     例外情况
       其他= 1。
   如果sy-subrc <> 0。
     消息="内部IT错误"。
   ENDIF。

3。 使用打开数据集作为输入/关闭数据集。 保存到您的A11":directory"。 确保您具有有权访问SAP用户的目录。 如果需要,请在al11的配置中映射您的目录。 参见下面的打开/关闭。 (我检查目录,如果目录不存在,则创建一个新目录)

在二进制模式下输出的OPEN DATASET file_name。
   如果sy-subrc <> 0。
     message ='系统无法将文件存储到服务器上'。
     出口。
   万一。


   放大pdf。
     将pdf传输到file_name。
   结局。


   CLOSE DATASET file_name。
 

4。 检索PDF

 OPEN DATASET p_file_name用于在二进制模式下输入。
   如果sy-subrc <> 0。
     CONCATENATE'无法打开文件'p_file_name
         INTO p_message按空格分隔。
     出口。
   万一。


   清除p_pdf。
   刷新p_pdf。
   做。
     读取数据集p_file_name INTO p_pdf。
     如果sy-subrc <> 0。
       出口。
     万一。
     附录p_pdf。
   ENDDO。
 

5。 从SAP内部创建PDF。 使用智能表格。 创建并填写智能表单后,请运行以下命令-这会将PDF另存为字符串。 阅读功能模块上的文档。

清除消息。
     pdf_cp-getotf ='X'。
     pdf_cp-no_dialog ='X'。
 
 通话功能fm_name
          出口
               control_parameters = pdf_cp
               user_settings =''
               mdesc = matdesc
               mqty = mqty
               muom = tuom
               mdol = mdol
               单价=单价
               mstartdate = mstartdate
               Menddate = Menddate
               vbdka =电视台
               tvko =电视
               addrname1 = addrname1
               addrstras = addrstras
               addrort01 = addrort01
               addrregion = addrregion
               addrpstlz = addrpstlz
               phoneco =电话公司
               传真=传真
               prttelefax = prttelefax
               私房=私房
               prtfax = prtfax
          输入
               job_output_info = pdf_joi
          桌子
               addr = addr
          例外情况
               formatting_error = 1
               internal_error = 2
               send_error = 3
               user_canceled = 4
               其他= 5。


     如果pdf_joi-otfdata []是INITIAL。
       出口。
     万一。




 *将OTF数据转换为PDF格式
     通话功能'CONVERT_OTF_2_PDF'
          出口
               archive_index =存档索引
          输入
               bin_filesize = bin_filesize
          桌子
               otf = pdf_joi-otfdata
               线=线
               doctab_archive = doctab
          例外情况
               err_conv_not_possible = 1。


     如果sy-subrc <> 0或line []是INITIAL。
       出口。
     万一。


 

一周热门 更多>