<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Question Re: Smartform : PDF to Base64 encoding in Technology Q&amp;A</title>
    <link>https://community.sap.com/t5/technology-q-a/smartform-pdf-to-base64-encoding/qaa-p/7997194#M2855415</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks...Can you let me know that the code and the function modules I'm using are correct or not?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 17 Jun 2011 11:05:01 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2011-06-17T11:05:01Z</dc:date>
    <item>
      <title>Smartform : PDF to Base64 encoding</title>
      <link>https://community.sap.com/t5/technology-q-a/smartform-pdf-to-base64-encoding/qaq-p/7997189</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi .&lt;/P&gt;&lt;P&gt;I am new to ABAP &amp;amp; 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 :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Convert SF output to PDF format&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*convert the smartform to .pdf file&lt;/P&gt;&lt;P&gt;**************************************&lt;/P&gt;&lt;P&gt;      DATA : I_DOC TYPE TABLE OF DOCS,&lt;/P&gt;&lt;P&gt;                   WA_DOC TYPE DOCS,&lt;/P&gt;&lt;P&gt;                   L_PDF_STRING TYPE XSTRING.&lt;/P&gt;&lt;P&gt;      I_OTFDATA[] = ST_JOB_OUTPUT_INFO-OTFDATA[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'CONVERT_OTF'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          FORMAT                = 'PDF' &lt;/P&gt;&lt;P&gt;          MAX_LINEWIDTH         = 132&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;          BIN_FILESIZE          = V_BIN_FILESIZE&lt;/P&gt;&lt;P&gt;          BIN_FILE              = L_PDF_STRING&lt;/P&gt;&lt;P&gt;        TABLES&lt;/P&gt;&lt;P&gt;          OTF                   = I_OTFDATA&lt;/P&gt;&lt;P&gt;          LINES                 = I_LINES.&lt;/P&gt;&lt;P&gt;       &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Convert Table i_bin to base64 encoding&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA : I_BASE64  TYPE STANDARD TABLE OF SOLISTI1,&lt;/P&gt;&lt;P&gt;         WA_BASE64 TYPE SOLISTI1,&lt;/P&gt;&lt;P&gt;         WA_LINES  TYPE TLINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: LV_OUTPUT(255) TYPE C,&lt;/P&gt;&lt;P&gt;        LV_INPUT(132) TYPE C,&lt;/P&gt;&lt;P&gt;        LV_X(255) TYPE X,&lt;/P&gt;&lt;P&gt;        LV_I TYPE I.&lt;/P&gt;&lt;P&gt;  DATA: CONV TYPE REF TO CL_ABAP_CONV_OUT_CE.&lt;/P&gt;&lt;P&gt;  LOOP AT I_LINES INTO WA_LINES.&lt;/P&gt;&lt;P&gt;    LV_INPUT = WA_LINES-TDLINE.&lt;/P&gt;&lt;P&gt;    LV_I = STRLEN( LV_INPUT ).&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE lv_input.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF LV_I &amp;gt; 0.&lt;/P&gt;&lt;P&gt;      TRY.&lt;/P&gt;&lt;P&gt;          CALL METHOD CL_ABAP_CONV_OUT_CE=&amp;gt;CREATE&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              ENCODING    = 'UTF-8'&lt;/P&gt;&lt;P&gt;              ENDIAN      = 'L'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              replacement = '#'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              ignore_cerr = ABAP_FALSE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            RECEIVING&lt;/P&gt;&lt;P&gt;              CONV        = CONV .&lt;/P&gt;&lt;P&gt;        CATCH CX_PARAMETER_INVALID_RANGE .&lt;/P&gt;&lt;P&gt;        CATCH CX_SY_CODEPAGE_CONVERTER_INIT .&lt;/P&gt;&lt;P&gt;      ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              CALL METHOD CONV-&amp;gt;WRITE&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              N      = LV_I&lt;/P&gt;&lt;P&gt;              DATA   = LV_INPUT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            view   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            len    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              .&lt;/P&gt;&lt;P&gt;          LV_X = CONV-&amp;gt;GET_BUFFER( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'HTTP_BASE64_ENCODE'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          INPUT        = LV_X&lt;/P&gt;&lt;P&gt;          INPUT_LENGTH = LV_I&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;          OUTPUT       = LV_OUTPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Append to Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      WA_BASE64-LINE = LV_OUTPUT.&lt;/P&gt;&lt;P&gt;      APPEND WA_BASE64 TO I_BASE64.&lt;/P&gt;&lt;P&gt;      CLEAR : LV_OUTPUT, LV_X, LV_I, WA_BASE64, WA_LINES.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;***********************************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Jayita Ganguly&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2011 10:38:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/smartform-pdf-to-base64-encoding/qaq-p/7997189</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2011-06-16T10:38:03Z</dc:date>
    </item>
    <item>
      <title>Re: Smartform : PDF to Base64 encoding</title>
      <link>https://community.sap.com/t5/technology-q-a/smartform-pdf-to-base64-encoding/qaa-p/7997190#M2855411</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please refer to the following SAP note regarding conversion - 999712 - PDF conversion for Unicode&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2011 12:59:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/smartform-pdf-to-base64-encoding/qaa-p/7997190#M2855411</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2011-06-16T12:59:41Z</dc:date>
    </item>
    <item>
      <title>Re: Smartform : PDF to Base64 encoding</title>
      <link>https://community.sap.com/t5/technology-q-a/smartform-pdf-to-base64-encoding/qaa-p/7997191#M2855412</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jayita Ganguly,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;P&gt;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&lt;/P&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you encode and decode, then you revert back to the original PDF, which is a binary stream. So it's normal you get weird characters if you try to display it as characters! But maybe you didn't give enough information about where you got the junk characters!?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sandra&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2011 13:09:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/smartform-pdf-to-base64-encoding/qaa-p/7997191#M2855412</guid>
      <dc:creator>Sandra_Rossi</dc:creator>
      <dc:date>2011-06-16T13:09:01Z</dc:date>
    </item>
    <item>
      <title>Re: Smartform : PDF to Base64 encoding</title>
      <link>https://community.sap.com/t5/technology-q-a/smartform-pdf-to-base64-encoding/qaa-p/7997192#M2855413</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Sandra ,&lt;/P&gt;&lt;P&gt;For decoding we are using the following link where binary file is created but unable to open that in PDF. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.opinionatedgeek.com/dotnet/tools/Base64Decode/Default.aspx" target="test_blank"&gt;http://www.opinionatedgeek.com/dotnet/tools/Base64Decode/Default.aspx&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks, &lt;/P&gt;&lt;P&gt;Jayita&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2011 15:12:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/smartform-pdf-to-base64-encoding/qaa-p/7997192#M2855413</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2011-06-16T15:12:29Z</dc:date>
    </item>
    <item>
      <title>Re: Smartform : PDF to Base64 encoding</title>
      <link>https://community.sap.com/t5/technology-q-a/smartform-pdf-to-base64-encoding/qaa-p/7997193#M2855414</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It's normal that you get weird characters if you try to display the PDF binary stream as characters! Open a PDF file with Notepad and you'll see the same result!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2011 15:38:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/smartform-pdf-to-base64-encoding/qaa-p/7997193#M2855414</guid>
      <dc:creator>Sandra_Rossi</dc:creator>
      <dc:date>2011-06-16T15:38:01Z</dc:date>
    </item>
    <item>
      <title>Re: Smartform : PDF to Base64 encoding</title>
      <link>https://community.sap.com/t5/technology-q-a/smartform-pdf-to-base64-encoding/qaa-p/7997194#M2855415</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks...Can you let me know that the code and the function modules I'm using are correct or not?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 Jun 2011 11:05:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/smartform-pdf-to-base64-encoding/qaa-p/7997194#M2855415</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2011-06-17T11:05:01Z</dc:date>
    </item>
    <item>
      <title>Re: Smartform : PDF to Base64 encoding</title>
      <link>https://community.sap.com/t5/technology-q-a/smartform-pdf-to-base64-encoding/qaa-p/7997195#M2855416</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I see a big error in your code : you MUST NOT apply character encoding conversion on a binary stream !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But why don't you say that the PDF Reader can't open the PDF file, instead of assuming there is a base64 error... Just give the facts, only the facts.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sandra&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 Jun 2011 12:27:35 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/smartform-pdf-to-base64-encoding/qaa-p/7997195#M2855416</guid>
      <dc:creator>Sandra_Rossi</dc:creator>
      <dc:date>2011-06-17T12:27:35Z</dc:date>
    </item>
    <item>
      <title>Re: Smartform : PDF to Base64 encoding</title>
      <link>https://community.sap.com/t5/technology-q-a/smartform-pdf-to-base64-encoding/qaa-p/7997196#M2855417</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, &lt;/P&gt;&lt;P&gt;I have removed the encoding but the Output is Null only series of AAAAAAAAAAAAAAAAAAAA coming in BASE 64 conversion.&lt;/P&gt;&lt;P&gt;Please find below my new code ..&lt;/P&gt;&lt;P&gt;It would be helpful if you can provide me the exact code for conversion. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT I_PDF to WA_PDF . &lt;/P&gt;&lt;P&gt;LV_X = WA_PDF-TDLINE .&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'HTTP_BASE64_ENCODE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;INPUT = LV_X&lt;/P&gt;&lt;P&gt;INPUT_LENGTH = LV_I&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;OUTPUT = LV_OUTPUT.&lt;/P&gt;&lt;P&gt;Write : / LV_OUTPUT.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Jun 2011 15:20:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/smartform-pdf-to-base64-encoding/qaa-p/7997196#M2855417</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2011-06-21T15:20:41Z</dc:date>
    </item>
    <item>
      <title>Re: Smartform : PDF to Base64 encoding</title>
      <link>https://community.sap.com/t5/technology-q-a/smartform-pdf-to-base64-encoding/qaa-p/7997197#M2855418</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;P&gt;LV_X = WA_PDF-TDLINE.&lt;/P&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;As WA_PDF-TDLINE is type C, and LV_X is type X, it does a conversion BUT it is not what you expect: LV_X = 'RMjlùIOJM%8RUZ3T', it will set LV_X = all zeroes as 'RM...' does not start with an hexadecimal string (and so base 64 would return AAAAAA). See the ABAP doc for more info.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Moreover, base 64 encoding must be done with the whole byte stream (more precisely you must not split it outside chunks of 3 bytes, as this encoding converts 3 bytes into 4 characters, converting 2 bytes makes no sense for example, except at the end of the stream).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I advise you to use CL_HTTP_UTILITY=&amp;gt;ENCODE_BASE64 which converts a string which is casted as bytes. Before, you must concatenate the lines into a string, either using CONCATENATE LINES OF lt_char INTO l_target RESPECTING BLANKS, or SWA_STRING_FROM_TABLE (keep_trailing_spaces='X') depending on your release. Don't forget to shorten the string at exactly the number of representative characters (LV_I in your example).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BR&lt;/P&gt;&lt;P&gt;Sandra&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Jun 2011 16:15:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/smartform-pdf-to-base64-encoding/qaa-p/7997197#M2855418</guid>
      <dc:creator>Sandra_Rossi</dc:creator>
      <dc:date>2011-06-21T16:15:19Z</dc:date>
    </item>
  </channel>
</rss>

