Choose the Platform and Interoperability Technology

Contents
[ ]

Using Aspose.Words from any other programming language requires the use of some interoperability technology . The interoperability technology must allow your programming language to call into a class library written for Java.

This is a list of the suggested interoperability technologies to use for a variety of programming languages:

Programming Language Aspose.Words to Use Interoperability Technology
ASP .NET COM Interop
ColdFusion .NET ColdFusion .NET extension
Java ColdFusion
Delphi .NET COM Interop
JScript .NET COM Interop
Perl .NET COM Interop
Java Inline::Java
PHP .NET COM Interop
Java Java Bridge
PowerBuilder .NET COM Interop
Python .NET COM Interop
Java JPype
VBScript .NET COM Interop
Visual Basic .NET COM Interop
From the above table you can see that for some programming languages it is possible to use either Aspose.Words for .NET or Aspose.Words for Java. The following table can help you choose:
Scenario Comments
Aspose.Words for .NET via COM Interop

Consider the following:

- Available on Microsoft Windows platforms only.

- Cannot call static methods.

- Hard to call overloaded methods (suffixes added to names).

- Hard to use enumerated values (need to look up and use a constant value).

- Cannot invoke constructors with parameters.

Aspose.Words for Java via Java Bridge or Inline::Java

Consider the following:

- Available on any platform where Java is available.

- Can call static methods, constructors with parameters, overloaded methods and use enumerated values.


FAQ

  1. Q: Which Aspose.Words product should I choose for my programming language?
    A: If your language can run on the Java Virtual Machine (e.g., via Java Bridge, JPype, Inline::Java), use Aspose.Words for Java. If you are on Windows and can use COM, you may use Aspose.Words for .NET through COM Interop. The table above lists the recommended interoperability technology for each language.

  2. Q: Can I use Aspose.Words for .NET on Linux or macOS?
    A: No. The .NET version accessed through COM Interop works only on Microsoft Windows because COM is a Windows‑only technology. For cross‑platform scenarios, choose the Java version with a Java‑based interop layer.

  3. Q: Why can’t I call static methods or overloaded methods when using COM Interop?
    A: COM Interop exposes only instance members and does not support method overloading or static members directly. You would need to create wrapper classes in .NET that expose the required functionality as instance methods, then call those wrappers via COM.

  4. Q: What interoperability options are available for calling Aspose.Words for Java from other languages?
    A: The main options are Java Bridge (for languages that can invoke Java code via a bridge), JPype (for Python), and Inline::Java (for Perl). All of these allow you to call static methods, constructors with parameters, and use enumerations just as you would in native Java code.

  5. Q: How do I apply an Aspose.Words license when using the Java version through an interoperability layer?
    A: Load the license in the Java side of your code:

    // Example in Java called via JPype or Java Bridge
    com.aspose.words.License license = new com.aspose.words.License();
    license.setLicense("Aspose.Words.Java.lic");
    

    Ensure the license file is reachable by the Java runtime (e.g., placed in the classpath or provided with an absolute path). The interop layer simply forwards the call, so the licensing works exactly as it does in a pure Java application.