Skip to main content
spritzer13
Participant
August 21, 2010
Answered

Using the InDesign COM object in .NET -- Documentation?

  • August 21, 2010
  • 2 replies
  • 6087 views

Please forgive me for any uneducated questions.  I have no experience in using Adobe products (like InDesign and Illustrator).  I leave that for the design department.  🙂

I have been reading and researching for over 10 hours, and I still haven't found much information.

I'm developing a website that allows our customers to send us a multitude of file types, including .ai, .indd, .psd, .pdf, and .eps.  We would like to be able to create a thumbnail out of the uploaded file.

I think I might be able to accomplish this by using the COM object created by InDesign (the .tlb file).  So far, I have successfully added it to my project, and using a few lines of code, I was able to open an .indd file, and export it to a .pdf.  However, there are some issues:

  1. Does it really have to open the application every time?  If we're running this on a server (webserver or other), this doesn't seem to be an efficient method.
  2. The test files I have used immediately open a message box referring to updating links.  It includes an 'OK' button.  Without manual intervention to click 'OK', the process halts.  Again, not efficient.
  3. I've read about 'placing' .ai files in an .indd.  If we can use the InDesign COM object, can we use it to export an .ai to a .pdf/.jpg, even if it means placing it on an .indd?  (In essence, I'd love to find one Adobe product that can handle all of the file types listed above.)
  4. Is there any documentation on all of the properties/functions of the COM object?
  5. Perhaps a script would handle this better?
  6. What exactly *IS* InDesign server?  Would this be a better option (especially if it handles issues 1-3).

Thanks in advance for any information.  My brain hurts severely from information overload.

Kyle

This topic has been closed for replies.
Correct answer Jongware

[Jongware],

Thank you for the prompt reply!  Your information has been helpful.

I'm not quite sure why what I'm wanting to do is against the EULA, unless it's because I'm doing it at a server level.

Yes, COM is a Microsoft concept.  I do understand that InDesign uses the DOM, but I have seen code snippets where people have utilized the .tlb file from within .NET (C#, too).

1. That sucks, but it is something I suppose I could live with.

2. No comment.

3. If my only objective is to create a thumbnail (whether it be INDD --> PDF --> JPG or INDD --> JPG), and if placing will achieve this, then that's ok.

4. If InDesign server allows me to run a script that will do what I want, that'll work.

5. No comment.

6. I assume there's no way to try-before-you-buy InDesign Server?  I sure wish I could tinker with it before determining if it's the right solution.

I know what I want is WAY overkill, but since we're a shop that uses Adobe products to print large graphics, our customers use Adobe, too.  I'm absolutely FLABBERGASTED that Adobe doesn't offer a way to easily convert their products.  And since what I want to do requires the use of Adobe in some way or fashion, I don't see any other alternative than to use a cannon to kill a fly.

I spoke with "Travis" via chat after reading your post.  He states that Adobe does not offer a product that does what I want, nor does it offer a custom made graphic conversion program.

What an absolute bummer.  I never thought converting an Adobe file to a thumbnail would be so difficult, especially after I noticed how Adobe Bridge flawlessly creates a visible thumbnail for all Adobe types, right in it's own window.

Again, thanks for the information.  If you think of anything else, please let me know.

Kyle


Correct -- providing an external service using regular InDesign *is* against the EULA. (And I was *sure* Adobe had at least some server-based graphic app ... Oh well -- it's past 11 over here, bedtime.)

Bridge does not create thumbnails At least for InDesign, it relies on XMP data in the original files. Check this post out: http://forums.adobe.com/message/1109876

2 replies

Participating Frequently
October 16, 2011

Could you point me to where the .tlb/Com object is? I can't find it.

Thanks

spritzer13
Participant
August 25, 2010

Polite bump, please? 

Jongware
Community Expert
Community Expert
August 25, 2010

First off, what you are proposing is against InDesign's EULA. You *must* have InDesign Server for this to be legal.

Second: isn't COM some Microsoft object format? What InDesign uses is usually called the "DOM" (Document Object Model).

Now with that out of the way, let's tick off your questions.

1. Eh. InDesign IS the program that does the stuff. If you want to use .NET (or Javascript or Applescript or C#) to control it with, fine, but you'll still need to have InDesign running.

2. In the regular InDesign, you can opt to ignore all outgoing messages (only recommended for flawless scripts). If I remember correctly, InDesign Server does not have it, as it only can run in Server Mode, totally without any user interface. So that wouldn't be a problem.

3. Okay ... well, InDesign *can* place all of your images, and (of course) it can only place them into an InDesign document. It's not a file converter or something like that.

4. Sure -- not specifically for .NET, though. The ID interface depends heavily on variable polymorphism -- as such, it works best with Javascript and AppleScript, slightly less well with VB, and you'll have a good time figuring out how to do it with .NET (isn't that a strongly typed language?).

5. Probably, yeah.

6. It's InDesign, but without a user interface, and as such you have to steer it all the way. But it does allow (in the legal sense) what you are planning.

All in all, it seems you want to use a designer's multifunctional package to do a rather mundane service -- something like using Excel to calculate 1+1 with. I think Adobe has a custom made graphic conversion program somewhere, also server based. That might suit you better.

spritzer13
Participant
August 25, 2010

[Jongware],

Thank you for the prompt reply!  Your information has been helpful.

I'm not quite sure why what I'm wanting to do is against the EULA, unless it's because I'm doing it at a server level.

Yes, COM is a Microsoft concept.  I do understand that InDesign uses the DOM, but I have seen code snippets where people have utilized the .tlb file from within .NET (C#, too).

1. That sucks, but it is something I suppose I could live with.

2. No comment.

3. If my only objective is to create a thumbnail (whether it be INDD --> PDF --> JPG or INDD --> JPG), and if placing will achieve this, then that's ok.

4. If InDesign server allows me to run a script that will do what I want, that'll work.

5. No comment.

6. I assume there's no way to try-before-you-buy InDesign Server?  I sure wish I could tinker with it before determining if it's the right solution.

I know what I want is WAY overkill, but since we're a shop that uses Adobe products to print large graphics, our customers use Adobe, too.  I'm absolutely FLABBERGASTED that Adobe doesn't offer a way to easily convert their products.  And since what I want to do requires the use of Adobe in some way or fashion, I don't see any other alternative than to use a cannon to kill a fly.

I spoke with "Travis" via chat after reading your post.  He states that Adobe does not offer a product that does what I want, nor does it offer a custom made graphic conversion program.

What an absolute bummer.  I never thought converting an Adobe file to a thumbnail would be so difficult, especially after I noticed how Adobe Bridge flawlessly creates a visible thumbnail for all Adobe types, right in it's own window.

Again, thanks for the information.  If you think of anything else, please let me know.

Kyle