Need to pre-populate and Extract data from static PDF form

Hi Jasmin or Jayan or anyone else that can answer.
I have a requirement to use Digital Signatures.  Because of that, the forms must be static PDFs and the form variables will be “document form”.  I want to pre-populate the form via an SQL query and custom render process and render it as PDF so that the submitter can apply a digital signature when he/she is done and ready to submit for approvalSubsequent approvers will also digitally sign the form.  I know that I will specify the custom render to render only once and thereby preserve the signature(s) on the form.  I do, however, need to extract data from the form to control the business process.  I cannot access the data in the form the same way I do with an xdp and I also cannot pre-populate the same way I do with an xdp. 
Any suggestions on how to attack this?

Parth, one problem with your approach is he will submit PDF and therefore you won't be able to put the PDF in a variable that's suppose to contain just xml.
The prepopulation should be the same. If you start off with an xdp, then you will call a render service that merges data with your xdp to create a PDF.
Now when you submit, you will submit the entire PDF back in the Document Form variable. In Workbench, you can use the FormDataIntegration service to extract data from that PDF that's being stored under Document Form var/object/document and put it in an xml variable. Then you can just use xPath to do your condition.
I'm assuming you'll just pass that same Document Form variable to the next step, because if you do any change to the PDF it'll brake the signature.
Let me know if I missed anything.
Jasmin

