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
stevehey 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
ShankarShankar,
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,
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:
Samhi 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 PMHi,
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!
MeganLiveCycle PDFs aren't really PDFs so there are a lot of things in Acrobat you can't do with them.
-
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,
RussellYou 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
-
Can't install hp solution centerin Windows 7 starter
In order to save money on color ink, which we rarely use, in my officejet 4500 g510n, I wanted to set all computers on the network to print with black ink only. To do this I have found that I must go thru the Hp Solution Center which I have accompl
-
Though there is an attractive range of photo presentation options in iPhoto email sharing, the time taken to send an image using these is inordinately long: 4-5 minutes for a single image. Added to this is all the confusion created by 'unrecognised u
-
Is it possible to get a new snow leopard installation disc if original has failed
We bought an MBP three years ago. We never took the installation discs out of the packaging. We just did and they have purple stains around the edge and don't work. Obviously the mac is out of warranty, but it seemed worth asking as I have never know
-
HT201210 When I Restore My iPhone with itunes gives error -1 will end of the Installing firmware
When I Restore My iPhone with itunes gives error -1 will end of the Installing firmware what is the problem ?
-
Why is the badge number removed?
I have notifications enabled in my mobile Flex application and notifications are working fine, but, the Air SDK seems to remove the "badge" number automatically before the invoke (and activate) events are fired. It's even noted as the standard behav