Example: Implementing Nifty Corner’s with CFWindow…

December 17th, 2009  / Author: admin

Here is an example, courtesy of Tom Bishop:

Main_page.cfm:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style>
html,body{
background-color:#fafafa;
font:normal 12px/120% Verdana, Arial, Helvetica, sans-serif;
overflow:hidden;}
h2{ font:normal 16px/18px Helvetica;color:teal}
div.content_container{
width:500px;
margin:1em auto;
padding:10px;
background-color:#eeeeee;}

div.rounded{
margin:1em;
background-color:#cccccc;
padding:12px;}
</style>
<cfajaximport tags="cfwindow">
<link rel="stylesheet" href="niftyCorners.css" />
<script src="niftycube.js"></script>
<script>
function openCFWindow(){
var url="window_file.cfm"
var config = {height:550,width:550,modal:true,center:true};
var cleanup=function(){ColdFusion.Window.destroy('test_win',true);}
ColdFusion.Window.create('test_win','My Test Window',url,config);
ColdFusion.Window.onHide('test_win',cleanup);}

function initWin(){
Nifty("div.content_container","medium");
Nifty("div.rounded","large");}

function closeCfWindow(){
ColdFusion.Window.hide('test_win');}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<h1>Page Name</h1>
<h2>Function Name</h2>
<cfform name="test_form">
<cfinput type="button" onclick="openCFWindow();" value="open window" name="my_button">
</cfform>
</body>
</html>

Window_file.cfm:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Main Window</title>
</head>
<body>
<h2> This is a sample window demonstrating NiftyCorners</h2>
<div class="content_container">
<div class="content_container_inner">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed sed lacus sed lacus porttitor mollis. Nam ullamcorper porttitor dictum. Vestibulum faucibus nunc elit. Nullam eget lorem odio. Nunc at pharetra odio. Nulla at convallis ipsum. Duis consectetur lorem ac tortor ultrices quis laoreet ligula lacinia. Integer pretium molestie neque vitae hendrerit. Vivamus lacinia, sem quis placerat rhoncus, lorem mauris hendrerit erat, vitae blandit ligula magna sit amet arcu. Etiam feugiat dolor eget tellus viverra vehicula. Curabitur lectus nisl, gravida in consectetur auctor, iaculis id augue. Suspendisse a fermentum lectus. Duis vel sem arcu. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p>
<div class="rounded">
Sample Text 1
</div>
<div class="rounded">
Sample Text 2
</div>
<div class="rounded">
Sample Text 3
</div>
<div class="rounded">
Sample Text 4
</div>
</div>
</div>
<cfset ajaxonload("initWin")>
<div class="button_area">
<button name="close_btn" type="button" onclick="closeCfWindow();">Close Window</button>
</div>
</body>
</html>

Click here to download the required javascript and CSS code from Nifty Corners.

Example: Merge multiple PDF’s into a single PDF…

November 29th, 2009  / Author: admin

Here is an example of how to merge files into a single PDF document in a specific order using the CFPDF tag in CF 8:

Note: This post is an extension of Ray Camden’s post, “ColdFusion 8: Working with PDFs (Part 5)”


<cftry>

	<cfdocument name="pdf1" format="pdf">
	<cfoutput>
	This is PDF 1 at #timeFormat(now())#
	</cfoutput>
	</cfdocument>

	<cfdocument name="pdf2" format="pdf">
	<cfoutput>
	This is PDF 2 at #timeFormat(now())#
	</cfoutput>
	</cfdocument>

	<cfset dirpath 		= "C:\Coldfusion8\wwwroot\test\pdf">
	<cfset subdirpath 	= "C:\Coldfusion8\wwwroot\test\pdf\merged">

	<!--- Create directoris/subdirectories if they don't exist --->
	<cfif DirectoryExists("#dirpath#") IS "No">
		<cfdirectory action="CREATE" directory="#dirpath#">
	</cfif>
	<cfif DirectoryExists("#subdirpath#") IS "No">
		<cfdirectory action="CREATE" directory="#subdirpath2#">
	</cfif>

	<cffile action="write" file="#subdirpath#/pdf1.pdf" output="#pdf1#" nameconflict="overwrite">
	<cffile action="write" file="#subdirpath#/pdf2.pdf" output="#pdf2#" nameconflict="overwrite">

	<!--- Merge files and output to directory using memory variable --->
	<cfpdf action="merge" overwrite="yes" destination="#subdirpath#/merged.pdf">
		 <cfpdfparam source="pdf2">
		 <cfpdfparam source="pdf1">
	</cfpdf>

	<!--- or --->

	<!--- Merge files and output to directory using actual file name --->
	<cfpdf action="merge" overwrite="yes" destination="#subdirpath#/merged.pdf">
		 <cfpdfparam source="#subdirpath#/pdf2.pdf">
		 <cfpdfparam source="#subdirpath#/pdf1.pdf">
	</cfpdf>

	<!--- Show results of merged file --->
	<cffile action="readbinary" file="#subdirpath#/merged.pdf" variable="mergedpdf">
	<cfcontent type="application/pdf" variable="#mergedpdf#">

	<!--- Display if no error... --->
	Done.............

		<!--- Catch and handle error(s) --->
		<cfcatch type="any">
			<cfsavecontent variable="error_info">
			<cfoutput>
			Message: #cfcatch.message#,
			Details: #cfcatch.Detail#
			<cfif structKeyExists(cfcatch, "NativeErrorCode") AND cfcatch.NativeErrorCode neq "">,
				Native Error: #cfcatch.NativeErrorCode#
			</cfif>
			</cfoutput>
			</cfsavecontent>

			<!--- Show custom error message --->
			<cfoutput>#error_info#</cfoutput>
		</cfcatch>

</cftry>

Using Coldfusion to Find/Replace words in a word document…

November 29th, 2009  / Author: admin

<!--- Try to connect to the Word application object --->

<!--- If it exists, connect to it --->

CLASS="Word.Application"
NAME="objWord"
TYPE="COM">

<!--- The object doesn't exist, so create it --->

CLASS="Word.Application"
NAME="objWord"
TYPE="COM">

/*Define text to replace and with what*/
replaceTextFrom = '';
replaceTextApproverFrom = '';
replaceTextApproverTo = 'John Doe';
replaceTextTo = 'text I want in my word doc';
replacePath = 'C:\';

/*Define value for Replace argument of word find.execute method*/
wdReplaceAll = 2;

/*Open word*/
objWord.Visible = FALSE;
/*Open document*/
objDoc = objWord.Documents.Open(replacePath &amp; "\myFile.doc");
/* set up selection parameters */
objSelection = objWord.Selection();

/* set replace value */
objSelection.Find.ClearFormatting();
objSelection.Find.Replacement.ClearFormatting();

/* execute search and replace */
//objSelection.Find.Execute( , , , , , , , , , , ,wdReplaceAll);
objSelection.Find.Execute(
replaceTextFrom,1,1,0,0,0,1,1,1,replaceTextTo,wdReplaceAll
);
objSelection.Find.Execute(
replaceTextApproverFrom,1,1,0,0,0,1,1,1,replaceTextApproverTo,wdReplaceAll
);

/* Save the document to a location */

/* Save the changes */
objDoc.Save();

OR

objDoc.SaveAs(replacePath &amp; "\myNewFile.doc");

/* Close the document */
objDoc.Close();

/* Quit Word - Call twice to ensure winword.exe process removal */
objWord.Quit();
objWord.Quit();