2017-08-05 7 views
0

J'ai ce code en cours d'exécution dans Coldfusion 11.cfdocument insère une certaine marge à gauche et à droite, même si la valeur 0

<cfset fileName = "test.pdf"> 
<cfcontent type="application/pdf" reset="true"> 
<cfheader name="Content-Disposition" value="attachment; filename=#fileName#"> 
<cfdocument localurl="yes" format="pdf" pagetype="letter" margintop=".5" marginbottom=".5" marginright="0" marginleft="0" orientation="portrait" unit="in" backgroundvisible="yes" overwrite="yes" fontembed="no"> 
    <cfdocumentsection> 
     <div style="width:100%; background-color: #cccccc; margin: 0 0 0 0;padding: 0 0 0 0;"> 
      <h1>Hello World!</h1> 
     </div> 
    </cfdocumentsection> 
</cfdocument> 

Cela produit un PDF comme ceci: enter image description here

Le problème est que je ont mis la marge et le remplissage de la div à 0, mais il reste de l'espace à gauche et à droite.

Existe-t-il un moyen de supprimer cet espace par programme afin que l'arrière-plan couvre toute la largeur de la page?

mise à jour (7e Août 2017)

J'ai mis à jour le code comme par commentaire/suggestion de James Moberg. Mais le problème persiste toujours. Voici le code mis à jour

<cfset fileName = "test.pdf"> 
<cfcontent type="application/pdf" reset="true"> 
<cfheader name="Content-Disposition" value="attachment; filename=#fileName#"> 
<cfdocument localurl="yes" format="pdf" pagetype="letter" margintop=".5" marginbottom=".5" marginright="0" marginleft="0" orientation="portrait" unit="in" backgroundvisible="yes" overwrite="yes" fontembed="no"> 
    <?xml version="1.0" encoding="UTF-8"?> 
    <!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> 
     <title>Test</title> 
     <meta http-equiv=Content-Type content="text/html; charset=windows-1252" /> 
     <meta name=Generator content="Microsoft Word 12 (filtered)" /> 
    </head> 
    <body style="margin: 0;padding: 0;"> 

    <cfdocumentsection> 
     <div style="width:100%; background-color: #cccccc; margin: 0;padding: 0;"> 
      <h1>Hello World!</h1> 
     </div> 
    </cfdocumentsection> 

    </body> 
    </html> 
</cfdocument> 
+1

Vous n'avez pas de balise BODY. Si vous voyez cela avec votre navigateur, il y aura aussi un remplissage/marge. Ajoutez BODY avec marge/padding de "0" et voyez si cela fait n'importe quelle différence. (Si vous voulez un meilleur support de police/CSS/SVG/frontière, consultez WKHTMLTOPDF.J'utilise w/CF8-2016.) –

+0

Bonjour @ JamesMoberg, merci pour les suggestions. J'ai essayé d'utiliser l'étiquette de corps mais le problème persiste toujours. J'espère que je l'ai utilisé correctement avec cfdocumentsection. Je suis en train d'éditer du code ancien qui est implémenté en utilisant cfdocument. Peut-être qu'à long terme je pourrai penser à utiliser WKHTMLTOPDF mais en ce moment je suis pressé d'implémenter quelques changements à la fonctionnalité actuelle. –

+0

Utilisez-vous CSS dans l'étiquette du corps? L'analyseur HTML CFDocument est obsolète. Vous devrez peut-être utiliser leftmargin = "0" topmargin = "0" rightmargin = "0" bottommargin = "0" marginwidth = "0" marginheight = "0" –

Répondre

0

Essayez, je suis en mesure de créer des grilles complètes pdf personnalisé avec l'aide coldfusion parent css et des positions absolues. Remplacez votre cfdocumentsection par ce qui suit.

<cfdocumentsection> 
    <div style="position:relative;left:-0.06in;width:102%;"> 
    <div style="background-color:#cccccc;"> 
     <h1>Hello World!</h1> 
    </div> 
    <div style="background-color:red;"> 
     <h1>Hello World!</h1> 
    </div> 
    </div> 
</cfdocumentsection>