Plutôt que de capturer le corps de réponse actuel, vous pouvez utiliser l'attribut "src" de cfdocument pour demander la page en cours via une demande d'auto-référencement interne.
au sein Application.cfc:
<cffunction name="onRequestStart">
<cfif IsDefined("url.showAsPDF") AND
url.showAsPDF IS "true" AND
cgi.http_user_agent IS NOT "ColdFusion">
<cfset myURL =
"http" &
(IsDefined('CGI.HTTPS') AND CGI.HTTPS IS "On") ? "s" : "") &
"://#cgi.server_name#:#cgi.SERVER_PORT##cgi.script_name#?#cgi.query_string#">
<cfdocument src="#myURL#" format="PDF"></cfdocument><cfabort>
</cfif>
</cffunction>
Cela recherchera la présence d'un paramètre d'URL nommé "showAsPDF". Quand il est défini et défini sur "true", ce code prendra le relais et exécutera la même requête en interne, acheminée via un appel à cfdocument. La réponse sera ensuite produite en tant que document PDF.
Utilisez-vous un cadre particulier (Fusebox, CF on Wheels, etc ...)? –