Similar Messages

  • Extracting data from a pdf form

    Hi,
    livecycle es2, workbench 9.0
    I'm new to workbench and have a problem extracting data from a pdf form submitted to a short lived process.
    I have set up the following very simple process :
    default startpoint >  ProcessForm > exportData > set value > set value > Write Document
    The intention is to update the document and write it to disk. So far, each step works except for the 'export data' where I cannot get the pdf to extract to xml.
    The Input to the 'export data' step is a variable (myDoc), Data Type: Document,  created from the incoming PDF form.
    If I write out myDoc it is an exact copy of the incoming document, so I guess the start and finish steps of of the process are OK.
    The incoming (PDF) form I was given had no data schema, but  I thought I could access the form data by exporting to an xml variable....
      Service : FormDataIntegration  / exportData
    input (PDF Document)    variable : myDoc
      output(Data extracted)     variable : myXMLData
    Then in the next step (set value) access the xml element I am after ..
    Mappings
    Location:  /process_data/@groupId      Expression: /process_data/myXMLData/xdp/datasets/data/form1/mainPage/groupId
    This is did not work, so I got the incoming form, exported the form data to an xml file,  and created a schema using  Stylus Studio. I then imported that into the myXMLdata definition. ( BTW - Do I need to specify the root node after importing it ? )
    Still not working !
    Extra info : The XML view of my incoming  form shows I have a minimal dataset definition- is this OK ??
    <connectionSet xmlns="http://www.xfa.org/schema/xfa-connection-set/2.8/">
       <?originalXFAVersion http://www.xfa.org/schema/xfa-connection-set/2.4/?></connectionSet>
    <xfa:datasets xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/">
       <xfa:data xfa:dataNode="dataGroup"/>
    </xfa:datasets>
    The schema created by stylus studio has none of the xfdf, xfa settings I have seen on other schemas - is this OK ?
    Any help to get this fixed greatly appreciated
    thanks
    steve

    hey thanks for the offer, but I am now sorted after I found a simple working example on line.
    This is a similar process to the one I am working on, and is clearly described and easy to follow...
    http://eslifeline.wordpress.com/2009/04/25/extracting-data-from-signed-pdf-using-livecycle -server/
    girish bedekar - I thank you !

  • I want to extract data from a PDF using Java

    I would prefer to extract data from a PDF and convert it to XML. Is there an API that will convert a PDF to some Adobe format XML? Ideally I would like to add some JAR files to my classpath, similar to PDFBox. I don't want to install a bunch of server side componets or anything like that.
    Thanks!

    Thank you for the reply!
    If I installed the server side components, how would a Java client invoke a service to export data from a PDF? RMI, Web Services?

  • How to Extract Data from the PDF file to an internal table.

    HI friends,
    How can i Extract data from a PDF file to an internal table....
    Thanks in Advance
    Shankar

    Shankar,
    Have a look at these threads:-
    extracting the data from pdf  file to internal table in abap
    Adobe Form (data extraction error)
    Chintan

  • Is it possible to import less than ALL of the data from a PDF form developed on LiveCycle?

    Is it possible to import less than ALL of the data from a PDF form developed on LiveCycle?

    Please ask in the LiveCycle Designer forum.

  • Need suggestion on how to extract data from a table

    Many years ago, I wrote many Perl scripts to increase my work productivity.
    Now I am starting learning Java, Javascript and PHP for some purposes. Just wrote a simple html2txt java program.
    Now I need experts' suggestion for one specific purpose - extract data from a html table. One of the examples is here: http://mops.tse.com.tw/nas/t06sa18/200902/A02_2454_200902.htm
    I need to extract datum from the table and make some analysis. (Txt is in Chinese, sorry)
    What is the best way to code it? Java, PHP or other? If Java, any suggestion what classes/module and approach to use?
    Thanks very much.

    xcomme wrote:
    Many years ago, I wrote many Perl scripts to increase my work productivity.
    Now I am starting learning Java, Javascript and PHP for some purposes. Just wrote a simple html2txt java program.
    Now I need experts' suggestion for one specific purpose - extract data from a html table. One of the examples is here: http://mops.tse.com.tw/nas/t06sa18/200902/A02_2454_200902.htm
    I need to extract datum from the table and make some analysis. (Txt is in Chinese, sorry)
    What is the best way to code it? It this a one shot (one time only task)? Then the best way is whatever way you are most comfortable with and which works.
    If on going then I doubt language choice matters but using a html parser rather than attempting to parse it yourself is going to help in any language.
    And are you starting with html files or starting with a http server? The two are very different.

  • Data connection, static PDF form, and presence

    I've created a form with a dynamically populated dropdown of names. To get it populated, one step was to save it as a static PDF form. Then it worked perfectly. However, I soon found that my scripts to show hide elements no longer worked. Certain Action Builder actions still worked, but not show/hide. So I created a simple test form, and show/hide worked normally. I've tried both formcalc and javascript. So is it true that a form can be dynamic and all actions work or the form can be static and connect to a database, but a form cannot be both data-driven and change presence?

    Thank you for this information, which may be true in theory, but my forms show that only the static form can show external data, and the static form can't change presence at runtime, although other actions (like reset all fields) will work. On the other hand, in a dynamic form, I can change presence, but data will not appear in the dynamic dropdown, which is grabbing names from SQL Server. Can you try an experiment yourself? Try a data connection and changing presence in the same form, and let me know what happens.

  • Gurus...Need help....extract data from BKPF header table and BSEG line item

    Gurus,
    I have to write the logic to fetch data from bkpf and bseg. Need help on how can i do that..
    I have to get bukrs  belnr gjahr ldgrp from BKPF for a given date and company code. For all these documents, then i have to get the line items from BSEG if the ldgrp is I1 or SPACE.
    If the ldgrp is not I1 or SPACE then i have to fetch the records from BSEG_ADD and then generate a ALV report with all the data including the data that was fetched from BKPF.
    So, it wil be a combined ALV report that displays header as well as LINE item data together...
    Can u please help me with the code...I am not sure how can everything go all together in one internal table....Becoz once its there in one table then only a ALV list can be generated.......
    Cheers:
    Sam

    hi Sam, this may be of some similar thing.
    Use this program, I got this prog from a source and we added a small conditional check in the program which checks document numbers in BSEG and also comapres in BKPF and sees if the output from BSEG falls under the posting data range specified in the initial selection.
    Now just so you know, this output is kinda messed up, so you will have to play with it in Excel to extract the document numbers, if that is what you want.
    ============================
    PROGRAM....... ZFI_BSEG_DOWNLOAD
    TITLE......... Download BSEG
    PROGRAM TYPE.. Download
    ======================================================================
    GENERAL DOCUMENTATION AND COMMENTS
    <...>
    ======================================================================
    ASSOCIATED PROGRAMS
    <Program>..... <Description>
    ======================================================================
    CHANGE HISTORY
    Date By Ticket Description
    REPORT zfi_bseg_download.
    TABLES: bseg, bkpf.
    TYPES: BEGIN OF ty_output,
    line(6000) TYPE c,
    END OF ty_output.
    TYPES: ty_tab_output TYPE TABLE OF ty_output,
    ty_tab_nametab TYPE TABLE OF x031l.
    CONSTANTS: c_delimiter(04) TYPE c VALUE '"%%"',
    c_records TYPE i VALUE 10000.
    SELECTION-SCREEN
    SELECT-OPTIONS: p_bukrs FOR bseg-bukrs,
    p_belnr FOR bseg-belnr,
    p_buzei FOR bseg-buzei,
    p_gjahr FOR bseg-gjahr,
    p_budat for bkpf-budat.
    SELECTION-SCREEN SKIP.
    PARAMETERS: p_file LIKE rlgrap-filename OBLIGATORY.
    SELECTION-SCREEN SKIP.
    PARAMETERS: p_append AS CHECKBOX DEFAULT 'X'.
    START-OF-SELECTION
    START-OF-SELECTION.
    PERFORM get_records.
    *& Form get_records
    FORM get_records.
    DATA: l_cursor TYPE cursor,
    lt_bseg TYPE TABLE OF bseg,
    ls_bseg LIKE LINE OF lt_bseg,
    lt_output TYPE ty_tab_output,
    ls_output LIKE LINE OF lt_output,
    lt_nametab TYPE ty_tab_nametab,
    ls_nametab LIKE LINE OF lt_nametab,
    l_field(30) TYPE c,
    l_output(50) TYPE c,
    l_date(10) TYPE c,
    l_len TYPE i.
    FIELD-SYMBOLS: <field>.
    IF p_append NE space.
    OPEN DATASET p_file FOR APPENDING IN TEXT MODE.
    ELSE.
    OPEN DATASET p_file FOR OUTPUT IN TEXT MODE.
    ENDIF.
    Retrieve BSEF fieldnames and data types
    PERFORM get_fields CHANGING lt_nametab.
    OPEN CURSOR l_cursor FOR
    SELECT * FROM bseg
    WHERE bukrs IN p_bukrs
    AND belnr IN p_belnr
    AND buzei IN p_buzei
    AND gjahr IN p_gjahr.
    Write out fieldnames
    IF p_append IS INITIAL.
    LOOP AT lt_nametab INTO ls_nametab.
    CONCATENATE ls_output ls_nametab-fieldname
    INTO ls_output SEPARATED BY c_delimiter.
    ENDLOOP.
    IF ls_output+0(4) = c_delimiter.
    SHIFT ls_output LEFT BY 4 PLACES.
    ENDIF.
    l_len = strlen( ls_output ).
    TRANSFER ls_output TO p_file LENGTH l_len.
    ENDIF.
    Process BSEG records
    DO.
    CLEAR lt_bseg.
    FETCH NEXT CURSOR l_cursor
    INTO TABLE lt_bseg
    PACKAGE SIZE c_records.
    IF sy-subrc 0.
    EXIT.
    ENDIF.
    LOOP AT lt_bseg INTO ls_bseg.
    SELECT single * FROM BKPF
    WHERE BUKRS = ls_bseg-BUKRS
    AND BELNR = ls_bseg-BELNR
    AND GJAHR = ls_bseg-GJAHR
    AND BUDAT in p_budat.
    if syst-subrc 0.
    continue.
    endif.
    CLEAR ls_output.
    Process individual fields of BSEG record
    LOOP AT lt_nametab INTO ls_nametab.
    CONCATENATE 'LS_BSEG-' ls_nametab-fieldname INTO l_field.
    ASSIGN (l_field) TO <field>.
    CLEAR l_output.
    Process by field data types
    CASE ls_nametab-exid.
    WHEN 'C' OR 'N' OR 'I'.
    Character, Numeric & Integer
    l_output = <field>.
    WHEN 'D'.
    Dates
    WRITE <field> TO l_date DD/MM/YYYY.
    l_output = l_date.
    WHEN 'P'.
    Packed decimals
    WRITE <field> TO l_output.
    WHEN OTHERS.
    MESSAGE a000(zs) WITH 'Data type error - ' ls_nametab-exid.
    ENDCASE.
    SHIFT l_output LEFT DELETING LEADING space.
    CONCATENATE ls_output l_output
    INTO ls_output SEPARATED BY c_delimiter.
    ENDLOOP.
    IF ls_output+0(4) = c_delimiter.
    SHIFT ls_output LEFT BY 4 PLACES.
    ENDIF.
    l_len = strlen( ls_output ).
    TRANSFER ls_output TO p_file LENGTH l_len.
    ENDLOOP.
    IF sy-subrc = 0.
    ENDIF.
    ENDDO.
    CLOSE CURSOR l_cursor.
    CLOSE DATASET p_file.
    ENDFORM. " get_records
    *& Form get_fields
    FORM get_fields CHANGING pt_nametab TYPE ty_tab_nametab.
    CALL FUNCTION 'RFC_GET_NAMETAB'
    EXPORTING
    tabname = 'BSEG'
    TABLES
    nametab = pt_nametab
    EXCEPTIONS
    table_not_active = 1
    OTHERS = 2.
    IF sy-subrc 0.
    ENDIF.
    ENDFORM. " get_fields
    hope this helps.
    cheers,
    Hema.

  • How to pass selection filters to logic and extract data from BI to BPC

    Hi everybody. I checked the forum and I found and tried some solutions but not matching my main aim.
    Scenario:
    In the input schedule I have a button which runs a data package to upload datas into BPC, coming from a BI cube.
    The pushbutton menu is ok. I tried also a solution suggested on the blogs and I can upload all transaction datas from BI to BPC successfully.
    But when I run the data load, I want to take from the BI cube ONLY the datas matching the CVW selected, not all the datas from the BI cube. Second needing is to upload during the run 2 keyfigures from BI to BPC with same selection filter.
    Example:
    - I select in the Current view  ENTITY:  ACME  and CATEGORY: CON
    - I want to upload the 0AMOUNT and 0QUANTITY from the BI cube to BPC of the 0COMPANY "ACME" and the 0VERSION: "CON"
    As I understand I can put in the Options of my transformation file using SELECTION , something to filter the datas, but I want that this is dependent from the current view selection. No extra prompts, and to upload the 2 keyfigures in the same process.
    Any idea is welcome.
    Thanks a lot in advance  for any help.
    Edited by: Walter Cista on May 29, 2010 9:29 AM
    Edited by: Walter Cista on May 30, 2010 7:14 PM

    Hi,
    thanks for the answer, but my situation is little bit different.
    I don't want to ask again with prompt to choose my ENTITY to the user, because I have on the main Input schedule, a menu button to choose ENTITY and so the user will just choose once.
    I also understood that the variables selected with the current view, can be found inside DEFAULT logic with [dimension].Currentmember, but I do not work with default logic. I have my own ZLOGIC, and during the call I would like to pass the ENTITY choosen by the user to the logic. In this way when I run my transformation to upload data from a BI cube to BPC cube, I only select a slice of datas, not all the datas in the cube. In short, if I can manage the [DIMENSION].CURRENTMEMBER I will only take from the BI cube the datas I want. As I know if in the TRASFORMATION OPTIONS, in SELECTION if I pass some datas, like ENTITY = ACME I upload to BPC only BI datas of company ACME.....
    So, I would like to do something like this.
    Any reply and help is welcome
    Walter

  • Validating and Extracting Data from OBSSOCookie

    Hello, I am looking for references on how to validate an OBSSO Cookie that is presented by a user (through their browser) and how to extract values from the cookie (using JAVA API calls in the Access Manager SDK).
    I am not able to locate any references in the developers guide - can someone please assist or point me to some documentation to start?
    Thanks in Advance.

    Here's a snippet from when I did this to get the username from the cookie:
    public String getUser(HttpServletRequest request, HttpServletResponse response) {
    try {
    String sdkLocation = System.getProperty("oam.sdk.location");
    ObConfig.initialize(sdkLocation);
    catch (ObAccessException ie) {
    System.out.println("Initialize failed");
    ie.printStackTrace();
    Cookie cookie = getCookie(request, "ObSSOCookie");
    ObUserSession userSession = null;
    try {
    userSession = new ObUserSession(cookie.getValue());
    catch (Throwable t) {
    t.printStackTrace();
    System.out.println("Failed to create new user session");
    try {
    String DNarray[];
    if (userSession.getStatus() == ObUserSession.LOGGEDIN) {
    String userDN = userSession.getUserIdentity();
    StringTokenizer userST = new StringTokenizer(userDN,",=");
    DNarray = new String[userST.countTokens()];
    for(int i=0;userST.hasMoreTokens();i++){
    DNarray[i] = userST.nextToken();
    userID = DNarray[1];
    System.out.println("user ID is " + userID);
    else {
    System.out.println("Login failed. Return status = " + userSession.getStatus());
    catch (com.oblix.access.ObAccessException obae) {
    obae.printStackTrace();
    obae.getMessage();
    return userID;
    }

  • How to extract data from offline PDF files as batch processing

    Hello.
    I want to use Adobe Interactive forms as batch processing.
    For instances,
    1. Users download offline PDF files.
    2. Users inputs data on their local PCs.
    3. Users upload these PDF files in one folder.
    4. Program can read data form PDF files on that folder. and put data to ERP at night.
    I' d like to know how to implement a program with Java or ABAP.
    Regards.
    Koji.

    Hi,
    It's possible to do it but first be sure that the SAP system can read the directory while your program is executed in background .
    Then you have to read the content of the directory and process each file you found.
    Look at this standard ABAP object cl_gui_frontend_services , you will find method for browsing a directory and retrieve list of file .
    Afterwards you have to process each file , for this have a look at this wiki code sample i wrote for processing inbound mail with adobe interactive form, it should help you [Sample Code for processing Inbound Mail with Adobe Interactive Forms|https://www.sdn.sap.com/irj/sdn/wiki?path=/display/snippets/sampleCodeforprocessingInboundMailwithAdobeInteractive+Forms]
    Hope this help you .
    Best regards.

  • How to read data from writable PDF Form?

    Hi,
    I need some help for the web site that I am working on.
    This is asp.net website. Client is requesting to provide writeable PDF forms on this website for download.
    These forms will be downloaded by customers, they will fill in the required data on these forms save it and upload the forms back on the website.
    Once uploaded we need to read whtever client has written in these forms and update in the database (SQL server).
    I have been going through adobe web site and lot of other web sites to understand this concept (as i have never done this).
    What I understood is, with Adobe LiveCycle designer and forms we can create writeable forms.
    However I have not got any idea or seen any documentation on how do I read the data that user has typed on these forms.
    This reading the data from pdf and saving into sql server, I have to do it in asp.net app.
    Could anyone please help me understand how to achieve this.
    Thanks a lot for you time.

    How do we do that?
    Just to clarify myself, I am not putting any button on PDF to invoking submit action from PDF. I am allowing user to upload the pdf and they click submit button on my aspx page.
    Are you saying that when user submits the aspx page there is a wasy to retrieve the data in the form of XML or name/value pair on this aspx submit? if so please send me some pointers/examples or let me know how to do this? Is there any additonal tools/software that we will need to buy from adobe for this?
    thanks for you time!
    Praxo

  • Split or extract pages from a PDF form?

    Once I convert my PDF into a form in LiveCycle Designer I am unable to then extract or split pages from the PDF in Adobe Acrobat Pro. Does anyone know if this is possible?
    Thanks for your help!
    Megan

    LiveCycle PDFs aren't really PDFs so there are a lot of things in Acrobat you can't do with them.

  • Need to recover mailbox and address data from a G4 PB OS 10.3.9 to 10.4.4

    My powerbook G4 HD just crashed. I am generally very dilligent about backing it up. However, I didn't really understand that I needed to export my address book and mailboxes in order back those up. To make matters worse I have been traveling extensively and haven't backed up my drive in a few months. Was able to easily mount the G4 PB drive in target disk mode from a G5. I am able to copy files and and can see the entire volume. I can even launch both the Mail and Address book apps from the G4 drive. How can I effectively rescue my address book and my email data files?

    Copy the whole Library folder from your user account, but do not replace the whole folder in your new system. Just for backup reasons it will house a lot of your old settings.
    Mails are in /Library/Mail/Mailboxes
    Addresses are in Library/Application support/AddressBook

  • Need to remove sixth and remaining characters from a PDF file name

    Typical file name:
    1925a - SomeotherTextHere.pdf
    Need to remove everything after and including the "-" symbol or the sixth position.
    I've tried this but to no avail:
    var filePath = this.path.replace(this.documentFileName,"");
    var newFileName = this.documentFileName.substring(0,6);
    this.saveAs(filePath + newFileName);
    Thanks in advance,
    Russell

    You were right......but a quick question. Why does this work without it? Thanks again!!!
    var filePath = this.path.replace(this.documentFileName,"");
    var newFileName = this.documentFileName.substring(1);
    this.saveAs(filePath + newFileName);

Maybe you are looking for