Aspose.Words

ColdFusion - Aspose.Words for Java

Prerequisites

To use Aspose.Words for Java in ColdFusion applications, you simply need to copy the Aspose.Words.jar to ColdFusion8\wwwroot\WEB-INF\lib folder. You can learn more about using Java libraries in ColdFusion from the article here.

Don’t forget to restart the “ColdFusion Application Server” after putting the new jars into the “lib” folder.

Hello World

This is a simple application that creates an empty document, inserts some content and saves it as a Microsoft Word .DOC document.

[ColdFusion]

 

<html>

<head><title>Hello World!</title></head>

<body>

    <b>This example shows how to create a simple MS Word document using Aspose.Words</b>

    <cfset doc=CreateObject("java", "com.aspose.words.Document").init()>

    <cfset builder=CreateObject("java", "com.aspose.words.DocumentBuilder").init(doc)>

    <cfset builder.write("Hello World!!!")>

    <cfset doc.save("C:\Temp\out.doc")>

</body>

</html>

Simple Mail Merge

Aspose.Words provides a reporting generation facility similar to Microsoft Word’s mail merge. Here is a code example to perform a simple mail merge using Aspose.Words.

[ColdFusion]

 

<html>

<head><title>Simple Mail Merge</title></head>

<body>

    <b>This example shows how to execute simple mail merge using Aspose.Words</b>

    <cfset doc=CreateObject("java", "com.aspose.words.Document").init("C:\Temp\in.doc")>

    <cfset names=["FullName", "Company", "City"]>

    <cfset values=["Alexey Noskov", "Aspose", "Auckland"]>

    <cfset doc.getMailMerge().execute(names, values)>

    <cfset doc.save("C:\Temp\out.doc")>

</body>

</html>

Invoke Static Methods

Some methods in the Aspose.Words object model are static. For example, there is the detectFileFormat method that allows you to detect the original format of a file.

[ColdFusion]

 

<html>

<head><title>Invoke Static Methods</title></head>

<body>

    <b>This example shows how to detect the original format of a file using Aspose.Words</b><br />

    <cfset doc=CreateObject("java", "com.aspose.words.Document")>

    <cfset format=doc.detectFileFormat("C:\Temp\out.doc")>

    <span>The original format of the file is </span>

    <cfswitch expression="#format#">

       <cfcase value="1">

          <i>DOC</i>

       </cfcase>

       <cfcase value="2">

          <i>HTML</i>

       </cfcase>

       <cfcase value="3">

          <i>RTF</i>

       </cfcase>

       <cfcase value="5">

          <i>DOCX</i>

       </cfcase>

       <cfcase value="6">

          <i>ODT</i>

       </cfcase>

       <cfdefaultcase>

          <i>Unknown</i>

       </cfdefaultcase>

    </cfswitch>

</body>

</html>

Save or Convert a Document

With Aspose.Words, you can save a document in a variety of formats. For the full list of formats and identifiers see the SaveFormat enumeration.

[ColdFusion]

 

<html>

<head><title>Save or Convert a Document</title></head>

<body>

    <b>This example shows how to convert a document to various formats using Aspose.Words</b>

    <cfset doc=CreateObject("java", "com.aspose.words.Document").init("C:\Temp\in.doc")>

    <cfset saveFormat=CreateObject("java", "com.aspose.words.SaveFormat")>

    <cfset doc.save("C:\Temp\out.doc", saveFormat.DOC)>

    <cfset doc.save("C:\Temp\out.docx", saveFormat.DOCX)>

    <cfset doc.save("C:\Temp\out.rtf", saveFormat.RTF)>

    <cfset doc.save("C:\Temp\out.html", saveFormat.HTML)>

    <cfset doc.save("C:\Temp\out.odt", saveFormat.ODT)>

    <cfset doc.save("C:\Temp\out.txt", saveFormat.TEXT)>

</body>

</html>

Mail Merge with Regions

First, create a Java class that returns a ResultSet object as shown below. Compile it, and place in a jar file, and place it in the “ColdFusion8\wwwroot\WEB-INF\lib” folder.

[Java]

 

public class RelationSet

{

    public static ResultSet execQuery()

    {

        try

        {

            // Create the database query

            String sqlString = "SELECT * FROM Users";

            // Create statement

            Statement stmt = createStatement();

            // Return the ResultSet object

            return stmt.executeQuery(sqlString);

        }

        catch(Exception e)

        {

            System.out.println(e);

        }

        return null;

    }

 

    /**

    * Utility function that creates a connection to the Database.

    */

    private static Statement createStatement() throws Exception

    {

        // Load a DB driver that is used by the demos

        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

        // Compose connection string.

        String connectionString = "jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\\Temp\\test.mdb;UID=Admin";

        // DSN-less DB connection.

        Connection connection = DriverManager.getConnection(connectionString);

        // Return Statement

        return connection.createStatement();

    }

}

 

Next we write the ColdFusion code to execute mail merge and save the document to disk.

[HTML]

 

<html>

<head><title>Mail Merge with Regions</title></head>

<body>

    <b>This example shows how to execute mail merge with regions using Aspose.Words</b>

    <cfset doc=CreateObject("java", "com.aspose.words.Document").init("C:\Temp\in.doc")>

    <cfset myQueryResult=CreateObject("java", "RelationSet").init()>

    <cfset myResultSet=myQueryResult.execQuery()>

    <cfset doc.getMailMerge().executeWithRegions("Users", myResultSet)>

    <cfset doc.save("C:\Temp\out.doc")>

</body>

</html>