![]() |
Platforms, Frameworks & Libraries »
.NET Framework »
General
Intermediate
License: The Code Project Open License (CPOL)
Accessing Adobe InDesign CS COM Objects from .NETBy elmer_torensmaAn article showing how to access Adobe InDesign CS COM objects from .NET |
C#, Windows, .NET 1.0, .NET 1.1, COM, VS.NET2003, Dev
|
|
Advanced Search Add to IE Search |
|
|
|
||||||||||||||||
This article shows how to access Adobe InDesign CS COM objects from .NET.
I needed to make an application that read product information from a database and inserted it in an Adobe InDesign template to create a catalog ready for printing. There is not much information about this subject to be found on the Internet, so I thought I might share this article with you.
Note: Adobe InDesign CS and the InDesign SDK need to be installed on the development computer.
Create a new project in Visual Studio and make a reference to COM object 'Adobe InDesign CS Type Library'. The following code creates an instance of the InDesign application and gets the first textframe on the first page.
// create an InDesign instance
InDesign.Application app =
(InDesign.Application) COMCreateObject("InDesign.Application");
// get a reference to the current active document
InDesign.Document doc = app.ActiveDocument;
// get the first page
InDesign.Page page = (InDesign.Page) doc.Pages[1]; //1e pagina
// get the first textframe
InDesign.TextFrame frame = (InDesign.TextFrame) page.TextFrames[1];
// write contents of textframe
Console.WriteLine(frame.Contents.ToString());
// set contents of textframe
frame.Contents = "Andere content";
To create an instance of the InDesign COM object, I use the following code snippet:
/// <SUMMARY>
/// Creates a COM object given its ProgID.
/// </SUMMARY>
/// <param name="sProgID">The ProgID to create</param>
/// <RETURNS>The newly created object, or null on failure.</RETURNS>
public static object COMCreateObject (string sProgID)
{
// We get the type using just the ProgID
Type oType = Type.GetTypeFromProgID (sProgID);
if (oType != null)
{
return Activator.CreateInstance( oType);
}
return null;
}
| You must Sign In to use this message board. | |||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||
General
News
Question
Answer
Joke
Rant
Admin
|
PermaLink |
Privacy |
Terms of Use
Last Updated: 9 Nov 2005 Editor: Deeksha Shenoy |
Copyright 2005 by elmer_torensma Everything else Copyright © CodeProject, 1999-2009 Web15 | Advertise on the Code Project |