Ducallbacks.h and Acrobat SDK XI Plug-in Development
I am new to plugin development and am in the process of upgrading a plug-in developed under Acrobat 5. The SDK XI API documentation under "Plug-ins and Applications > Developing Plug-ins and Applications > Understanding Plug-ins > About plug-in initialization > Handshaking" references the DUCallbacks.h header file.
I have that header file in the Acrobat 5 SDK, but I do not see it in the current Acrobat XI download and I don't see any usage of it in the SDK XI samples. Am I missing files or is Ducallbacks.h no longer part of the SDK? If it's not a part of the SDK any longer, is there an updated version of the plug-in developer's guide that discusses handshaking under the current SDK? I have searched the Adobe site and not found anything newer than what's included in the SDK download.
Thanks!
Thank you. It is disappointing that Adobe is releasing an obsolete document with the Acrobat XI SDK. I wasted several hours trying to track this down. I will use the sample code from here on.
Similar Messages
-
Add Digital Signature Using C# and Acrobat SDK
Hi everybody!
Please, how can I digitally sign PDF documents using Acrobat Professional 8 API and C# language?
I know that I need use JavaScript APIs (IAC) but I can't find anything really helpful in the Acrobat SDK Documentation. Could anyone post a sample of how use javascript manipulation inside C# (Framework 2.0), or give me a direction?
Thank in advance!Hi Felipe,
when i am signing the document.
I believe i am missing something in my code. After executing the code to sign, when i open it i get "The following signature fields are not signed".
Please let me know where i m doing wrong?
Here is my VB.NET Code
Dim gapp As Acrobat.CAcroApp
Dim gpddoc As Acrobat.CAcroPDDoc
Dim jso As Object
gapp = CreateObject("acroexch.app")
gpddoc = CreateObject("acroexch.pddoc")
If gpddoc.Open("C:\Test1.pdf") Then
jso = gpddoc.GetJSObject()
jso.SetUserPassword("'testpassword12'")
'jso.ShowMyMessage("SetUserDigitalIDPath")
jso.SetUserDigitalIDPath("'c:\\DrTest.pfx'")
jso.app.execMenuItem("ADBESDK:AddSignature")
jso.AddSignature(jso)
gapp.Show()
and here is the javascript
// password to use the digital signature
var sigUserPwd = "UNKNOWN";
// to test the sample without user input, specify:
// var sigUserPwd = "testpassword";
// path to the digital signature file
var sigDigitalIDPath = "UNKNOWN";
// to test the sample without user input, specify:
//var sigDigitalIDPath = "/C/DrTest.pfx";
// other variables the user can modify
var sigHandlerName = "Adobe.PPKLite";
var sigFieldname = "sdkSignatureTest";
var sigReason = "I want to test my digital signature program.";
var sigLocation = "San Jose, CA";
var sigContactInfo = "[email protected]";
/* Add a menu item for AddSignature */
app.addMenuItem( { cName: "ADBESDK:AddSignature", cUser: "Add My Signature", cParent: "Advanced",
cEnable: "event.rc = (event.target != null);",
cExec: "AddSignature(event.target)" });
// main function
AddSignature=app.trustedFunction(function (doc)
app.beginPriv(); // explicitly raise privilege
// if sigDigitalIDPath is not spcified, ask for user input
if(sigDigitalIDPath == "UNKNOWN"){
var cResponse = app.response({
cQuestion: "Input your digital ID path:",
cTitle: "Digital Signature",
cDefault: "/C/DrTest.pfx",
if ( cResponse == null) {
app.alert("No input.");
return;
else
SetUserDigitalIDPath(cResponse);
// if sigUserPwd is not spcified, ask for user input
if(sigUserPwd == "UNKNOWN"){
var cResponse = app.response({
cQuestion: "Input your password:",
cTitle: "Digital Signature",
cDefault: "testpassword",
if ( cResponse == null) {
app.alert("No input.");
return
else
SetUserPassword(cResponse);
// create a new signature field
var signatureField = AddSignatureField(doc);
// sign it
if(signatureField) Sign(signatureField, sigHandlerName);
app.endPriv();
// create a signature field in the upper left conner with name of sigFieldname
function AddSignatureField(doc)
var inch=72;
var aRect = doc.getPageBox( {nPage: 0} );
aRect[0] += 0.5*inch; // from upper left hand corner of page.
aRect[2] = aRect[0]+2*inch; // Make it 2 inch wide
aRect[1] -= 0.5*inch;
aRect[3] = aRect[1] - 0.5*inch; // and 0.5 inch high
var sigField = null;
try {
sigField = doc.addField(sigFieldname, "signature", 0, aRect );
} catch (e) {
console.println("An error occurred: " + e);
return sigField;
// define the Sign function as a privileged function
Sign = app.trustedFunction (
function( sigField, DigSigHandlerName )
try {
app.beginPriv();
var myEngine = security.getHandler(DigSigHandlerName);
myEngine.login( sigUserPwd, sigDigitalIDPath);
sigField.signatureSign({oSig: myEngine,
bUI: false,
oInfo: { password: sigUserPwd,
reason: sigReason,
location: sigLocation,
contactInfo: sigContactInfo}
app.endPriv
} catch (e) {
console.println("An error occurred: " + e);
// set a correct password for using the signature, so you can quietly sign a doc.
function SetUserPassword(pwd)
sigUserPwd = pwd;
// set path to the digital signature file
function SetUserDigitalIDPath(idPath)
sigDigitalIDPath = idPath;
Sumit -
Visual Studios 2008 and Acrobat SDK v9
I am trying to install Acrobat SDK v9. I am getting a prompt to install Visual Studios 2005. Is Visual 2008 supported? If so, what version of SDK?
Read this:
http://forums.adobe.com/message/3280598 -
Acrobat sdk and pdf library questions.
hello everyone. i have some questions.
is acrobat sdk can develop software without acrobat? like pdf library sdk
pdf library sdk and acrobat sdk can use same project?
thank youThis question belongs here: http://forums.adobe.com/community/acrobat/acrobat_sdk
-
Licensing and Deployment of Acrobat SDK
I am new to Adobe and have a question regarding licensing of Acrobat X PRO and Acrobat SDK. I would like to create a distributable form with
Acrobat X Pro and setup for users to complete the fillable Form with Acrobat reader and the completed form details will be submitted to a
network folder (FDF). I then want to programatically pickup the submitted form details, possibly using the FDF toolkit to parse the details,
and then programatically fill the form using the acrobat SDK. A desktop copy of Acrobat X PRO and Acrobat X SDK will be deployed on a
workstation on my network. The forms will be filled in with Acrobat reader on other workstations on the same network and on external
workstations with access to the network folder used for submitting the completed forms. Would this contravene any licensing restrictions?You only license the product--not the use of the forms. You should fill out a distribution agreement if you distribute Reader to end users.
Ben -
Acrobat SDK 9.1 - custom plugin - Polish Characters issue
Hi,
I hope any of you will be able to help me out as we are having small issue. We are developing a plug-in that will digitally sign only XML prior to posting via webservice. This plug-in is developed for Adobe Reader 9.1 and we are using Adobe Acrobat SDK 9.1 to develop it. This plug-in needs to support Polish characters, so the plug-in will be compiled with _UNICODE directive. We are running into a Polish Character issue where Polish Characters are not being displayed in the plug-in popup. Would you be able to tell us how is the Acrobat SDK dealing with this (as it is using std:string and not any type of wide string format), what type of params will get simple functions (like AVAlertNote).
We are also using the JS bridge to export data from the fdf form (using exportXFAData).
Any help would be greatly appreciated!
Thank you,
Jan KropiwnickiYou should be using ASText objects when working with Unicode.
-
What is adobe SDK ,acrobat SDK?
hi all,
i have big confuse on understanding the terms adobe sdk and acrobat sdk...
are they same or different? please explain me what is difference b/w them and tell me which is correct term to use ?The Acrobat SDK is the "Software Development Kit" for programming with Acrobat and Reader. There is no "Adobe SDK"
-
Converting Acrobat 7 SDK -built plug-in to Acrobat 9
We have a plug-in developed inhouse with Acrobat 7 SDK. We are looking for someone with SDK programming experience to help us port it for Acrobat 9. We tried ourselves using Xcode compiler, but it seems that the plug-in is not showing up either as a Menu item nor as a tool icon.
I understand that it may be a very simple problem, which somehow we miss resolving, but since our original programmer is no longer with us, we need some help in porting the tool to Acrobat 9 Pro.
If interested, or have a suggestion, please call me at 216-252 7300 ext. 2684.
AndrzejNoSmoking,
Thanks for the reply. Since I am not the programmer you may need to just bear with me a bit, if you can.
First, the app is running on OSX (10.3.9 - 10.5.11) - hence the use of XCode as compiler. I checked About Adobe Plug-ins list in 9 Pro which shows loaded plug-ins and our UpdatePage4Layer.acroplugin is not there. Unless there is another way to look at the loaded plug-in list, I cannot find it.
Second, could you explain the check using PluginInit method? There is a section in the project's code which covers PluginInit, but I am not sure how I can use it:
/* PluginInit
** The main initialization routine.
** Return true to continue loading plug-in.
** Return false to cause plug-in loading to stop.
ACCB1 ASBool ACCB2 PluginInit(void)
return MyPluginSetmenu();
I also searched for AVMenuItemNew in the project's code and here is what I found:
// Create our menuitem
menuItem = AVMenuItemNew (MyMenuItemTitle, MyMenuItemName, NULL, true, NO_SHORTCUT, 0, NULL, gExtensionID);
AVMenuItemSetExecuteProc (menuItem, ASCallbackCreateProto(AVExecuteProc, MyPluginCommand), NULL);
AVMenuItemSetComputeEnabledProc (menuItem,
ASCallbackCreateProto(AVComputeEnabledProc, MyPluginIsEnabled), (void *)pdPermEdit);
// get advanced menu
advancedMenu = AVMenubarAcquireMenuByName (menubar, "Advanced");
endToolsGroup1MenuItem = AVMenubarAcquireMenuItemByName(menubar, "endToolsGroup1");
ASInt32 sepIndex = AVMenuGetMenuItemIndex(advancedMenu, endToolsGroup1MenuItem);
// add new menuitem under AcrobatSDK Sub Menu
if(bUnderAcrobatSDKSubMenu) {
// Acquire the common "AcrobatSDK" sub menu.
commonMenu = AVMenubarAcquireMenuByName (menubar, "AMGR:AG_Plugins");
// if "AcrobatSDK" sub menu is not existing, create one under Advanced menu.
if (!commonMenu) {
commonMenu = AVMenuNew ("AG Plugins", "AMGR:AG_Plugins", gExtensionID);
commonMenuItem = AVMenuItemNew ("AG Plugins", "AMGR:AG_Plugins", commonMenu,
false, NO_SHORTCUT, 0, NULL, gExtensionID);
bCreatedCommonMenu = true;
AVMenuAddMenuItem(advancedMenu, commonMenuItem, sepIndex);
// add new menu item to Acrobat SDK sub menu
AVMenuAddMenuItem (commonMenu, menuItem, APPEND_MENUITEM);
// or directly add new menu item under Advanced menu
else {
endToolsGroup1MenuItem = AVMenubarAcquireMenuItemByName(menubar, "endToolsGroup1");
ASInt32 sepIndex = AVMenuGetMenuItemIndex(advancedMenu, endToolsGroup1MenuItem);
AVMenuAddMenuItem(advancedMenu, menuItem, APPEND_MENUITEM);
AVMenuRelease(advancedMenu);
AVMenuItemRelease(endToolsGroup1MenuItem);
AVMenuRelease (commonMenu);
HANDLER
if(endToolsGroup1MenuItem)
AVMenuItemRelease(endToolsGroup1MenuItem);
if (advancedMenu)
AVMenuRelease (advancedMenu);
if (commonMenu)
AVMenuRelease (commonMenu);
return false;
END_HANDLER
Then I found also instructions to get the tool bar button (which BTW did not work in Acrobat 8):
//add button to toolbar
DURING
// Create the main toolbutton. We position it just before the end of the
// tools group of buttons.
toolsSeparator = AVToolBarGetButtonByName(toolBar, ASAtomFromString("endSelectToolsGroup"));
toolButton = AVToolButtonNew (ASAtomFromString("AMGR:UpdatePG4Layer"),GetToolButtonIcon("UpdatePG4Icon","png"), true, false);
// You must set the internal/external nature of the toolbutton
// before adding it to the toolbar. Buttons are internal by default.
// AVToolButtonSetExternal (toolButton, TOOLBUTTON_EXTERNAL);
AVToolBarAddButton (toolBar, toolButton, true, toolsSeparator);
AVToolButtonSetExecuteProc (toolButton,
ASCallbackCreateProto(AVExecuteProc, MyPluginCommand), NULL);
AVToolButtonSetComputeEnabledProc (toolButton,
ASCallbackCreateProto(AVComputeEnabledProc, MyPluginIsEnabled), (void *)pdPermEdit);
AVToolButtonSetHelpText (toolButton, "AG Plugins:UpdatePG4Layer");
HANDLER
return false;
END_HANDLER
return true;
However I do not know where I can find AVMenuItemNew、, or is that expression a combination of separate items?
Thanks again for your help,
A. -
Plug in for visual studio 6.0 in acrobat sdk 6.0
Dear Friends,
I am absolutely in to the pdf plug in work. Can any one please help me, to know that how to install the plug in for visual studio 6.0.
I have installed acrobat sdk 6.0 , acrobat professional and visual studio 6.0 in my system.
Please suggest me whether I have to download any other tool for this.
Regards,
SafeeMy problem has resolved... still thank you...
I just follwed
You must install the wizard manually. Simply copy the AcrobatPluginWiz.awx and
AcrobatPluginWiz.hlp files from PluginSupport\Tools\Visual Studio App Wizard
subdirectory of the Acrobat 6.0 SDK installation to the Common\MSDev98\Template\
subdirectory of the Visual Studio 6.0 installation. The default path to copy from is
C:\Program Files\Adobe\Acrobat 6.0 SDK\PluginSupport\Tools\Visual Studio App Wizard
and the default path to copy to is C:\Program Files\Microsoft Visual
Studio\Common\MSDev98\Template.
Once the files are copied, the Acrobat 6.0 Plugin Wizard option will now be available in the
File > New > Projects dialog. -
WxWidgets, Mac and Acrobat 9 SDK
We are having a lot of problems in the Mac using wxWidgets whch have now started using as a cross platform replacement to ADM.
On MacOS 10.4 (Tiger):
Having the sample 'wxPlugin' from the Acrobat 9 SDK samples-folder installed in either Acrobat 9 Pro or Acrobat 9 Reader leads to malfunction in some circumstances.
The two issues we experienced are:
1. You cannot open a PDF from the Finder - it just happens nothing (if Acrobat hasn't been running before, it will start though).
2. You cannot shut down MacOS (or restart it) while Acrobat is running (it doesn't matter if there is any document open) - you have to quit Acrobat manually or "Force Quit".
This is due to the wxInitialize call during the plug-in initialization (a reduced plug-in which does nothing works, but adding the single call to wxInitialize() (nothing more) would lead to the issues described above). The following information should help to reproduce the problem:
1. The 'wxPlugin' sample hasn't been touched apart from adjusting the path to the wxWidgets headers and libraries.
2. For wxWidgets, version 2.8.7 and 2.8.8 has been used, both without success.
3. Both wxWidgets libraries have been build with the following configuration: ../configure --disable-unicode --disable-shared --disable-monolithic --enable-universal_binary
There are several other issues with the wxWidgets sample that may or may not be related to the above problems:
1. The wxWidgets message loop is never called (would be part wxEntry function normally):
2. This has more effects (but only for modeless dialogs, since modal dialogs have their own event queue while active):
a) Messages about entering the window aren't processed -> that would result in e.g. the mouse pointer being not changed, not showing up tooltips etc.
b) Idle events are never called
c) Windows are never deleted - so basically all (including the window controls) remain as memory leaks
The last two (b & c) can be solved by registering an AVIdleProc and calling there wxTheApp->ProcessIdle() ,but some messages still aren't properly processed - so modeless dialogs won't work properly.
This can be easily verified by the Acrobat 9 SDK wxPlugin sample - the mouse cursor doesn't change if you have a document open and you see e.g. the Hand, and you move over the Modeless dialog of the sample. The same is true for tooltips (but they aren't applied in the sample code) - only in certain circumstances, when the window has been active - they will work.
In order to get those events working, a call to wxTheApp->MacDoOneEvent() in the idle procedure would help, but that would make other parts of Acrobat irresponsible, so that is no solution - but might be a hint.
Regards
Michael Peters
MapsoftI have a plug-in for Reader 10 written using wxWidgets 3.0 under Mac OS X 10.7 and I have all problems
described in OP post. Issue with sockets is added. (when releasing socket object it has deleted twice sometimes)
In this thread Adobe says that a new wxWidges sample will be coming shortly.
The wxPlugin from SDK 11 samples looks like this:
ACCB1 ASBool ACCB2 PluginInit(void)
#ifndef MAC_PLATFORM
/* The following code is not supported on Mac. */
wxInitialize();
mainFrame = new AcrobatFrame;
wxTheApp->SetTopWindow(mainFrame);
return MyPluginSetmenu();
#else
return true;
#endif
Is that true that wxWidgets officialy not supported in Acrobat SDK?
Is there some approved and tested technique for proper using of wxWidgets with Acrobat SDK for Mac? -
Hi,
sorry for this noob questions, I have just graduated, and have no experience with MFC or the Acrobat sdk.
I have tried for some while to get a dialogbox opened and have followed the plugin apps developer guide and this guide http://www.adobeforums.com/webx?128@@.3bc2c0c7 , but I get an error message, "Assertion failed", every time I try to initialize the window. I have managed to localize where it fails. I can't seem to get hold of the modal parent using:
AVDoc avDoc = AVAppGetActiveDoc();
hParent = WinAppGetModalParent(avDoc);
My question is, what am I doing wrong? :P
And is there an other way to get hold of the handle for the modal parent?
best regards
SimenThe plug-in should go in your Acrobat\plug_ins folder (If you have a default install of Acrobat, the full path would be C:\Program Files\Adobe\Acrobat 9.0\Acrobat\plug_ins, but this would depend entirely on your system).
You don't need to "open" a plug-in. Once you put it in the correct folder, Acrobat will automatically load it the next time Acrobat starts, as long as the plug-in is compatible with that version of Acrobat.
You should know that a plug-in written for Acrobat 6 is certainly not guaranteed to work with Acrobat 9 (and there is a good chance it may not). -
Plugin created using C++ 6 and Acrobat 6 SDK Not Working in Windows
I have an Acrobat plugin compiled in Visual C++ 6 using Acrobat 6 SDK. The plugin works flawlessly in Acrobat versions 6 to 9 in Windows XP. While the plugin is able to add a menu iterm and tool bar icon in Windows 7, it causes Acrobat to hang everytime when activated in which event I have to close Acrobat. Since Visual C++ 6 is a 32 bit app, I have to believe that Acrobat 6 SDK is responsible for the behavior described herein in attempting to get the plugin to work in Windows 7. Any comments or suggestions regarding what Visual C++ version to use along with the appropriate Acrobat SDK to get the plugin to work in Windows 7 are appreciated. In doing so, I would also be interested in knowing what backward compatibility one may expect w/regard to previous versions of Acrobat in updating the plugin to work in Windows 7. As for the answer, correct me if I am wrong but I'm thinking Acrobat 9.
Adobe hasn't supported Acrobat 6, VC6 or the Acrobat 6 SDK for at least 5 years. You will need to move to the Acrobat 9 SDK if you wish support.
And Acrobat 9 and its SDK are fine with Windows 7.
From: Adobe Forums <[email protected]<mailto:[email protected]>>
Reply-To: "[email protected]<mailto:[email protected]>" <[email protected]<mailto:[email protected]>>
Date: Thu, 1 Dec 2011 01:15:42 -0800
To: Leonard Rosenthol
Subject: Re: Plugin created using C++ 6 and Acrobat 6 SDK Not Working in Windows Plugin created using C++ 6 and Acrobat 6 SDK Not Working in Windows
Plugin created using C++ 6 and Acrobat 6 SDK Not Working in Windows
created by gomfp49<http://forums.adobe.com/people/gomfp49> in Acrobat SDK - View the full discussion<http://forums.adobe.com/message/4056529#4056529 -
EVERY TIME the browser boots it kicks off the plug in check. I understand that this is important but it is currently a pain. Once I update Adobe Acrobat Plug in the browser does not recognize that the plug in has been installed and keeps coming up and up an up an up.
This is the message I get.
Adobe Acrobat
Adobe PDF Plug-In For Firefox and Netscape 10.0.1 Outdated Version Update
Please get back with me regarding a fix.
Jeff[discussion moved to Creating, Editing & Exporting PDFs forum]
-
How to use Acrobat SDK with C# and how much is it?
I just want to know these info because I'm new here and I can't seem to find any answers to these here in the forums and on the Documentation.
Hi,
The Acrobat SDK is free and can be downloaded from http://www.adobe.com\devnet\acrobat. Please note to use the SDK you require Acrobat/Reader to be installed.
As for using it with c#, there are a number of sample files in the SDK that can be used to learn. There is also documentation online and in the SDK.
Hope thie helps
Malcolm -
Sticky notes and comment funcation is not work in IAC of acrobat SDK
Hi,
My name is LuDa and I working on an application which use C# and the Acrobat SDK API chang the interface of Acrobat but I finded when I open the PDF file in my application the sticky notes , add line notes and all the comment funcation is not vaileble it is nowork .if I want the sticky notes and other comment funcation work on my application which used the acrobat API
so could you tell me how can I do that .
[email protected]
Thanks
mailto:[email protected]
skyper : liuyuda6Open Acrobat. Not available in your own window.
Maybe you are looking for
-
I am trying to download iTunes on my new desktop computer (Windows 7, 64 bit). It starts installing, and then stops with the message- "The System Administrator has set policies to prevent this installation." This is a stand alone computer and I am t
-
How can I tell if my airport card is working?
My slot loading imac has had an airport card functioning well for years. Currently is it on a wireless network via Airport Express shared with an airport connected ibook. The ibook is connecting easily to the network. For two days the imac will not c
-
Customer Control in screen painter in Module pool - work like container?
Customer Control option in screen painter in Module pool - work like container? is it true? How? Is like any work area or what? what is the excat use of that option? regards.
-
Socket (TCP) connection to proprietary port
Anyone ever tried to create a tcp socket connection to another machine on a non-reserved port from a java app loaded into Oracle 8.1.5? I have been able to do so with other sites/ports but am unable to create a socket with one particular site. I am b
-
HT201210 iOS 7.1 to 7.11
Please does anyone know how much HDD free space do I need to upgrade my iPhone 5 from iOS 7.1 to 7.1.1?