Queries around Reader enabled plugins

Hi,
I'm in the process of developing a plugin for adobe reader and was wondering if someone could help me clear the following doubts before I go ahead:
1. I want to add a new menu item to the Adobe Reader interface and launch another application when this menu item is clicked. Is this possible? Or are there any API restrictions?
2. If my plugin is going to be used within an organization, do I need separate keys for each employee? Is a key required per plugin or is it required per instance of the plugin?
3. What happens when the key expires? Do I get another key? Or is the same key renewed? Basically, I need to know if I will have to recompile and reinstall the plugin every time the key expires.

You will get more replies when you post your questions in the forum 'Acrobat Developers SDK'.

Similar Messages

  • Saving via Reader-Enabled plugins - An unimplemented or obsolete function was called

    Hello,
    I have recently Reader-Enabled my plugin, and am getting an issue using PDDocSave; getting "An unimplemented or obsolete function was called".
    Testing in X and XI has the same response.
    Reading Re: Acrobat Reader X and PDDocSave it seems that it is a bug in X, but I would have assumed something like this would be fixed by XI.
    The below code has it saving the file where it is, but I am also calling the function with the PDSaveCopy flag to a different location and get the same result.
    AVDoc avDoc = AVAppGetActiveDoc();
    PDDoc pdDoc = AVDocGetPDDoc(avDoc);
    ASFile asFile = PDDocGetFile(pdDoc);
    ASFileSys asFileSys = ASFileGetFileSys(asFile);
    ASPathName asPath = ASFileAcquirePathName(asFile);
    PDDocSave(pdDoc, PDSaveFull | PDSaveLinearized | PDSaveCollectGarbage, asPath, asFileSys, NULL, NULL);
    I thought perhaps the save flags may have been the issue, but eliminating one-by-one had no change.
    I don’t have the /READER_PLUGIN conditional on, if I do I cannot compile at all - Re: How can I save current document in my Reader plugin? 
    Thanks for your help. Thought I'd ask here before putting in a support request.

    One thing I notice in the docs for PDDocSave:
    IMPLEMENTATION LIMIT: the current implementation can
    only save a file to the same fileSys for the doc's current backing
    file, thus fileSys MUST BE NULL, otherwise the error XXX is raised.
    This is also reiterated in the other headers:
    @param fileSys The file system. If it is NULL, uses the fileSys
    of the document's current backing file. Files can only be
    saved to the same file system. fileSys must be either NULL
    or the default file system obtained with ASGetDefaultFileSys(),
    otherwise an error is raised.

  • Queries around Adobe Reader Plugins

    Hi,
    I'm in the process of developing a plugin for adobe reader and was wondering if someone could help me clear the following doubts before I go ahead:
    1. I want to add a new menu item to the Adobe Reader interface and launch another application when this menu item is clicked. Is this possible? Or are there any API restrictions?
    2. If my plugin is going to be used within an organization, do I need separate keys for each employee? Is a key required per plugin or is it required per instance of the plugin?
    3. What happens when the key expires? Do I get another key? Or is the same key renewed? Basically, I need to know if I will have to recompile and reinstall the plugin every time the key expires

    Hi NiceNix,
    Thanks for a quick reply and Solution. Yes their might be possibility of Key Getting corrupted. But before that i just need to make sure if I followed the correct steps while building the Reader Enable Plugin.
    I have tried a BasicPlugin sample that there in the Adobe 8 SDK. Following are the steps I followed while developing a reader unable plug in. Can you please verify if the steps are correct?
    1.In the sources folder of the sample I copied the Dummy.rc file and the Digital certificate file received from Adobe
    2.Open the project in VS 2005, Added the existing rc files in the project
    3.Build the Project
    4.Run the Makemd32.exe specifying the plug-in name, path of key pair file and the digest file I need to generate (msgdig.rc)
    5.In the resource view of the project , open the data portion of Dummy.rc file and replaced its API Encrypted data with the one from the msgdig file
    6.Build the project ( Not rebuild All)
    After following these steps I put the api file into the Plug-in folder of Adobe 8.0. Now, Whenever I open the Reader it gives a message saying Invalid Plug-in. Adobe will quit.
    Also, I tired the BasciPlugin sample from Adobe 9 SDK and followed the same steps as above. Here it does not give the error but my Plug-in is not seen in any top menus of Reader.
    Please let me know if I am missing out something.
    Thanks and Regards,
    Amruta Pawar

  • Plugin issue after using SignPlugin and Reader-enabling

    Hi all,
    I would like to ask for a help with plugin that we have developed for Adobe Reader.
    We are running into an issue with the plug-in and I was hoping that you can help me out.  It looks like plug-in works perfectly in the Acrobat but we have an issue with getting it  to work with Reader as described below.  I would greatly appreciate your help.
    We have a problem with plugin after signing it using RIKLA certificate provided by Adobe and Reader-enabling.
    Our plugin has been developed to allow users to sign PDF XML data from Reader user interface using custom library (sign library) and msxml3.dll library ( to transform PDF form XML into custom XML format). Plugin target is Adobe Reader 9 and it has been tested using Adobe Acrobat 9 earlier. Recently we received RIKLA certification key and after we tried to sign plugin and use it in Reader we started to have problems.
    Plug-in, compiled directly from source code and installed in Adobe Acrobat 9 is working correctly. We haven’t experienced any issues and everything seems to be working properly.
    The same plug-in signed using SignPlugin tools from Acrobat SDK 9.1 (command SignPlugin -kp keypairFileName -cf Reader_Integrated_Key_FileName  MyPlugin.api) and RIKLA key is not working correctly in Adobe Reader 9.
    The problem appears when plugin is trying to access external library msxml3.dll and execute createProcessor() function.  The same function work properly in Adobe Acrobat 9 before sing plug-in with RIKLA key.
    Below there is fragment with code that doesn’t work in Adobe Reader after reader-enabling but works in Adobe Acrobat.
    Plug-in crushes in line pProcessor = pTemplate->createProcessor();.
    try{
      pProcessor = pTemplate->createProcessor();
    } catch(_com_error &e) {
      printf("Error setting XSL style sheet : %s\n",
             (const char*)_bstr_t(e.Description()));
      AVAlertNote("Error setting XSL style sheet");
      AVAlertNote(e.Description());
      exit(-1);
    Code that we use in catch() block lets us know that error source is “msxml3.dll” library.
    As we have discovered problem occurs only after Reader-enabling .api plugin file. Clear compiled .api file works properly in Adobe Acrobat 9 without any problems.
    We would like to know if you have experienced any similar issues? If yes, what have caused them?
    Why same plugin is working in Acrobat 9 before signing and after signing using provided certificate it stops working?
    Are there any restrictions of using external libraries in Reader that are not working there, and these restrictions are not obeyed in Acrobat?
    Any help would be greatly appreciated.

    Hi Irosent,
    Is there a way that Acrobat and Reader differentiate between library initialization?
    Would it be useful if I place any part of code or project configuration for you so maybe you will be able to help?
    Libraries that we use (our own dll files) we place in windows/system32 folder (there also exists msxml3.dll file that we use).
    Here are preprocessor definitions that we have defined:
    _AFXDLL
    _USERDLL
    READER_PLUGIN
    NDEBUG
    WIN_PLATFORM
    WIN32
    _WINDOWS
    WIN_ENV
    ACRO_SDK_LEVEL=0x00090000
    As for library msxml3.dll that we use in code we have:
    #import <msxml3.dll>  named_guids
    using namespace MSXML2;
      MSXML2::IXMLDOMDocumentPtr
              pXml(MSXML2::CLSID_DOMDocument);
      MSXML2::IXMLDOMDocumentPtr
              pXslt(CLSID_FreeThreadedDOMDocument);
      IXSLTemplatePtr pTemplate(CLSID_XSLTemplate);
      IXSLProcessorPtr pProcessor;
    Later there is a part of code that I have posted in first post and where plugin crashes.
    I would really appreciate your help.

  • Reader enabling Adobe plugins

    Hi,
    I've been trying to Reader enable my plugin that works well with Acrobat Pro 9.0. However, everytime I load the plugin in Acrobat Reader 8.0, it throws an error saying "Invalid plugin detected. The reader quit"
    I have ensured that "Certified plugins" flag is disabled in the Reader.
    My guess is that either I'm not following the right steps for enabling the plugin or my key is corrupt.
    Can anyone tell me the exact steps for reader enabling a plugin if I'm using VS .NET 2005? Are the steps any different from VS .NET 2003?
    Also, is there a way for me to verify if the key I've received is corrupt?
    -Harsha

    Mmmm.. I'm not very sure. But I dropped a mail at the following address: [email protected]
    BTW, SignPlugin stopped throwing that error. It successfully "Reader Enables" my plugin. But the plugin does not load in Adobe Reader.
    I read in the documentation that checking the size of the key helps you identify if its corrupt or not. The Integration Key that I received from Adobe is 129 bytes long. Could it be corrupt?
    Also, to be more precise about the steps that I follow if I don't use SignPlugin (I basically tried both approaches. But neither of them worked):
    1. I basically add Dummy.rc as a project resource
    2. I then open the "API_Encrypted_DIGEST" Resource and paste the key that I received from Adobe below, the first 64 bytes of data (all 0's) that is already there.
    3. I then buld the plugin
    4. Then I used the Makemd32 tool to generate the actual Digest
    5. Once that was done, I replaced the first 64 bytes with the data I received after running the tool
    6. I then Build the plugin again (not Rebuild)
    7. I then place the .api file in the plug_ins folder of the Reader
    Am I doing something wrong here? Should I be having two resource files? One for the Encrypted Digest and one for the Digital Certificate. I have project deadline coming up and I'm completely clueless about what;s going wrong. Any guidance would be great!
    -Harsha

  • Reader enabling my plugin

    Hi all,
    Here is where I am at:
    I ran the MakeKeys and submitted the key to Adobe via the RIKLA form and was sent back the RIKLA-DigCert.rc file
    I have a compiled Adobe Reader Plugin with the "READER_PLUGIN" HFT preprocessor definition which works exactly as intended in Adobe Acrobat Standard.
    I have run SignPlugin with the following parameters:
    SignPlugin -kp keypair -cf RIKLA-DigCert.rc TT.api - with the result:
    "TT.api successfully Reader-Enabled""keypair" is the original keypair created by MakeKeys in the "kp" paramter
    I have done none of the "API_DIGITAL_CERTIFICATE" stuff, as found in the ReaderEnabling.pdf that is widely available - I assume this is very out of date for Reader X
    However, having done this, when I copy the TT.api plugin to the plugin directory of my or any other computer's Reader directory under Program Files, it does not load.
    Question is two fold:
    Have I missed a step? Perhaps something to do with API_DIGITAL_CERTIFICATE or something I need to incorporate into the VS2008 project...?
    How can I debug what is happening to prevent loading?
    I am happy to put up code or the actual .api file if they are useful,
    Thanks in advance for any advice,
    Dom

    I received a very helpful message from an Adobe employee who gave me the following information:
    [...] Is your plug-in based on any of the samples in the Acrobat SDK? If so, it will link to the AcroDspOptions.rsp file in the Samples directory in the SDK. You need to open this file in a text editor and remove the line:   /D PI_ACROCOLOR_VERSION=0x00060000        Save the file, then rebuild your plug-in and enable it with the SignPlugin tool. Note that some of the other samples in the SDK require this to be defined so you may want to copy it to another file so you can easily put it back later. [...]
    My plugin was based on the samples in the SDK, and removing this line from the AcroDspOptions.rsp file solved the problem.

  • Enabling the Adobe Reader X plugin from Virtualized Browsers

    I think I have this one figured out. From virtualized web browsers, I have never been able to use the Adobe Reader X plugin. The Virtual app would start to load any pdf and then crash with a message about a corrupt sandbox (ZAV application sandbox). This would happen if Adobe reader was installed on the machine or virtualized as a shared component. This may be because ARX runs out of its own sandbox. I have now got this working, I will do some testing from some other Browsers.
    Application = Virtualized IE8 Configured from a recipe using ZAV 9
    Fix = add the following to the "Child Process exception list"
    Acropdf.dll; Acroiehelper.dll; Gbdetect.dll; and Pdfshell.dll
    Virtual IE8 can now display PDF's using the web plugin. I will test with firefox and report back.

    I had a chance to build this into a virtual Firefox, here are the results.
    App = Firefox 12 build from snapshot with the latest flash built into the snapshot.
    Test Machines all had different versions of ARX installed.
    Child Process Exception List = Acropdf.dll; Acroiehelper.dll; Gbdetect.dll; and Pdfshell.dll + AcroRd32.exe < Would not work with only the dll's in there
    Outcome, this does work, I have seen it load the plugin, load full adobe in the browser or just directly hand the pdf over to adobe application. I have had limited testing with this though. Any updates an I will post them.

  • Adobe Reader Browser Plugin - How to disable right click print

    Here is some background to my question
    I'm using Adobe Reader 9.2 and have configured to use the Adobe Reader Active X browser plugin.
    which has the effect of launching pdf's within the IE browser rather than launching the full client. This is all working fine
    I have a requirement that I need to lockdown certain menu items (for the purpose of this example, lets say "SaveAs" and "Print") and toolbars which I have also done successfully using folder level javascripts. For example I have created a HideMenuItems.js file and placed this in the "C:\Program Files\Adobe\Reader 9.0\Reader\Javascripts", here is a snippet of the file which relate to hiding / removing the SaveAs and Print items
    app.hideToolbarButton("Print"); 
    app.hideToolbarButton("SaveFileAs");
    app.hideToolbarButton("Save");
    These work fine and hide the Print and Save toolbar buttons from the Adobe Reader Browser plugin menu.
    As an aside If I wanted to hide the same icons from the full adobe reader client I could use app.hideMenuItem("Print");
    So this all works fine and I'm happy so far. Now, with these settings in place I launch the pdf within the browser, although save and print buttons are now hidden and I cannot add them back, I can still RightClick anywhere in the pdf and get the context menu, from there I can select print.
    What I'm after is a way to either
    (i) Selectively remove menu items from the right click context menu, and therefore remove the print option e.g something like app.[hideRightClickMenuItem]("Print") would be great but I dont know what that method is called.
    or
    (ii) Disable the RightClick context menu altogether for Adobe Reader Browser Plugin
    Not bothered what the solution is whether its a reg hack - HKCU / HKLM  / or javascript line I can add to my HideMenuItems.js, But basically I want to lock down the ability for the users to select print button from all sources including "CTRL + P",
    Or if this is not possible let them hit CTRL P or right click print, but then not display the Adobe Print Dialog.
    Basically the printing of the documents in handled by our web app sending a silent print to the adobe application which again works fine, I just need to prevent the users from being able to initiate a print from within the pdf when displaying the pdf in a browser.
    Having searched around there is an API called AVAppRegisterForPageViewRightClicks which is supposed to prevent right clicks, But I dont know how to use this, or whether it can be used within my HideMenuItems.js file, tried many different syntaxes but to no avail.
    Does anyone have any experience in this? Adobe - do you have any suggestions ?
    Cheers
    Will

    Hi thanks for your response, yes it seems this API is availalbe but there are no examples of how to use it. You mentioned its available in Adobe reader and Adobe Acrobat plugins. Well I'm using the Adobe Reader Active X Browser Plugin so how would I use this API to restrict the Browser plugin.l
    I am not a developer writing my own custom plugins, I simply want to use the out of the box adobe reader product, specifically the Active X browser plugin, but I need to be able to customise and restrict what the user is able to do.
    The reason I need to do this is that we publish IE on a citrix server which users access to launch this highly secure web based application. The sensitive data that they view is in the forms of PDFs which are viewed by the Adobe reader browser plugin within the browser. The web application controls who can save, export, print etc, so I need to be able to lock down the Adobe Reader Active X browser plugin so that the user cannot initiate save, and print functionality from within the viewed pdf. I've done this successfully by restricting the menu and toolbar items but it is still possible to right click on the viewed pdf and click select print from the context menu. This would cause us a big security flaw, which would result in users that are only supposed to view being able to click print.
    I published a desktop (locked down) and published IE (locked down) all successfully with GPOs so the users cannot do anything they are not supposed to do, however Adobe reader it seems cannot be easily locked down and this is a problem as I might have to start looking at viable alterantives. Surely a simple requirement as this could be acheieved with relative ease.
    In an ideal world there would be an  available GPO template (.ADM file), which could be used to centrally manage these type of settings. I dont even mind writing an ADM myself, I've written many before, but for example what I need is the appropriate registry entries and how they are used to lock down / restrict certain functions so that I can write such an .ADM file.
    I dont mind how I achieve this, I just need a way to do it. So if using the API AVAppRegisterForPageViewRightClicks would achieve this, can someone please tell me how I can implement something that would use this API to restrict the right Click Print options for example.
    The sort of answer I;m looking for would be
    Create a file, paste in this code, place the file is this location xxxxx, this is a per machine fix so will affect all users
    or
    Edit the regstry and make this HKCU change xxxxx - This is obviously a per user fix so use normal methods to get this into every users profile.
    or
    Open up the file in this location xxxxxx and add AVAppRegisterForPageViewRightClicks = AlwaysDisable (or whatever the syntax is)
    Thanks for you help
    Cheers
    Will

  • Reader enabling plug-in on Mac OS X

    Hi,
    I have successfully created and reader-enabled a plug-in on a Windows platform (prooving that the KeyPair and certificate I have are correct).
    The same plug-in works fine too with Acrobat on Mac OS X.
    But I could not manage to reader-enable it on Mac OS.
    In the Release notes / Issues for Acrobat XI SDK, I've found this :
    MakeKey Reader-enabling Tool
    At this time, the MakeKey tool for Reader-enabling does not generate keys if you are using Mac OS 10.x on MacIntel or Windows Vista on 64-bit machines. Please check www.adobe.com/go/acrobat_developer periodically for future updates to this tool.
    And in the Tools folder for mac in the SDK in empty... I've tried with similar tools provided with 9.1 SDK but... even it SignPlugin says the plugin has successfully been enabled... it does not load...
    So... How is it possible toe reader-enable a plug-in for MacOS X ?
    TIA,
    J.

    Problem solved by upgrading to Java 7

  • Personalized reader enabled forms

    HI, Here is my use case:
    1) Visitor completes an HTML form on website
    2) Info is stored in local db, some transformations are done etc
    3) Some info is then populated into fields of a PDF reader enabled form
    4) pdf saved and emailed to visitor
    5) Visitor enters additional information into the form saves it and and sends to a company rep
    6) Company rep enters additional info in form, saves it and sends back to visitor
    7) repeat 5 and 6 as neccessary.
    8) Form is printed
    Where I am at implementing this
    1) I have Acrobat X and have created "reader enabled" form
    2) Using 3rd party tool (ABCpdf) I am able to populate pdf form fields via webserver script
    3) PDF is emailed to visitor
    4) Visitor is unable to enter data because form is no longer "read enabled"
    This is were things fall apart.  As soon as the 3rd party tool touches the PDF it is no longer a "reader enabled" form. This is true even if all the 3rd party tool does is "open" and "save" with absolutly not other operations performed on PDF, the simple act of opening and saving disables the "read enabled".  I have spoken with the vendor of the 3rd party tool and says that there is nothing they can do about this.  I have experimented with other tool vendors and the same seems to be true.
    Questions:
    1) If instead of ABCpdf I used the Acrobat SDK would I be able to programmically populate my form while having it remain "reader enabled" ?
    2) If I installed Acrobat on my web server and used the Core API would that work?
    3) Is this what LiveCycle is for?
    4) Looking at the the LiveCycle portion of the Adobe website and it looks like there are many different products. Which is the minimum product for this use case?
    5) Is there a way to use LiveCycle that doesn't involve having the PDF submit the data to the back end directly?  I really do just want the info saved in a PDF.
    6) Since I have no need of digital signatures or some of the other features I have read about with LiveCycle, should I just drop PDF from this use case and use web forms instead?  (I would be done by now if I had started with this option).
    Much thanks to anyone who can answer these questions.

    Thanks Bernd,  I will look into LiveCycle Reader Extensions.  
    This is supposed to be a short term solution to help smooth workflow while a full web portal is being developed.  The web portal will provide access for customers, sales, partners, etc.  and emailing pdf's around won't be part of it.   So this solution is supposed to be for the next siz months so I would rater not spend more then a day or two on it and I have already burned a day
    "transforming form data (FDF, XFDF, XML), which works much better with Reader, "      
    Can you tell me more about this?   Is this like shooting an XML file at a PDF for presentation?
    Thanks

  • Need clarification on "reader enabled" in LC ES

    Is "reader enabled" some plug-in or just an option to "mark" before I start developing new form? Cant find much about it in LC help but I see its very important for later user-end capabilities (like sending filled pdf by e-mail using only adobe reader...). If its a plugin, is it needed only on developer station or every user of that form?
    Please advice.

    Niall O'Donovan wrote:
    (1) is using Acrobat Standard (v9) or Acrobat Professional (v8 or lower). In Acrobat v9 under the Advanced menu is an option to enable the form. Click this and save the form with a different name. There are license restrictions when you use Acrobat.
    This is weird, I use Adobe Acrobat 9 Pro (9.0.0) and there is no such thing as "reader enabled" in my advanced. I checked whole tree and cant really see anything equivalent to this.
    There is "Change reading options" but its diabled (cant be used) with or without my form loaded.
    If you could be so kind and elaborate especially on this what is mentioned in last columnt of this screen.
    Its only possible to do so if we had
    (2) Adobe have a server component to their LC Enterprise Suite called LC
    Reader Extension ES2. This is intended for enabling large numbers of
    forms and/or for large numbers of recipients. This is an expensive
    option because it is server based and intended for large organisations
    or government agencies.
    Thank you very much for your insight. Best regards.

  • How to judge pdf is reader enabled?

    Hello,
        In my plug-in, want to know whether current document is reader enabled. How to achieve it? It's my pleasure if you can provide some codes.
    Thanks!

    1 - The PDF Reference/ISO 32000-1 explains these dictionaries and their presence.  A quick read of the relevant section is probably in order.
    2 - The details of those API calls can be found in the Acrobat SDK - which you certainly have if you are writing a plugin to Acrobat.  Again, consult the documentation.

  • Adobe Reader 9 plugin fails to load on RedHat Linux OS

    I built a plugin using Acrobat SDK 9 for Adobe reader 9.5 on Redhat Linux OS. I am able to successfully build and reader enable the plugin.
    But when I start Adobe Reader 9, the plugin fails to load with error "Undefined Symbol: RestorePlugInFrame".
    As I understand, on Linux platform with C++ enabled, the RestorePlugInFrame function should not be required.
    Is there any other flag I need to set while building the plugin?
    Appreciate any suggestions in resolving this issue. Thank you.
    -Srilatha

    Yes. Adobe support told me that the license key I used to build Adobe 8 plugin on Linux should work for Adobe 9 plugin too. Using SignPlugin tool and the license key I was able to successfully reader enable the plugin.
    -Srilatha

  • How do you enable plugins in safari settings on iphone 4s ?

    How do you enable plugins in safari settings on iphone 4s ? Latest version
    Anable to find enable plugins box to tick in settings.Not in same location as previous version of softwear.
    Any answers?

    I encountered the same problem in my iPhone 4S. You can try this. Remove the plugins that you have installed, sync your iPhone, and then restart. You'll be able to watch vedios using safari.

  • How to Enable Plugin before File Opened And Load PDF File From memory?

    hello everyone,
    there have two problems,all i want to do is to show a pdf file encrypted by AES algorithm.
    1.one is how to enable plugin before file opened?
    i developed another two plugin,and each enabled after one pdf file was opened,and now i want to replace the file open command and can do some word by meself,such as decrypt the pdf ?
    2.another is how to load pdf file from memory?
    if i can enable plugin before file opened,and than i can read the file and decrypt it,and now i want to do is do load the decrypt file (in memory) into the adobe?
    i tried many method,but all in vain.who can help me or give me some advice?
    thanks.
    merry chrismas to everyone.

    The proper way to handle other file formats (even where it is really a PDF that has been "wrapped") is to create an AVConversionHandler.
    To load a PDF from a source other than the file system, you need to create a custom AVFileSys.

Maybe you are looking for