CFDocument rendering problem : "out of memory" - localURL parameter can help!

  • 20
  • Aug 2012
  • Dev @ Contech Lab
  • View: 21404 | 0 Comments


  • Durante l'esecuzione di processi per la creazione di documenti PDF, il TAG CFdocument, in elaborazioni complesse, può presentare il seguente errore: "java out of memory"

    view plain print about
    <!--- // --->
    CFDocument rendering problem : "out of memory"

    Per prevenire questo errore e per migliorare le performance di elaborazione di documenti per la conversione in PDF si può utilizzare l'opzione:

    "localurl"

    Il parametro LocalUrl permette a ColdFusion di inglobare le immagini nel documento PDF interrogando il server in modo relativo. In questo modo ColdFusion non richiederà al webserver le immagini utilizzando il prefisso di dominio http://sitoweb.com/images/immagine.png ma indirizza la chiamata all'immagine direttamente riferendosi all'immagine su un path relativo del tipo ../images/immagine.png migliorando di molto le performance.

    Un esempio:

    view plain print about
    <!--- // chiama il tag passando il documento da convertire //--->
    <cfdocument format="PDF" pagetype="A4" orientation="portrait" unit="cm" 
    fontembed="Yes" 
    backgroundvisible="Yes"
    marginbottom = "1.5" marginleft = "0.2" marginright = "0.2" 
    margintop = "2.5" scale = "90"
    overwrite="Yes"
    filename = "#expandpath('/docs/'##miofile#" 

    localurl="Yes">


    <cfinclude template="procedura_.cfm">
    </cfdocument>

    tutte le immagini dovranno essere impostate in modo relativo e quindi del tipo:

    view plain print about
    <!--- // --->
    <img src="../images/imm.png" alt="xx">

    Da alcuni test effettuati sulla nostra applicazione, con la versione ColdFusion8, le performance ottenute tra una chiamata che utilizza LocalUrl e uno senza sono in un rapporto 1:3, quindi conviene utilizzarlo quando possibile