Query in Deleting the Signature using Acrobat 9.0

Hello Folks,
We have used resetForm() method before removefield() in our coding
Observed result:
  Our application uses VC++,If the document has one Digital Signature using the fix(Mentioned below) we can able to delete the signature in the document  but when the  document has many number of Digital Signatures the fix is not working.It threws an exception
·        “NotAllowedSecurity: Security settings prevent access to this property or method”
·        The exception Id for the above exception is “0x80020009”
    Note: The behavior is wrt to Acrobat 9.0, but the code is working fine for Acrobat 7.0 and 8.0 versions. 
If we try the scenario in our application, on timestamp the document with Acrobat 9.0 and then signing the document with the same acrobat 9.0 and when deleting the signature using our application  again our fix is not working it throws the above exception.
The code details are given below
//Get Nth Field is done
DISPID dispidRestet;
OLECHAR *methodReset = { L"resetForm" };
hr = jso->GetIDsOfNames( IID_NULL, ( OLECHAR** )&methodReset, 1, GetUserDefaultLCID(), &dispidRestet );
if( hr != S_OK) {
  *errCode = kPSWErrIDispatchGetIDOfNames;
  return FALSE;
dispparam.cArgs = 1;
dispparam.rgvarg = new VARIANT[ dispparam.cArgs ];
dispparam.rgvarg[ 0 ].vt  = VT_BSTR;
dispparam.rgvarg[ 0 ].bstrVal = varResult.bstrVal;  
dispparam.cNamedArgs  = 0;
dispparam.rgdispidNamedArgs  = NULL;
hr = jso->Invoke( dispidRestet, IID_NULL, GetUserDefaultLCID(), DISPATCH_METHOD, &dispparam, NULL, NULL, NULL );
if ( hr != S_OK ) {
  *errCode = kPSWErrIDispatchInvoke;
  m_pAvdoc->Close(0);
  ret = FALSE;
EXCEPINFO exceptionInfo;
DISPID dispid2;
OLECHAR *methodName2 = { L"removeField" };
hr = jso->GetIDsOfNames( IID_NULL, ( OLECHAR** )&methodName2, 1, GetUserDefaultLCID(), &dispid2 );
if ( hr != S_OK ) {
  *errCode = kPSWErrIDispatchGetIDOfNames;
  return FALSE;
dispparam.cArgs = 1;
dispparam.rgvarg = new VARIANT[ dispparam.cArgs ];
dispparam.rgvarg[ 0 ].vt  = VT_BSTR;
dispparam.rgvarg[ 0 ].bstrVal = varResult.bstrVal; 
dispparam.cNamedArgs  = 0;
dispparam.rgdispidNamedArgs  = NULL;
hr = jso->Invoke( dispid2, IID_NULL, GetUserDefaultLCID(), DISPATCH_METHOD, &dispparam, NULL, &exceptionInfo, NULL );//here hr throws the exception for multiple signed documents
if ( hr != S_OK ) {
  *errCode = kPSWErrIDispatchInvoke;
  m_pAvdoc->Close(0);
  ret = FALSE;
  //return FALSE;
else{
m_pPddoc->Save(1,strPDFFile);
m_pAvdoc->Close(true);
Plese guide us how to over come the exception
Regards,
DOCNet.

Hi Leo,
             Thanks for your reply!!!.:-)
          Both the signatures are done by me only.    
          The thing is the code works fine for one signature, but it throws an exception for documents having many signatures.
          Can you guide me how to proceed further.

Similar Messages

  • When deleting the signature using Acrobat 9.0 -server threws an exception error displays

    Hi Everyone,
    I have built an application using VC++ ,in my application i try to sign a document using Acrobat 9.0 ,it gets properly signed and when i try to remove the signature it throws an exception that " Server threws an exception" ,the same code if executed in Acrobat in 7.0 is properly working.
    The code is as below
    DISPID dispid2;
    OLECHAR *methodName2 = { L"removeField" };
    dispparam1.cArgs = 1;
    dispparam1.rgvarg = new VARIANT[ dispparam1.cArgs ];
    dispparam1.rgvarg[ 0 ].vt = VT_BSTR;
    dispparam1.rgvarg[ 0 ].bstrVal = varResult.bstrVal;
    dispparam1.cNamedArgs = 0;
    dispparam1.rgdispidNamedArgs = NULL;
    hr = jso->Invoke( dispid2, IID_NULL, GetUserDefaultLCID(),
    DISPATCH_METHOD, &dispparam1, NULL, NULL, NULL );
    here after executing this line the hr throws "Server thres an exception"
    What could be the reason please throw ur ideas.
    Regards,
    Nethaji

    While deleting manually using acrobat 9.0 we are able to deleted it. But while deleting the same through code we get the following exception
    hr = jso->Invoke( dispid2, IID_NULL, GetUserDefaultLCID(),
    DISPATCH_METHOD, &dispparam1, NULL, &exceptionInfo,
    &puArgErr );
    ExceptionInfo = "NotAllowedError: Security settings prevent access
    to this property or method."
    puArgErr = 0
    Exception id : 0x80020009
    How to give the permission to invoke this method?

  • How can I find the location of the signature used in the Adobe Reader signature feature?

    How can I find the location of the signature used in the Adobe Reader signature feature? I've been using the signature feature for a while now and it works great and I'd like to use it on another computer. However, I forgot where I stored the signature. Adobe finds it with no problems (the signature pops up when I click "Place Signature"), but I have no idea where it is.

    Hello,
    It's here - C:\Documents and Settings\username\Application Data\Adobe\Acrobat\10.0\Security\
    For more information, please refer - Cannot create a digital ID/signature
    ~Deepak

  • Query for deleting the minimum updated record.

    Hello Everybody,
    I have table USER_RECENT_PROJECTS which has SIX columns USER_NAME,PROJECT_ID,CREATED_BY,CREATED_ON,UPDATED_BY
    and UPDATED_ON.The purpose of having this table to get 5 recent PROJECTS
    on which user has worked on.
    I have trigger called RECENT_PRJ_TRIGG which IS FIRED when the data is inserted or updated on PROJECT table.After this trigger calls procedure PROC_USER_RECENT_PRJ and that procedure puts the data in this table.
    It is inserting the data upto 5 records when the six records comes it deleting the record which is least UPDATED_ON from the table USER_RECENT_PROJECTS but the problem is it is deleting
    the record from other user that i don't want.I want to delete the the record which is
    least UPDATED_ON from particular user.
    Please help me on this issue.
    Here is the trigger
    CREATE TRIGGER RECENT_PRJ_TRIGG
    AFTER INSERT OR UPDATE ON PROJECT
    FOR EACH ROW
    DECLARE
    NUMBER_OF_PROJECTS NUMBER:=0;
    EXISTING_PROJECT_ID NUMBER:=0;
    BEGIN
    SELECT COUNT(*) INTO NUMBER_OF_PROJECTS FROM USER_RECENT_PROJECTS WHERE USER_NAME=:NEW.UPDATED_BY;
    SELECT PROJECT_ID INTO EXISTING_PROJECT_ID FROM USER_RECENT_PROJECTS WHERE PROJECT_ID=:NEW.PROJECT_ID AND USER_NAME=:NEW.UPDATED_BY;
    NVLX.PROC_USER_RECENT_PRJ(NUMBER_OF_PROJECTS,:NEW.PROJECT_ID,EXISTING_PROJECT_ID,:NEW.UPDATED_BY,:NEW.CREATED_BY,:NEW.CREATED_ON);
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    NVLX.PROC_USER_RECENT_PRJ(NUMBER_OF_PROJECTS,:NEW.PROJECT_ID,0,:NEW.UPDATED_BY,:NEW.CREATED_BY,:NEW.CREATED_ON);
    END;
    And this is the procedure which is inserting the data
    CREATE OR REPLACE PROCEDURE PROC_USER_RECENT_PRJ (
                   NUMBER_OF_PROJECTS IN NUMBER,
                   NEW_PROJECT_ID IN PROJECT.PROJECT_ID%TYPE,
                   EXISTING_PROJECT_ID IN USER_RECENT_PROJECTS.PROJECT_ID%TYPE,
                   USER_NAME IN CONTENT_USER.USER_NAME%TYPE,
                        CREATED_BY IN PROJECT.CREATED_BY%TYPE,
                        CREATED_ON IN PROJECT.CREATED_ON%TYPE)
              IS
                                  MAX_RECENT_PROJECTS NUMBER := 5;
              BEGIN
                        IF NUMBER_OF_PROJECTS<=MAX_RECENT_PROJECTS AND EXISTING_PROJECT_ID=NEW_PROJECT_ID THEN
                             UPDATE USER_RECENT_PROJECTS SET USER_RECENT_PROJECTS.UPDATED_ON=SYSDATE,USER_RECENT_PROJECTS.UPDATED_BY=USER_NAME WHERE PROJECT_ID=EXISTING_PROJECT_ID
                             AND USER_RECENT_PROJECTS.USER_NAME=USER_NAME;
                        ELSE IF NUMBER_OF_PROJECTS<MAX_RECENT_PROJECTS AND EXISTING_PROJECT_ID!= NEW_PROJECT_ID THEN
                        INSERT INTO USER_RECENT_PROJECTS VALUES (USER_NAME,NEW_PROJECT_ID,CREATED_BY,CREATED_ON,USER_NAME,SYSDATE);
                        ELSE IF NUMBER_OF_PROJECTS=MAX_RECENT_PROJECTS AND EXISTING_PROJECT_ID!= NEW_PROJECT_ID THEN
                        DELETE FROM USER_RECENT_PROJECTS WHERE USER_RECENT_PROJECTS.PROJECT_ID IN(
                                       SELECT PROJECT_ID FROM USER_RECENT_PROJECTS
                                                 WHERE UPDATED_ON=(SELECT MIN(UPDATED_ON) FROM USER_RECENT_PROJECTS
                                  WHERE USER_RECENT_PROJECTS.USER_NAME=USER_NAME));
                   INSERT INTO USER_RECENT_PROJECTS VALUES (USER_NAME,NEW_PROJECT_ID,CREATED_BY,CREATED_ON,USER_NAME,SYSDATE);
                        END IF;
                        END IF;
                        END IF;
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    NVLX.PROC_USER_RECENT_PRJ(NUMBER_OF_PROJECTS,NEW_PROJECT_ID,0,USER_NAME,CREATED_BY,CREATED_ON);
    END PROC_USER_RECENT_PRJ;
    Please help me on this issue.
    Thanks in advance.....

    Thanks for your suggestion....
    I am using the trigger for populating the data in USER_RECENT_PROJECTS.This
    trigger is fired when data is INSERTED or UPDATED in PROJECT table.And that trigger will call the procedure PROC_USER_RECENT_PRJ.This is used
    to put data in USER_RECENT_PROJECTS table.I am getting the problem in procedure the problem is upto five records it is inserting the record when i go for insert sixth record it should delete least UPDATED_ON and insert new record.But it is deleting the record from other user that i don't want.I want to delete the record from the paarticular user.I am using this query for deleting the record..
                   DELETE FROM USER_RECENT_PROJECTS WHERE USER_RECENT_PROJECTS.PROJECT_ID=(
         SELECT PROJECT_ID FROM USER_RECENT_PROJECTS
                        WHERE UPDATED_ON=(SELECT MIN(UPDATED_ON) FROM USER_RECENT_PROJECTS WHERE USER_RECENT_PROJECTS.USER_NAME=USER_NAME)
                             AND USER_RECENT_PROJECTS.USER_NAME=USER_NAME
                   ) AND USER_RECENT_PROJECTS.USER_NAME=USER_NAME;
    when i fire this query individually it is deleting the proper record,but when i use it
    inside procedure it is creating the problem it is deleting the record from other user.
    Please suggest me other query for deletion.
    Thanks in advance.......

  • How do I delete a signature in Acrobat XI? Form section doesn't show

    I am trying to delete a signature and it appears from other posts that this is done throug the "Forms" section under Tools. However, under Tools the only options are Export PDF, Create PDF, Send Files, and Create Files. I thought the initial problem was me not being signed into my account, however that did not work.

    You use Adobe Reader, not Adobe Acrobat.

  • How can I create a linkable TOC on the left using Acrobat XI Pro?

    I am completely new to making PDFs. I have a User Manual that I created in Word and would like to have a TOC on the left for easy access to the topics. How can I do this?

    Geri ,
    The same can be done in a PDF using Acrobat .
    You can add bookmarks here.
    On the left hand side of the page ,you will see few options on the pane.Choose the option bookmark and you can create ,expand or delete bookmarks from there.
    That is equivalent to TOC in word.
    Regards
    Sukrit Dhingra

  • How to remove a dialogue with the placement of the signature in Acrobat XI

    Hello
    I have a problem. After upgrading to Acrobat Standard XI during the signing dialog still shows:
    "To start the certification process, select the Create a new rectangle for signature and then drag to select the area where you want the certifying signature appeared. After marking the desired area to get the next step in the certification process. "
    At the first signing I understand, but when our accounting so signed dozens of invoices per hour, the next step is clickable for her very annoying. I do not understand that there is no check box "Do not show".
    More can be seen on this video: http://screenr.com/gCT7
    Do not know if it can not be turned off somewhere? If a developer reads this, please add the option Do not show this dialog.
    Thank you for every answer.
    regards
    Ales Ulrych

    Hi Ales,
    I have your request an pass it on to the UI design team, however, I wouldn't count on the change. As a bit of background, when you click the Drag New Signature Rectangle button you are changing the state of Acrobat taking it out of the Selection Tool mode (the arrow cursor) and putting it into the Form Editing mode (the cross hair cursor). At this point the user needs someway to naturally get back to the default Selection Tool mode. The next step in the workflow is to display the Certify Document dialog, and either clicking the Sign button or the Cancel button will put the user back into the default mode. Clicking the Cancel button on the dialog you would like to have removed will also put you back into the default Selection Tool mode.
    However, if the dialog was suppressed via the "Do not show again" checkbox then clicking on the toolbar icon that starts the signing process would put you into Form Editing mode and you would have to know how to get back into the default mode if you decided to cancel the signing operation without inscribing a signature form field. It can be done by selecting the Selection Tool toolbar icon, but it is not intuitive. What has to be weighed here is what will the greatest amount of users find to be the easiest workflow. Being able to suppress the Draw Rectangle dialog will add more confusion for the casual user, and the greatest amount of users creating a digital signature on the fly tend to be casual users (that is casual users of digital signatures, not of Acrobat in general).
    I'd suggest that if you want to eliminate the create a signature form field on the fly process then add one to the document as part of your file creation process. That way the signer can right click on the signature field to get to the Certify Document dialog and wouldn't have to worry about adding a signature field. Also, using Seed Value (applied during file creation) you make it so the signer can only add a certifying signature and simplify the workflow to a single click to get the Certify Document dialog.
    Steve

  • Query regarding Update the data using application

    I have scenario i need to update single record in the the application and insert into a table
    for example
    SELECT ContactID,FirstName,MiddleName,LastName,Description FROM Contact
    Contact table contains 4 columns as explained. in the application there is one tab called Contact where it displays Above information
    and description is non editable.
    Now the new requirement has come user can update the description information and save information in a new column say 'Description1'
    that means new column needs to be added in the db and also necessary changes needs to be done at the application side
    For ex :SELECT ContactID,FirstName,MiddleName,LastName,Description,Description1 FROM Contact
    Now when user views the contact table it should display description info by default from 'description' table.
    If he edits he should see edited data from 'description1' table.
    Can any body guide me please and send me sample update query please, and the logic should if updated data is there display that data from
     'description1' table other wise display from  'description' table
    Smash126

    Hi Smash126,
    You need to fire the update command once you have filled the description record. It should happen on the primary key column of the record.
    For Example: 
    UPDATE Contact
    SET Description  = 'New Description',
    Description1 = 'New Description'
    where contactID = <<ContactID from application>>
    This way both will updated to same value, and next time you will get the updated value.
    Here is some ADO.Net links:
    http://www.codeproject.com/Articles/1155/Simple-ADO-NET-Database-Read-Insert-Update-and-Del
    http://www.onlinebuff.com/article_step-by-step-select-insert-update-and-delete-using-aspnet-c-and-adonet_32.html
    Regards Harsh

  • How can I delete the TemporaryTopic using JMS C API or VC++

    Hello everybody,
    how can I delete the TemporaryTopic after created TemporaryTopic using JMS C API "JmsSessionCreateTemporaryTopic"?
    I checked the document about JMS C API, but I couldn't find any API for delete TemporaryTopic, it's really not existing?
    Or if there's any other way that I can delete TemporaryTopic using VC++? Any comments will be appreciated.
    Thanks for your help!
    Youbing he

    As far as I can tell, there's no C-API option for deleting a temporary topic other than to close the connection used to create the temporary topic. Note that it is inefficient to frequently create and destroy temporary topics.
    You can get pretty much equivalent performance and functionality with a shared regular topic, non-durable subscriptions, and selectors that take advantage of the "indexed subscriber" optimization. (Consumers specify a selector that is unique to them in the exact form of "MyUniqueID NOT NULL", while publishers send to a specific consumer by adding "MyUniqueID" as a message property. The "X NOT NULL" selector format activates the indexed subscriber optimization.)
    Tom
    Edited by: TomB on Apr 27, 2010 10:44 AM

  • SQL query and Delete the data based on condition

    Hi All,
    I have one requirement like I need to fetch the data from the table, In that table one filed (XXXXX) domain type is STAMP.
    delete the data if the sy-datum ( length 8) is greater than field XXXXX  which has length 14.
    Please suggest me how to delete or fetch the data with the same length.
    I have used below code..but did not work..
    "Concatenate sy-datum '%'  into gv_var1.
    select *
       from DD03l
       into itab
    where XXXX like gv_var1."
    and tried this one as well
    1. DELETE itab WHERE XXXXX GT sy-datum.
    2. DELETE itab WHERE XXXXX GT gv_var1.

    Hi,
    When dates are in different formats you have to always convert them into one common format and then do the checks. Its better to convert the date in the variable into timestamp(using CONVERT DATE statement-look for abapdocu for its usage) and then compare it with the date on database.
    data: gv_var1  TYPE timestamp.
    convert date sy-datum into time stamp gv_var1.
    select *
    from DD03l
    into itab
    where XXXX like gv_var1.
    should work now.
    Hope this helps.
    Shwetha

  • How do you unlock fields when clearing the signature using the SignatureServcie?

    I have a workflow built using Process Management and is available through Workspace.  A claimant completes their expense report, digitally signs the form and submits it to their approver.  The form is setup to lock a set of fields after signature.  The approver then has the option to approve or disapprove the form.  When they disapprove the workflow clears the digital signature using Clear Signature Field operation in the SignatureService and routes it back to the claimant.  When the form is opened by the claimant the digital signature has been cleared as expected, but the fields are still locked.  Is there an autoamted way to unlock them?  Is this a service configuration issue or is there another service operation we need to call after clearing the signature? 
    We did try using Javascript to set the readonly property on the field with no luck. Any thoughts?
    We are developing on ES3 and will be upgrading to ES4 in the next week.

    You need to link the image.  See the example for the Canada flag below.
    <img src="http://forums.ni.com/ni/attachments/ni/130/6908/1/Canada-small.PNG" border=0>
    Replace with the image you like.  This goes into the signature box within the profile tab of the personal settings.
    RayR

  • DataScroller problem while delete the recoreds using checkbox

    Hi all
    I am new for jsf. I am using datascroller working with Tomahawk.My requirement like .
    I need to display 15 records in a page.And every row having checkbox which is used for delete the record.
    These are all working fine.Problem is if i delete all records in last page .The page is not going to previous page.
    The following is my xhtml code
    <h:panelGrid columns="2" style="width: 100% ">
              <h:outputText value="" style="width: 100%"/>
                   <t:dataScroller id="scroll_1"
              for="detailData"
                   styleClass="scroller"
                   style="align=right"
                   paginator="true"
                   paginatorActiveColumnStyle="font-weight:bold;"
                   displayedRowsCountVar="displayedRowsCount"
                   fastStep="10"
                   pageCountVar="pageCount"
                   pageIndexVar="pageIndex"
                   immediate="true"
                   paginatorMaxPages="9">
         </t:dataScroller>     
    </h:panelGrid>

    For Tomahawk specific questions, I would recommend posting to the myfaces user mailing list.
    Edited by: rlubke on Aug 7, 2008 1:19 PM

  • Deleting the applications using WLST

    Hi Gurus,
    I have been trying to delete the my application by using the command like this
    delete(“TestApp”,”AppDeployments”);
    But get an error every time I run this command saying
    WLSTException: ‘Error occured while performing delete : Cannot delete MBean of type AppDeployment with name TestApp. You can only delete MBeans children to the current cmo. \nTo view the children types that you can delete, use listChildTypes().’
    When i try to run this command as mentioned in the error
    listChildTypes()
    I do not see any MBeans which can help in deleting my TestApp, what am i doing wrong here? How can i delete the application?
    Thanks in advance.
    Edited by: 853410 on 27-Apr-2011 10:29

    HI,
    The Indentation (The space before a statement) is very important in WLST because the control statements like if{} and Loops like for{} and while{} starts and ends based on the Indentation.
    Please use the below corrected script:
    url=t3://localhost:8001
    username=weblogic
    password=weblogic
    app.1=MyApp1
    app.2=MyApp2
    app.3=MyApp3And following will be your WLST Script:
    from java.io import FileInputStream
    propInputStream = FileInputStream("test.properties")
    configProps = Properties()
    configProps.load(propInputStream)
    Url = configProps.get("url")
    print 'url=', Url
    User = configProps.get("username")
    print 'User=', User
    Password = configProps.get("password")
    print 'Password = ', Password
    connect(User,Password,Url)
    config()
    cd ('Applications')
    for i in 1,2,3:
         App = configProps.get("app."+str(i))
         delete (App)
         print 'Application ',App,' has been deleted Successfully..!!!'
         i =i+1
    So Now you need to just make changes in the Properties file...No need to touch anything in the WLST Script except the For Loop Count.Which is equal to the Number of applications which you want to delete ;)
    Thanks
    Ravish Mody

  • Since upgrading to Firefox 4 I cannot get PDF files to open in the browser using Acrobat 9.0

    I have my Application options set to "Use Adobe Acrobat 9.0 (default)," yet clicking on a pdf link causes the file to be downloaded and opened outside of the browser.
    I've checked for missing plug-ins, but that only leads me to a download page for Adobe Reader 10, which should not be necessary since I already have the full version of Acrobat.

    In my case it's with .puz files, which are crossword puzzle files used by sites like the New York Times and read by the application AcrossLite. I went into preferences and tried to change the action for the file type from "Save File" to AcrossLite but it would not take. Set it instead to "Always Ask" and then in the dialogue box selected AcrossLite and "always do this" and it gave an unknown error.
    This is FF 4 on a Mac.

  • Digital Signature using acrobat x

    I've made a form and included a field for a digital signature.  I saved it as user enabled but it still won't let someone using reader only sign the document.   I need help with this.

    Seriously?  Wow.  Ok.  Thanks.  This is the product that was purchased for me through work so I'm stuck I guess.

Maybe you are looking for

  • Merging two results into a single row

    Hi, Everyone... I think this is a weighted question and I feel like it's a bit difficult to phrase, so if it doesn't make sense - let me know and I'll try to clarify or provide some more concrete examples (if I can) :) I have a few tables inner joine

  • Error message when trying to download norton av

    hi, I get an error message while trying to download Norton AV. It says to contact server admin and if at all the .exe file gets downloaded it says that it is not a valid WIN 32 application

  • Help! pc to new iMac - HDD not 'seen' on pc... ethernet cable issue too!

    Hi all I just got my new iMac a few days ago and I've tried the ethernet cable and my mac can see the folders on the pc but wont open them! (the original item cannot be found) my ethernet cable isn't linked to the mac now but I can still see my compu

  • Need help on EJB deubugging

    Could you do me a faviour to post the example REMOTEDEBUGGING.JWS which can be seen on "Online Walkthrough Demo 'Remote Debugging EJBs in WebLogic'". I was frustrated with debugging EJB on weblogic under JDevelopper. Thanks CHENLW

  • Removing border from JButton

    * This is a crosspost, hope you don't mind. The earlier post I made was in the wrong forum and in the wrong thread.. * I'm trying to remove the border from a bunch of JButtons. My code adds custom actions to a custom JToolbar. The code responsible fo