Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 633
  • Last Modified:

HTML2WORD - inserting page numbers

I am producing a word document from generated HTML using the CF tag WORD2HTML.

In developing I first create a WORD doc with word, the middle bit being where the generated data will go.

I then use WORD itself and save as html.

I then chop this html up into two parts - everything up to the data section (header.cfm) and the end which is everything AFTER the data (footer.cfm).

I keep these two files to wrap around the data which I generate as a file (data.cfm)

Then usin g CFFILE I join these 3 files together and use this html file to feed to the CF tag, WORD2HTML to output a WORD file.

So far, so  good. BUT, I want to include page numbers. Has anyone any idea as to how I can do this?









0
kjuliff
Asked:
kjuliff
  • 3
  • 2
1 Solution
 
anandkpCommented:
go thru www.cfcomet.com/word & u shld be able to get this done !
0
 
anandkpCommented:
0
 
kjuliffAuthor Commented:
That looks just what I need. I tried to implement but get the error below. I ckech on Macromedia's site and followed the instructions at
http://www.macromedia.com/support/coldfusion/ts/documents/typeviewer_dll_reg.htm
but sill I get this error

The error occurred in D:\htdocs\S+N\fred.cfm: line 80
Called from D:\htdocs\S+N\fred.cfm: line 80
Called from D:\htdocs\S+N\fred.cfm: line 80
 
78 :         <CFOBJECT
79 :             ACTION="create"
80 :             CLASS=" Word.Application"
81 :             NAME="objWord"
82 :             TYPE="com">

 
0
 
kjuliffAuthor Commented:
PS I left off the crusial part of the error message
The cause of this exception was that: coldfusion.runtime.com.ComObjectInstantiationException: An exception occurred when instantiating a Com object..
0
 
kjuliffAuthor Commented:
OK. I manage to connect to the com object. Burt now I get

The selected method Move was not found.  
There are no methods with the specified method name and argument types. Please check your function and try again.  

With the code from the source suggested above - see

<cftry>    <CFOBJECT
        ACTION="CONNECT"
        CLASS="{000209FF-0000-0000-C000-000000000046}"
        NAME="objWord"
        TYPE="COM">
connect
<CFCATCH>

    <CFOBJECT
        ACTION="CREATE"
        CLASS="{000209FF-0000-0000-C000-000000000046}"
        NAME="objWord"
        TYPE="COM">
create
</CFCATCH>
</CFTRY>


<CFSCRIPT>

    // Open the doc
    objDocs = objWord.Documents;
    objDoc = objDocs.Open("d:\htdocs\s+n\fred.doc ");

// Get the 1st section's 1st footer's range object
    objSecs = objDoc.Sections;
    objSec1 = objSecs.Item(1);
    objSec1Footers = objSec1.Footers;
    objSec1Footer1 = objSec1Footers.Item(1);
    objRange = objSec1Footer1.Range;

    // Set the paragraph format
    // Values for alignment are {0=Left,1=Center,2=Right,3=Justify}
    objParaFormat = objRange.ParagraphFormat;
    objParaFormat.Alignment = 0;

    // Set a right-tab at 6 inches
    // Tab positions are in points, where 72 points = 1 inch
    // Arguments to the TabStops.Add function:
    //    Position: 6 inches * 72 points/inch = 432 points
    //    Alignment: values include {0=Left,1=Center,2=Right}
    objTabStops = objParaFormat.TabStops;
    objTabStops.ClearAll();
    objTabStops.Add(432,2);

    // Insert the page number
    // Page number is field type 33
    // Story is unit type 6
    objRange.Collapse(0);
    objFields = objRange.Fields;
    objFields.Add(objRange,33);
    objFields.Move(6);

    // Insert the footer's text
    objRange.InsertAfter("    Confidential and Proprietary");
    objRange.Collapse(0);
    objRange.Select();
    objSelection = objWord.Selection;
    objSelection.TypeText(Chr(9));
    objSelection.TypeText("Property of XYZ Corp.");


    // Exit
    objDoc.Close();
    objWord.Quit();

</CFSCRIPT>
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now