-
1. Re: How to Access Built in Preflight Fixups
(Leonard_Rosenthol) Jan 21, 2009 12:42 AM (in response to (KUMARARAJA))The Preflight APIs are not publicly documented at this time, though we plan to make that information available soon.
In the meatime, you shoudl look at using Preflight Droplets and communicating with them through standard OS APIs. -
2. Re: How to Access Built in Preflight Fixups
(KUMARARAJA) Jan 21, 2009 1:05 AM (in response to (KUMARARAJA))Leonard, Thanks for your reply,
I am new to Preflight Droplets!, is it related to BatchSequences? could you please tell me know how to create the Preflight Droplets and a name of the API which will be used to access the preflight fixup so that I can proceed further.
Thanks again, -
3. Re: How to Access Built in Preflight Fixups
(KUMARARAJA) Jan 21, 2009 1:47 AM (in response to (KUMARARAJA))Leonard, Just now I found the Create Preflight Droplets in Options of Preflight, I have created a Droplet, In that I found only Success and Error Process. But how can I set the Source folder, similarly whether is there any argument is there for the droplets EXE? -
4. Re: How to Access Built in Preflight Fixups
(KUMARARAJA) Jan 21, 2009 2:18 AM (in response to (KUMARARAJA))I tried with command prompt; I am able to run the Droplets so I hope these Preflight Droplets will help us.
One more clarification is there method to change the Success output folder dynamically for created Droplets?
Thanks for your valuable support. -
5. Re: How to Access Built in Preflight Fixups
(Leonard_Rosenthol) Jan 21, 2009 3:10 AM (in response to (KUMARARAJA))No, you can't change any of the settings on the droplet on the fly - so if you want different output folders, create different droplets.
But they are just executables and you can call/execute them like any other passing appropriate parameters. -
6. Re: How to Access Built in Preflight Fixups
(KUMARARAJA) Jan 21, 2009 11:35 AM (in response to (KUMARARAJA))ok thanks. -
7. Re: How to Access Built in Preflight Fixups
(rasith_vahith) Mar 5, 2009 1:32 AM (in response to (KUMARARAJA))How to run Preflight Droplet without invoke the Acrobat Reader professional Window. -
8. Re: How to Access Built in Preflight Fixups
(rasith_vahith) Mar 5, 2009 1:33 AM (in response to (KUMARARAJA))can we invoke that droplets with use of .net Programs. -
9. Re: How to Access Built in Preflight Fixups
(Leonard_Rosenthol) Mar 5, 2009 2:00 AM (in response to (KUMARARAJA))Since the droplet is simply a "wrapper" around a call to Preflight in Acrobat Professional - it need to run Acrobat and present UI.
A droplet is a standard .exe - you can call it from .NET all you wish. -
10. Re: How to Access Built in Preflight Fixups
(rasith_vahith) Mar 5, 2009 8:58 PM (in response to (KUMARARAJA))Thanks. But there is any provision to do without invoke that Acrobat UI. -
11. Re: How to Access Built in Preflight Fixups
(Leonard_Rosenthol) Mar 5, 2009 11:05 PM (in response to (KUMARARAJA))No, you will always get the UI. -
12. Re: How to Access Built in Preflight Fixups
(rasith_vahith) Mar 6, 2009 5:50 AM (in response to (KUMARARAJA))Thanks alot for your response. There is any provision to do the Preflight with use of Batch Sequence Process. We can able to invoke that Sequence from .NET.
Thanks in Advance. -
13. Re: How to Access Built in Preflight Fixups
(Leonard_Rosenthol) Mar 8, 2009 8:32 AM (in response to (KUMARARAJA))Sure, you can add a Preflight operation to a Batch Sequence -
14. Re: How to Access Built in Preflight Fixups
(rasith_vahith) Mar 8, 2009 10:16 PM (in response to (KUMARARAJA))Thanks. How can i add preflight to Batch Sequence thru .net application. How can i invoke that Batch Sequence thru .net Applications. Do you have any idea?. Can you give any examples for this?
Advance Thanks. -
15. Re: How to Access Built in Preflight Fixups
(rasith_vahith) Mar 8, 2009 10:19 PM (in response to (KUMARARAJA))How can i create Preflight Droplets for all Preflight Profiles thru .net at dynamically. Do you have any samples? Please provide for our reference.
Thanks in Advance -
16. Re: How to Access Built in Preflight Fixups
(Leonard_Rosenthol) Mar 9, 2009 6:41 AM (in response to (KUMARARAJA))There are NO APIs for Batch Sequences via .NET.
The ONLY APIs for Batch is via plugins, which are written in C/C++.
The ONLY APIs for talking to Preflight directly is via JavaScript. -
17. Re: How to Access Built in Preflight Fixups
(rasith_vahith) Mar 10, 2009 10:31 PM (in response to (KUMARARAJA))Thanks for your reply.
Can we do preflight Droplets creation in dynamically in .net or javascript?. do you have any examples for this please provide for our reference. -
18. Re: How to Access Built in Preflight Fixups
(rasith_vahith) Mar 10, 2009 10:35 PM (in response to (KUMARARAJA))I am new of preflight. Can you tell the javascript APIs and examples for my reference?
Thanks in Advance. -
19. Re: How to Access Built in Preflight Fixups
Droptix Sep 9, 2009 5:24 AM (in response to (Leonard_Rosenthol))I'm interested in doing a preflight via JavaScript. Where is this documented? I think I can do this by using IAC/OLE (http://www.adobe.com/devnet/acrobat/interapplication.html) and the JSObject... right?
P.S. As you can read here (http://forums.adobe.com/message/2233900) an Acrobat Droplet isn't suitable for batch operations with big PDF files. The droplet returns/exits even before Acrobat finishes the preflight.
-
20. Re: How to Access Built in Preflight Fixups
lrosenth Sep 9, 2009 9:20 AM (in response to Droptix)It's documented in the Acrobat JavaScript documentation in the Acrobat 9.1
SDK.
Yes, you can use the JSObject as to get to the JS.
It is true that the droplet finishes BUT that's OK because you're watching
the Report file that is generated.
-
21. Re: How to Access Built in Preflight Fixups
Droptix Sep 10, 2009 10:23 AM (in response to lrosenth)The only thing I found (in Acrobat 8.1 SDK) is in "js_api_reference.pdf": com.callas.preflight.pdfa and com.callas.preflight.pdfx (Values of cConvID and Valid Extensions). That didn't help...
Do you have any examples? I have created a preflight profile and just want to start it an dwait until its finished.
In my eyes it's not OK that the droplet finishes because my preflight profile uses fixups. Maybe the preflight check is already done but none of the fixups. When the droplet returns too early the fixups are not written to the PDF file. But my script goes on and crashes or uses the un-fixed PDF.
Are there any commandline switches for the droplet so that it "waits" until the fixups are done, too?
-
22. Re: How to Access Built in Preflight Fixups
Patrick Leckey Sep 10, 2009 10:56 AM (in response to Droptix)It was specifically mentioned that the JS APIs for PreFlight were in the Acrobat 9.1 SDK, not 8.1. These are new APIs that were only released and documented publicly as of the 9.1 SDK, which is why Leonard specifically pointed you to that versions documentation.
-
23. Re: How to Access Built in Preflight Fixups
lrosenth Sep 10, 2009 12:50 PM (in response to Droptix)Not the 8.1 SDK - the 9.1 SDK. But that is the correct set of
documentation. There are examples and full documentation in the 9.1 SDK.
You can certainly check if the file is still in use/busy as well.
-
24. Re: How to Access Built in Preflight Fixups
Droptix Sep 12, 2009 12:51 AM (in response to Patrick Leckey)@Patrick: I found it here. But it seems that only Acrobat 9 can access Preflight via JavaScript, right? The object "jso.preflight" is not available in Acrobat 8.
What I can already do in Acrobat 8 is.
jso.app.execMenuItem("CALS:Preflight")
But then only the Preflight window opens. Is it possible to select a Preflight profile and execute it?
@Leonard: Good idea to check if the file is still in use... I have to check that. Don't know if Acrobat locks the file. I think Acrobat creates a temporary file somewhere else that will contain the fixups and when done it moves the temporary file to the destination folder or overwrites the original PDF file. If so, the original file is not in use until Acrobat is done. That would be bad...
It is very hard to get the necessary information and everything I try is just a work around. If you have, can you please provide a sample or code snippet? And if you know, can you do the same as described here in Acrobat 8 (if yes, how)?
-
25. Re: How to Access Built in Preflight Fixups
Droptix Sep 12, 2009 1:08 AM (in response to Droptix)Surely it is possible to get a direct programming interface to Preflight. Even the Droplet "Wrapper" does it and I know a couple of other applications that invoke full-automatic Preflight with Acrobat 8.0. Is there anybody who can publish how this is done?
-
26. Re: How to Access Built in Preflight Fixups
lrosenth Sep 12, 2009 5:40 PM (in response to Droptix)That is correct, the JavaScript APIs are only available in Acrobat 9. If you are still on 8, you will need to upgrade. Easy enough!
-
27. Re: How to Access Built in Preflight Fixups
lrosenth Sep 12, 2009 5:41 PM (in response to Droptix)Why surely? We added it to the product only after we had enough customer requests to do so - which was 4 versions after we originally introduced it.
The only APIs for Preflight in Acrobat are for plugins - and involve the AVCommand API set. You are more than welcome to use those.
-
28. Re: How to Access Built in Preflight Fixups
Droptix Sep 13, 2009 2:09 AM (in response to lrosenth)Hum, as I already said I know applications that talk to Acrobat 8.0 and automatically invoke a Preflight check. No human input is needed, no windows appear. I don't know how these applications talk to Acrobat, if it's COM/IAC/OLE or JavaScript or both or something else. BUT: they invoke preflight without the "fixup-switch", so no fixups are done to the PDF file. That's why these applications are useless in my case.
Acrobat's droplets are also useless because they don't wait for the fixups to finish. I have checked: while Acrobat is doing fixups the files are not busy or in use. I think Acrobat creates temporary files and when done moves them to the destination location.
What you say sounds to me like: in Acrobat 8.0 you can only invoke Preflight via plugins -- not scripting/programming. This means that the applications I mentioned above must use a plugin (mabe invisible for me?) to invoke automatic Preflight checks. Is that right?
I don't fully understand -- what does a droplet do then? It's calling Preflight directly, does it? Or is "droplet" a plugin that uses internal commands via the AVCommand API set? And a droplet's .exe file is a wrapper that speaks to the droplet plugin's API? Hard to understand for me... It would be nice to see the source code of a droplet as an example.
I think for me it's going to deep now with the AVCommand API set. I have two ideas on that:
1) Dear Adobe Acrobat team: it's not good that an Acrobat droplet returns before the fixups are done (happens only with big files). In my eyes this is really a bug -> I will spend some more time on testing.
2) To solve my problem I will try to call a droplet. When it returns, I will do some extra-checks via IAC/JavaScript to see if Acrobat is still working on my PDF file. I have some ideas... and I will publish them here when they work.
If anybody has other great ideas I would be pleased if you answer here. Thanks a lot for your support.
-
29. Re: How to Access Built in Preflight Fixups
lrosenth Sep 13, 2009 6:34 AM (in response to Droptix)Any methods used by Droplets or other tools to access Preflight are for INTERNAL USE ONLY.
In Acrobat 8, the only available public APIs are via plugins. In Acrobat 9, we offer both plugin as well as a new set of JavaScript-based APIs.
Use of Droplets as a programmatic interface to Preflight is supported, but will be limited by whatever functionality is provided there. It was never designed to serve this purpose, but we know that folks use it this way and are fine with it.
-
30. Re: How to Access Built in Preflight Fixups
Droptix Sep 14, 2009 5:24 AM (in response to lrosenth)For "internal use only" means it is possible in Acrobat 8.0, right? But not for the public...
It's a pitty but here's another workaround to get this fixed: it's a quick and dirty solution but it works.
- start the droplet's .exe file
- wait for the droplet to return (mabye this is too early)
- use IAC to connect to Acrobat: myApp = Dispatch("AcroExch.App")
- while Acrobat is still preflighting the IAC connection is blocked
- the Dispatch() command waits until the Preflight is done, including fixups!
- optional: use IAC to close Acrobat's window that is opened by the droplet: myApp.Exit()
This also works for big PDF files. At the moment I'm programming a wrapper for droplet .exe files... If it works, maybe I'll publish it here.
Thanks so far for your input.



