This is in response to a request I received earlier today.The request was “How do I submit PDF by Email, and when the PDF reaches the recipient, all the form fields should be set to read only”. I have created a simple form which sets all form fields to read only once the user clicks the “Email Submit Button”. The script which sets the fields to read only is in the MouseDown event of the EmailSubmit button. I have put the xdp,script to set the fields to read only in a PDF as file attachments which can be accessed by clicking here(Click on the paper clip icon to access file attachments)
Submit PDF By Email
To ReaderExtend the PDF form which will allow Adobe Reader users to submit the form follow the instruction mentioned here
How to ReaderExtend form using Acrobat
Let me know if you have any questions
Disabling all fields when submitting PDF by Email
May 15, 2008 · 86 Comments
Categories: Submit PDF by Email · Uncategorized
Tagged: Disabling form fields, email submit, Form Fields Readonly
86 responses so far ↓
ege // May 15, 2008 at 9:28 am |
Is it password-protected?
Girish Bedekar // May 15, 2008 at 1:54 pm |
The PDF in the link is password protected,but you should be able to access its file attachments by clicking the attachment icon
ege // May 16, 2008 at 9:23 am |
Perfect!! Thanks a million.
Sino // June 19, 2008 at 7:33 pm |
Hi Girish,
I would like to get a code when it becomes readonly, I don’t want those borders anymore which in turn is for printing purpose.
Girish Bedekar // June 19, 2008 at 8:25 pm |
Hi
If I understand you correctly, you want to make the form fields read only?
Sino // June 27, 2008 at 7:34 pm |
Yeah, I need to make the fields readonly, at the same time I don’t want those borders (of text field)on the printout. Can you help me on this?Thanks for your response.
Mobi // July 22, 2008 at 5:42 am |
Hi, I am new at lifecycle designer, and your solution is the one I am looking for, unfortunately being new; I looked at the sample but still could not figure out how to do so. I can check the javascript but could not open the xdp file. Please help.
Mobi // July 22, 2008 at 5:59 am |
Hi, I finally figure out to just apply the script from your sample on the click function of submit button and it works perfectly!
Thanks so much!
Girish Bedekar // July 25, 2008 at 7:01 am |
Glad to hear you got it working
let me know if you need any further help
cheers
Girish
Christian // August 7, 2008 at 6:09 am |
Hi, the pdf file is password protected and i wasn’t able to open it, how can i open the pdf file, i need this sample badly, please tell me how to access the file, and base on “Girish Bedekar”, another way to access it is by clicking the attachment icon, where can i see that icon? Can anyone help me, Because im having a problem regarding the email button in pdf, can any one give me a sample code, so that when i fill out the email field in the form then click the email button the form will me send in the email address i put in the email field.. Hope for your response as soon as possible..
Thanks and God bless..
Christian
Girish Bedekar // August 11, 2008 at 2:09 am |
Hi
Thanks for pointing the error.It is fixed now,you should be able to access the file attachments now,
let me know
thanks
girish
Christian // August 11, 2008 at 9:23 am |
hi Girish Bedekar,
i was able to access the pdf file only for viewing it in the pdf viewer, but when i try to to open the pdf file in the LifeCycle Designer, still asking for the password, i want to see the xml source of the pdf file, beacuse when i try to click the “Email Button” in my pdf that im working now, the pdf does not include as an attachment, Can any one know how to fix it (using code), so that when i click the filled-up pdf form and click the email button it will be send and the form that you filled-up will be included in the email as an attachment, so that the receiving person will be able to ready the pdf file..
Thanks and god bless..
Christian
Girish Bedekar // August 11, 2008 at 5:20 pm |
Hi
The PDF file in the link is password protected,however the xdp file(file attachment) is not password protected and you should be able to open the xdp file without any problems.
thanks
girish
Christian // August 14, 2008 at 7:30 am |
Hi,
How can i access/open the xdp file (file attactment) in my local machine?
Thanks and god bless..
Christian
Christian // August 14, 2008 at 7:35 am |
hi,
I can’t open it to my Adobe LifeCycle Designer, it has password, can you please give me the password for the attactment file, i need to see the codes (XML) of the file.
Thanks and god bless..
Christian
Christian // August 15, 2008 at 8:19 am |
Hi,
Im having probelem regarding the email..When i try to email the PDF, i was able to sent it but the person who receive the email, receive like this:
begin 600 charter_form.pdf M)5!$1BTQ+C>+CS],-”C(Y.” P(&]B:@T\/”]&:7)S=” Q,34Y+TQE;F=T M:” Q-3(V+T9I;’1E7!E+T]B:E-T;3X^ M<W1R96%M#0IXVH1836\’X9OC@&HL@15,’ MAE,T_[Z/&DWBM5&7S($B,%DP&D@# MD:&R.8#1'#$</&'#-8S E1A(@"L42($K"2-P!7P9N *^;#CP%<-EBP0C^*KA MP-&0*@6N M@2\#U\!7@&O@*\ U\%7@&O@J'M[ UV)!+@(+26@%(U+;*D8XT5I@)00)#K8, M4T05U-(140>%'45&09(E4#!!>2@J)M7 H"W1P. M;& 0EYYM,!>X103FFI ' M/(8K8$YHK(B,#<*%M),($TB,#,5&;-$SJ4)!94"), M!*5)"1,S3UT] ,-O26P3Q60K-R;-K,#,R:S S!87′B-<30(F5 “)P2S0(,2! M”1)&#&9%3,mailto:1@5F-F,*L) /&C5C8!)BP@<%L:B(!9F<E1T0HRF4\($$1!”TF@) M1\$U0E*$2+1GS/JI9PP=I=157C”!’ @&FMB6&B:6L=Z-T 6AMY01+EH $^L5 M]!=48Q@PBQC&.M7″08NI6@E H8HHT3″8]”4P9
Any one can help me resolving this problem im having, the pdf file should be send as an attachment, but is not and the above symbols displayed. Im using Adobe Acrobat 8 and Adobe LifeCycle Designer 8. Is there other software needed to resolved this? your reply is highly appreciated..
Thanks and God bless..
Christian // August 15, 2008 at 8:20 am |
Hi,
Im having probelem regarding the email..When i try to email the PDF, i was able to sent it but the person who receive the email, receive like this:
“begin 600 charter_form.pdf M)5!$1BTQ+C>+CS],-”C(Y.” P(&]B:@T\/”]&:7)S=” Q,34Y+TQE;F=T M:” Q-3(V+T9I;’1E7!E+T]B:E-T;3X^ M<W1R96%M#0IXVH1836\<-PS]*
Any one can help me resolving this problem im having, the pdf file should be send as an attachment, but is not and the above symbols displayed. Im using Adobe Acrobat 8 and Adobe LifeCycle Designer 8. Is there other software needed to resolved this? your reply is highly appreciated..
Thanks and God bless..
Adrienne Adams // September 15, 2008 at 11:13 pm |
Thanks! This is just what I need right now. Worked like a charm!
Jane Yeager // September 17, 2008 at 6:23 pm |
I am using LCD-ES 8.2.1. Your script works perfectly to lock the fields when the pdf form is submitted by e-mail, however using it changes the system-generated message in the body of the e-mail.
Without the script, the system-generated e-mail message reads: “The attached file is the filled-out form. Please open it to review the data.”
With the script, the message reads: “The attached file contains data that was entered into a form. It is not the form itself.
The recipient of this data file should save it locally with a unique name. Adobe Acrobat Professional 7 or later can process this data by importing it back into the blank form or creating a spreadsheet from several data files. See Help in Adobe Acrobat Professional 7 or later for more details.”
Is there a way to use your script to lock the fields AND keep the first message that refers to the completed form?
Thank you.
Girish Bedekar // September 17, 2008 at 10:34 pm |
Hi
I was not able to reproduce the problem,is it possible for you to send me the form.I shall take a look
mergeandfuse@gmail.com
Jane Yeager // September 17, 2008 at 10:49 pm |
I found that there is no problem with the e-mail message when I tested the form from Adobe Reader. No message was generated.
It seemed to only occur in LCD when I tested the e-mail button from the PDF preview.
Thank you for checking it out.
Ram // December 8, 2008 at 10:04 pm |
I am not able to open this form as it is password-protectec and I cannot see the attachment icon either. appreciate your help.
Xancholy // December 16, 2008 at 3:50 pm |
Thanks Girish for this great post.
Rather than locking ALL fields, is it possible to lock only certain fields and leave the others unlocked ?
eg: in a pre-filled order form, LOCK the Name & Address fields but keep all other order items unlocked.
Appreciate any help.
Girish Bedekar // December 18, 2008 at 8:44 pm |
Hi
Will get back to you on this one ASAP
Girish Bedekar // December 19, 2008 at 6:39 pm |
Here is a sample code which will make the name field read only, leaving the other fields on the form editable
for (var nPageCount = 0; nPageCount < xfa.host.numPages; nPageCount++)
{
var oFields = xfa.layout.pageContent(nPageCount, “field”);
var nNodesLength = oFields.length;
// Set the field property.
for (var nNodeCount = 0; nNodeCount < nNodesLength; nNodeCount++)
{
if(oFields.item(nNodeCount).name == “Name”)
{
oFields.item(nNodeCount).access = “readOnly”;
}
}
}
Xancholy // December 22, 2008 at 2:48 pm |
Thanks very much Girish. This code does not seem to work for drop-down lists.
I suspect I have to change this line:
var oFields = xfa.layout.pageContent(nPageCount, “field”)
What can I do to make drop-down lists read-only ?
Xancholy // December 22, 2008 at 3:35 pm |
Figured it out. Copying and pasting from this blog causes some problems with the inverted commas:
The following works perfectly, thanks.
for (var nPageCount = 0; nPageCount < xfa.host.numPages; nPageCount++)
{
var oFields = xfa.layout.pageContent(nPageCount, “field”);
var nNodesLength = oFields.length;
// Set the field property.
for (var nNodeCount = 0; nNodeCount < nNodesLength; nNodeCount++)
{
if(oFields.item(nNodeCount).name == “Name”)
{
oFields.item(nNodeCount).access = “readOnly”;
}
}
}
Xancholy // December 22, 2008 at 4:14 pm |
Girish, when I click the Email Submit button and fields are made readonly…
How can I :
1. Rename the attachment
2. Add a subject and body to the email
Thanks
Girish Bedekar // December 22, 2008 at 6:53 pm |
I do not think you can rename the attachment. To add the subject and body, mailto:someone@somewhere.com?subject=Hello%20again”. About body I think you will need to google it
I do not remeber the syntax
Xancholy // December 22, 2008 at 8:13 pm |
I use this in the Button preSubmit code
this.resolveNode(“#event”).submit.target = “mailto:” +
“someone@aaa.com” +
“?subject=Meeting&body=Hi.”;
BUT I need to generate the email dynamically without addressing it, ie: nothing in the TO field.
Using your example, how do I do this ?
Xancholy // December 22, 2008 at 8:19 pm |
Also what about using setDocumentAttribute – will that rename attachment ?
Working Girl // December 24, 2008 at 12:15 am |
Hi,
I’m completely new to Adobe LiveCycle, and I’m trying to design a doc for work. This is exactly what I need (read only after doc is submitted), but I can’t figure out how to get the code. There is no hyperlink under “clicking here”, and I’m not finding the paperclip icon. Am I totally blind or could it not be showing up on my browser (Explorer 7) for some reason?
Thanks!
Girish Bedekar // December 24, 2008 at 1:30 am |
Hi
That is strange, any way I have sent you the script and the xdp form to your email address
thanks
girish
Ksev Ellepé // December 28, 2008 at 6:00 pm |
Hi,
There must be a problem…I, too, don’t see the paperclip icon (I tried with IE7, FF, Opera & Chrome). Could you send it to me, please or make a clickable link ?
Thanks,
Ksev.
Girish Bedekar // December 29, 2008 at 5:02 pm |
Hi
Open the pdf
go to View | Navigaton Panels | Attachments
this will open the attachmennts window
Paul Aitkenhead // December 29, 2008 at 2:47 am |
Thank you for the very useful script excerpt, which works well for me.
I’d like to be able to disable text fields AND hide buttons on submit. When the inner do-loop (loop through fields on a page) is making use of the pageContent method to get each field, is there a way to detect which fields are buttons, so that when I find buttons I can set their presence to “invisble”?
The documentation on pageContent says that buttons will be located, I just need to know which fields are buttons and which are not.
Girish Bedekar // December 29, 2008 at 5:01 pm |
Hi
I shall find out and get back to you on this
thanks
girish
Girish Bedekar // January 8, 2009 at 3:28 am |
Hi
here is the script which will disable only the text fields
for (var nPageCount = 0; nPageCount < xfa.host.numPages; nPageCount++) {
var oFields = xfa.layout.pageContent(nPageCount, “field”);
var nNodesLength = oFields.length;
for (var nNodeCount = 0; nNodeCount < nNodesLength; nNodeCount++) {
if (oFields.item(nNodeCount).ui.oneOfChild.className == “textEdit”)
{
oFields.item(nNodeCount).access = “readOnly”;
}
}
}
Working Girl // January 6, 2009 at 7:26 pm |
Hi,
Thanks for posting this very useful script! I added it to my PDF and it works great. I’m wondering if there is a way to still allow the recipient to copy and past text from the text field? As it is, they can copy and past the box’s titles, but not the text actually in the box.
Thanks again for all of your help!
Girish Bedekar // January 6, 2009 at 7:40 pm |
ah, I do not think so, but anyway I shall confirm and let you know
thanks
girish
Working Girl // January 7, 2009 at 5:29 pm |
Maybe there is a way to disable drop down boxes, but not text boxes?
Girish Bedekar // January 8, 2009 at 3:30 am |
Hi
here is the script to accomplish that
for (var nPageCount = 0; nPageCount < xfa.host.numPages; nPageCount++) {
var oFields = xfa.layout.pageContent(nPageCount, “field”);
var nNodesLength = oFields.length;
var nCount = 0;
for (var nNodeCount = 0; nNodeCount < nNodesLength; nNodeCount++) {
if (oFields.item(nNodeCount).ui.oneOfChild.className != “textEdit”)
{
oFields.item(nNodeCount).access = “readOnly”;
}
}
}
Let me know if this works
Thanks
Girish
Working Girl // January 9, 2009 at 12:23 am |
I tried adding the script below and emailing it to myself. I was still able to make changes to all of the fields though. Has anyone else tried it? Thanks!
for (var nPageCount = 0; nPageCount < xfa.host.numPages; nPageCount++) {
var oFields = xfa.layout.pageContent(nPageCount, “field”);
var nNodesLength = oFields.length;
var nCount = 0;
for (var nNodeCount = 0; nNodeCount < nNodesLength; nNodeCount++) {
if (oFields.item(nNodeCount).ui.oneOfChild.className != “textEdit”)
{
oFields.item(nNodeCount).access = “readOnly”;
}
}
}
Girish Bedekar // January 9, 2009 at 4:26 am |
Hi
Could you please send me the form?
Send it to mergeandfuse@gmail.com
thanks
girish
Spikyles // January 12, 2009 at 8:43 pm |
I have created a fillable PDF form with Live Cycle 9 with a working email button. The fillable PDF will be used by several people I work with, who then email it to me for distribution via email to other individuals are intended as read only recipients. I need to “re-secure” the PDF before re-distribution. Is there code for this action to automatically re-secure the PDF?
Girish Bedekar // January 13, 2009 at 4:38 am |
can you please explain what you mean by “re-secure”
thanks
girisj
Spikyles // January 12, 2009 at 8:46 pm |
Also, I used the code given on this post and received the following error:
syntax error near token ‘(‘ on line 1, column 5.
Thanks.
Spikyles // January 12, 2009 at 10:55 pm |
Girish- Disregard my last post. I had the code right, but forgot to check the LANGUAGE pull down menu to JAVASCRIPT. The error is gone and my PDF works. Thanks.
techdef // January 15, 2009 at 10:50 pm |
Hi, I saved your file but I’m not seeing a paperclip icon anywhere? Can you post the raw code here? Or explain to me how to get to this ‘attachment’?
thanks
Girish Bedekar // January 15, 2009 at 10:56 pm |
The paper clip icon is on the left side, if you do not see it you can do “View | Navigation Panels | Attachments” to see the attachments window open up
let me know if you still have a problem
thanks
girish
Carrie // January 27, 2009 at 9:10 pm |
Hi..I’m new to LiveCycle. I need to make the form read only upon submission, however I have required fields and if they click submit, yet they haven’t completed all required fields, they are now unable to update the form after clicking the email submit. Any advice?
Girish Bedekar // January 28, 2009 at 3:52 am |
Hi Spikyles
The following code wold exit if the Name field is left blank. So the fields will not be set as read only when the user clicks the email button
here is the sample code
if(Name.rawValue == null)
{
exit();
}
for (var nPageCount = 0; nPageCount < xfa.host.numPages; nPageCount++) {
var oFields = xfa.layout.pageContent(nPageCount, "field");
var nNodesLength = oFields.length;
// Set the field property.
for (var nNodeCount = 0; nNodeCount < nNodesLength; nNodeCount++) {
oFields.item(nNodeCount).access = "readOnly";
}
}
Let me know if you need more help
thanks
girish
Girish Bedekar // January 28, 2009 at 4:03 am |
Hi Carrie
To hide the email button when the other user gets the form in email you would just need to add the following line at the very bottom of the script after the 2 }} braces
this.presence = “hidden”;
the following is the complete script
for (var nPageCount = 0; nPageCount < xfa.host.numPages; nPageCount++) {
var oFields = xfa.layout.pageContent(nPageCount, "field");
var nNodesLength = oFields.length;
// Set the field property.
for (var nNodeCount = 0; nNodeCount < nNodesLength; nNodeCount++) {
oFields.item(nNodeCount).access = "readOnly";
}
}
this.presence = "hidden";
Spikyles // January 28, 2009 at 12:39 am |
Your code worked excellent on making all of my fields and buttons read only, after the PDF is submitted. Thanks! But is there additional code that will hide a button as well as make it read only? I’m trying to hide a button after the PDF is submitted via email.
Carrie // January 28, 2009 at 1:25 pm |
Thanks so much for your quick reply. This works perfectly. This is such a great help!!
Spikyles // January 28, 2009 at 3:46 pm |
Thanks Girish, for your quick reply and code!
Carrie // January 28, 2009 at 9:55 pm |
Sorry but I ran into a snag. I’m having trouble with the drop down boxes. Here is my example code for the fields so far:
if((TextField1.rawValue == null) || (TextField2.rawValue == null) || (NumericField15.rawValue == 0) || (Reason.rawValue == 0))
{
exit();
}
What would the drop down boxes be (Reason)? Same question for a decimal field. null or 0 do not work. Sorry, I am completely new to this and appreciate the help.
Girish Bedekar // January 28, 2009 at 11:10 pm |
Hi Carrie
This code is working for drop down list
if (DD.rawValue == null)
app.alert(“Null in dd”);
If the user has not made any selection in the drop down list
you would get the alert box
Spikyles // January 28, 2009 at 10:33 pm |
Girish- I found the way to hide my button ! In the properties of the button, not through code, I changed the color of my button to a dark gray with a white font. I then added this line of javascript code to the end of your code-
Button1.fillColor = “255,255,255″;
Once my button is executed, your code executes and my button turns white (the same color as my form) and is therefore read only and hidden.
For your readers and reference, the Button1 is the name of my button, and obviously would change according to the user of the code and the name of their own buttons. The sample code that I referenced, and forgive me for not being able to give proper credit, is:
yourbutton.fillColor = “255,255,255″;
I found a javascript color chart to get the 255,255,255 which is the color white.
Thanks again for all of your help.
Carrie // February 2, 2009 at 7:03 pm |
Regarding my original question about setting the form to “read only” but have them complete required fields if they forgot after clicking Submit, I have a question:
Is there an object or event that we can check to see if the entire page has passed validation instead of checking each individual field for a value. For example, is there something like: if page is not valid, then exit?
Girish Bedekar // February 2, 2009 at 9:37 pm |
I do not think so
AaronW // April 10, 2009 at 11:05 pm |
How/where do I add the code on the Email Submitt button? I find no “on mouse over” referance.
Girish Bedekar // April 11, 2009 at 12:02 am |
Open the script editor from “Window | Script Editor” menu
You will find mouse down,mouse up and other events
thanks
girish
Jason // April 14, 2009 at 7:45 pm |
Can you please repost… I am new to the whole PDF FOrm Scipting. Any help would be appreciated.
Jason // April 14, 2009 at 7:59 pm |
Ok…I know this can’t be that hard. I can’t even find the Paper Clip Icon? I found where in LiveCycle to put this, I just need help downloading.
Andrew // April 24, 2009 at 6:05 pm |
Hi Girish,
Very helpful script. I see a question was asked around the issue I’m up against. How can we make the read only form selectable? My recipient needs to be able to select data entered and copy into a new document. Thanks!
Girish Bedekar // April 25, 2009 at 12:04 am |
Hi Andrew
So you want the emailed form to be read only, but be able to select data and copy it into a new document?,
girish
Andrew // April 29, 2009 at 3:07 pm |
Hi Girish,
Yes. That is the functionality I am trying to dial in.
THANKS!
Andrew
Jason // April 30, 2009 at 1:29 pm |
Hi Girish:
Thanks for the help previously, everything worked great, once I familiarized myself with the application. One quick question? I have a few fields, First Name, Last Name. Can I get it to submit a PDF via email, and name the attachment FirstName_LastName.PDF?
Girish Bedekar // April 30, 2009 at 2:04 pm |
Hi
Unfortunately you cannot control the name of the attachment.
Maybe you should consider LiveCycle Server ES which can do all you want and more
Check it out here
http://www.adobe.com/products/livecycle/
Jason // April 30, 2009 at 2:40 pm |
Thanks Girish, but I have only one form that I need to do this with, it seems as if this software would be an overkill for this simple task. Thanks for your expertise.
Jason
Dave // May 5, 2009 at 5:10 am |
Hi Girish, the script to make the entire form read-only works great, but what line do I need to modify to allow my buttons to function? In particular I need the print button to continue to work once the form is read-only. Thanks!
Girish Bedekar // May 5, 2009 at 4:13 pm |
Hi Dave
I will send you a sample script by tomorrow
thanks
girish
Dave // May 7, 2009 at 3:01 am |
I found the line I needed to change for the print button, but when I save the form my fields are still editable. Do I need to change any settings before I extend usage rights to the pdf for Reader? Here’s the script I’m using:
for (var nPageCount = 0; nPageCount < xfa.host.numPages; nPageCount++) {
var oFields = xfa.layout.pageContent(nPageCount, “field”);
var nNodesLength = oFields.length;
// Set the field property.
for (var nNodeCount = 0; nNodeCount < nNodesLength; nNodeCount++) {
if(oFields.item(nNodeCount).name !== “PrintButton”) {
oFields.item(nNodeCount).access = “readOnly”;
}
}
}
FinalizeForm.presence = “hidden”;
app.execMenuItem(“SaveAs”);
Dave // May 7, 2009 at 3:42 am |
Had to change script based state-change properties to automatic. Works great now. Thanks for the help!
Chris // May 20, 2009 at 4:55 pm |
Can I do this without LiveCycle?
Girish Bedekar // May 20, 2009 at 6:11 pm |
Hi Chris
You mean without the LiveCycle Dsesigner? if so the answer is no
thanks
girish
Michael // June 3, 2009 at 9:15 pm |
I use the code above but when I email the PDF it can still be edited by the reciever. Can you share what you did for the other poster with that issue?
Girish Bedekar // June 3, 2009 at 9:50 pm |
Hi
Can you please send me the form, I can take a look
thanks
girish
Michael // June 4, 2009 at 1:55 pm |
thanks Girish! I emailed the form to mergeandfuse@gmail.com
Sumitha // July 6, 2009 at 9:09 am |
hi,
I have a signature field and submit button in my Form. Intially Submit button is invisible.When the user sign the form, i have to validate the form. I don’t know how to validate the signature field. please help. if the form is valid, i have to show the Submit button.
Yusuff // July 12, 2009 at 7:07 am |
hi
I would like to know where the script should be saved for disabling drop down fields while submitting the form through email
Bob // July 14, 2009 at 3:17 pm |
Is there a way to make my buttons invisable once the document is sent in e-mail as a pdf. I can make them screen only and they will not print but they show up on the pdf. These buttons are only needed prior to sending the form to the customer and being visable is rendering the form to complicated.
Seamus Kay // August 12, 2009 at 10:51 pm |
Just started using the Lifecycle designer and a really basic user. Your help on creating a button that emails the entire form as pdf was excellent. Made my day. It perfects what we wanted. Thank you soooooo much.
Tim // November 16, 2009 at 2:55 am |
Hi Girish. I am also having a problem with my form and the script, where the fields remain editable. What can I do to remedy this?
Thanks!
Girish Bedekar // November 16, 2009 at 5:41 pm |
Hi
Can you please send me your form please, will take a look and send it to you
thanks
girish