<?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>topic Re: PDF Invoice to XML conversion in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/pdf-invoice-to-xml-conversion/m-p/9793869#M1778841</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Jason,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I assume you need some code to extract data from an ADS rendered PDF file, and that your ABAP system has access to the SAP Netweaver ADS using ABAP? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In that case you might use some of the code below. &lt;/P&gt;&lt;P&gt;IV_INPUT is importing parameter type XSTRING, assumed to be the rendered PDF file&lt;/P&gt;&lt;P&gt;EV_OUTPUT is exporting/returning type XSTRING, which is the data part of the PDF file in XML format.&lt;/P&gt;&lt;P&gt;You can parse EV_OUTPUT with the iXML library.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;method extract.&lt;BR /&gt;&amp;nbsp; data:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lv_str_base64 type string,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lv_dest&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type rfcdest,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lr_fp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type ref to if_fp,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lr_pdfobj&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type ref to if_fp_pdf_object,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lv_pdf_bin&amp;nbsp;&amp;nbsp;&amp;nbsp; type xstring,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lr_fpex&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type ref to cx_fp_runtime,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lr_root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type ref to cx_root.&lt;/P&gt;&lt;P&gt;&amp;nbsp; if iv_input is initial.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; write 'error spot 1'.&lt;BR /&gt;*&amp;nbsp;&amp;nbsp; Some error handling&lt;BR /&gt;&amp;nbsp; endif.&lt;/P&gt;&lt;P&gt;&amp;nbsp; move cl_fp=&amp;gt;get_ads_connection( ) to lv_dest.&lt;/P&gt;&lt;P&gt;* get FP reference&lt;BR /&gt;&amp;nbsp; lr_fp = cl_fp=&amp;gt;get_reference( ).&lt;/P&gt;&lt;P&gt;&amp;nbsp; try.&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Create PDF Object&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lr_pdfobj = lr_fp-&amp;gt;create_pdf_object( connection = lv_dest ).&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set document&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lr_pdfobj-&amp;gt;set_document(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pdfdata = iv_input ).&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Tell PDF object to extract data&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call method lr_pdfobj-&amp;gt;set_task_extractdata( ).&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Execute, call ADS&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call method lr_pdfobj-&amp;gt;execute( ).&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Get data&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call method lr_pdfobj-&amp;gt;get_data&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; importing&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; formdata = ev_output.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch cx_fp_runtime_internal&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cx_fp_runtime_system&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cx_fp_runtime_usage&amp;nbsp;&amp;nbsp;&amp;nbsp; into lr_fpex.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ls_faultdata-fault_text = lr_fpex-&amp;gt;errmsg.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; write: 'error spot 2', lr_fpex-&amp;gt;errmsg.&lt;BR /&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Some error handling&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch cx_root.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; write: 'error spot 3'&lt;BR /&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Some error handling&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp; endtry.&lt;/P&gt;&lt;P&gt;endmethod.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 17 Oct 2013 21:39:03 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2013-10-17T21:39:03Z</dc:date>
    <item>
      <title>PDF Invoice to XML conversion</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/pdf-invoice-to-xml-conversion/m-p/9793868#M1778840</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;P&gt;We are a manufacturing company and receive numerous Purchase Orders and Invoices via email as a PDF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We spend a lot of time typing this information in, is there a software/service out there that will allow me to convert these PDFs into useable XML so I can import it? I've tried a bunch of "PDF to XML" converters but they don't do anything other than export the internal tags which does nothing. I need a XML document that is clean and useable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Many thanks for your help if I could solve this one.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Jason.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 Oct 2013 17:03:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/pdf-invoice-to-xml-conversion/m-p/9793868#M1778840</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2013-10-10T17:03:44Z</dc:date>
    </item>
    <item>
      <title>Re: PDF Invoice to XML conversion</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/pdf-invoice-to-xml-conversion/m-p/9793869#M1778841</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Jason,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I assume you need some code to extract data from an ADS rendered PDF file, and that your ABAP system has access to the SAP Netweaver ADS using ABAP? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In that case you might use some of the code below. &lt;/P&gt;&lt;P&gt;IV_INPUT is importing parameter type XSTRING, assumed to be the rendered PDF file&lt;/P&gt;&lt;P&gt;EV_OUTPUT is exporting/returning type XSTRING, which is the data part of the PDF file in XML format.&lt;/P&gt;&lt;P&gt;You can parse EV_OUTPUT with the iXML library.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;method extract.&lt;BR /&gt;&amp;nbsp; data:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lv_str_base64 type string,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lv_dest&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type rfcdest,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lr_fp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type ref to if_fp,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lr_pdfobj&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type ref to if_fp_pdf_object,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lv_pdf_bin&amp;nbsp;&amp;nbsp;&amp;nbsp; type xstring,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lr_fpex&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type ref to cx_fp_runtime,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lr_root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type ref to cx_root.&lt;/P&gt;&lt;P&gt;&amp;nbsp; if iv_input is initial.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; write 'error spot 1'.&lt;BR /&gt;*&amp;nbsp;&amp;nbsp; Some error handling&lt;BR /&gt;&amp;nbsp; endif.&lt;/P&gt;&lt;P&gt;&amp;nbsp; move cl_fp=&amp;gt;get_ads_connection( ) to lv_dest.&lt;/P&gt;&lt;P&gt;* get FP reference&lt;BR /&gt;&amp;nbsp; lr_fp = cl_fp=&amp;gt;get_reference( ).&lt;/P&gt;&lt;P&gt;&amp;nbsp; try.&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Create PDF Object&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lr_pdfobj = lr_fp-&amp;gt;create_pdf_object( connection = lv_dest ).&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set document&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lr_pdfobj-&amp;gt;set_document(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pdfdata = iv_input ).&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Tell PDF object to extract data&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call method lr_pdfobj-&amp;gt;set_task_extractdata( ).&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Execute, call ADS&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call method lr_pdfobj-&amp;gt;execute( ).&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Get data&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call method lr_pdfobj-&amp;gt;get_data&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; importing&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; formdata = ev_output.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch cx_fp_runtime_internal&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cx_fp_runtime_system&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cx_fp_runtime_usage&amp;nbsp;&amp;nbsp;&amp;nbsp; into lr_fpex.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ls_faultdata-fault_text = lr_fpex-&amp;gt;errmsg.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; write: 'error spot 2', lr_fpex-&amp;gt;errmsg.&lt;BR /&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Some error handling&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch cx_root.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; write: 'error spot 3'&lt;BR /&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Some error handling&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp; endtry.&lt;/P&gt;&lt;P&gt;endmethod.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Oct 2013 21:39:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/pdf-invoice-to-xml-conversion/m-p/9793869#M1778841</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2013-10-17T21:39:03Z</dc:date>
    </item>
  </channel>
</rss>

