|
ColdFusion 9.0 Resources |
ToBinarySee also
Parameters
UsageThe ToBinary function can take as a parameter a PDF document variable (specified by the cfpdf tag name attribute). In this case, the ToBinary function returns a byte array (byte[]) representation of the document. You can use the results of this function, for example, to store the PDF in a database as a BLOB, or, in a cfcontent tag, to write the PDF to the browser. You can use this binary representation with a read operation in the cfpdf tag to create a variable. The following example reads an unprotected PDF file, applies protections, and displays it in the browser: <cfpdf action="read" source="Copy of coldfusion11.pdf" name="p">
<cfpdf action="protect" source="p" newUserpassword="user" permissions="none"
newOwnerpassword="owner">
<cfcontent type="application/pdf" variable="#tobinary(p)#">
Adobe recommends that you use the BinaryDecode function to convert Base64 encoded data to binary data in all new applications. If you pass a binary value to this function, it returns the input value. Example<h3>ToBinary Example</h3>
<!---- Initialize data. ---->
<cfset charData = "">
<!---- Create a string of ASCII characters (32-255); concatenate them. ---->
<cfloop index = "data" from = "32" to = "255">
<cfset ch = chr(data)>
<cfset charData = charData & ch>
</cfloop>
<p>The following string is the concatenation of all characters (32 to 255)
from the ASCII table.<br>
<cfoutput>#charData#</cfoutput></p>
<!----- Create a Base64 representation of this string. ----->
<cfset data64 = toBase64(charData)>
<!--- Convert string to binary. ---->
<cfset binaryData = toBinary(data64)>
<!--- Convert binary back to Base64. --->
<cfset another64 = toBase64(binaryData)>
<!---- Compare another64 with data64 to ensure that they are equal. ---->
<cfif another64 eq data64>
<h3>Base64 representation of binary data is identical to the Base64
representation of string data.</h3>
<cfelse>
<h3>Conversion error.</h3>
</cfif>
|