cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Smartform : PDF to Base64 encoding

Former Member
0 Likes
4,215

Hi .

I am new to ABAP & Smartform.I have a requirement to convert smartform PDF to Base 64.I've tried the methods provided in the related SDN threads.But while decoding , junk characters are coming.Please find my code below :

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

    • Convert SF output to PDF format

*convert the smartform to .pdf file

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

DATA : I_DOC TYPE TABLE OF DOCS,

WA_DOC TYPE DOCS,

L_PDF_STRING TYPE XSTRING.

I_OTFDATA[] = ST_JOB_OUTPUT_INFO-OTFDATA[].

CALL FUNCTION 'CONVERT_OTF'

EXPORTING

FORMAT = 'PDF'

MAX_LINEWIDTH = 132

IMPORTING

BIN_FILESIZE = V_BIN_FILESIZE

BIN_FILE = L_PDF_STRING

TABLES

OTF = I_OTFDATA

LINES = I_LINES.

  • Convert Table i_bin to base64 encoding

DATA : I_BASE64 TYPE STANDARD TABLE OF SOLISTI1,

WA_BASE64 TYPE SOLISTI1,

WA_LINES TYPE TLINE.

DATA: LV_OUTPUT(255) TYPE C,

LV_INPUT(132) TYPE C,

LV_X(255) TYPE X,

LV_I TYPE I.

DATA: CONV TYPE REF TO CL_ABAP_CONV_OUT_CE.

LOOP AT I_LINES INTO WA_LINES.

LV_INPUT = WA_LINES-TDLINE.

LV_I = STRLEN( LV_INPUT ).

  • CONDENSE lv_input.

IF LV_I > 0.

TRY.

CALL METHOD CL_ABAP_CONV_OUT_CE=>CREATE

EXPORTING

ENCODING = 'UTF-8'

ENDIAN = 'L'

  • replacement = '#'

  • ignore_cerr = ABAP_FALSE

RECEIVING

CONV = CONV .

CATCH CX_PARAMETER_INVALID_RANGE .

CATCH CX_SY_CODEPAGE_CONVERTER_INIT .

ENDTRY.

CALL METHOD CONV->WRITE

EXPORTING

N = LV_I

DATA = LV_INPUT

  • view =

  • IMPORTING

  • len =

.

LV_X = CONV->GET_BUFFER( ).

CALL FUNCTION 'HTTP_BASE64_ENCODE'

EXPORTING

INPUT = LV_X

INPUT_LENGTH = LV_I

IMPORTING

OUTPUT = LV_OUTPUT.

  • Append to Table

WA_BASE64-LINE = LV_OUTPUT.

APPEND WA_BASE64 TO I_BASE64.

CLEAR : LV_OUTPUT, LV_X, LV_I, WA_BASE64, WA_LINES.

ENDIF.

ENDLOOP.

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

Thanks,

Jayita Ganguly

View Entire Topic
Former Member
0 Likes

Hello

Please refer to the following SAP note regarding conversion - 999712 - PDF conversion for Unicode

Regards.