2017-08-05 2 views
0

Ich habe diesen Code in Coldfusion läuft 11.cfdocument fügt einen gewissen Spielraum links und rechts, auch wenn auf 0 gesetzt

<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> 

Dieses eine PDF wie folgt erzeugt: enter image description here

Das Problem ist, dass ich habe den Rand und das Padding des div auf 0 gesetzt, aber links und rechts ist immer noch etwas Platz.

Gibt es eine Möglichkeit, diesen Speicherplatz programmgesteuert zu entfernen, so dass der Hintergrund die gesamte Breite der Seite umfasst?

Update (7. August 2017)

Ich habe den Code per Kommentar/Vorschlag von James Moberg aktualisiert. Aber das Problem besteht immer noch. mit CSS relativen und absoluten Positionen Hier ist der aktualisierte Code

<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

Sie haben kein BODY-Tag. Wenn Sie das mit Ihrem Browser sehen, wird es auch Padding/Rand geben. Füge BODY mit margin/padding von "0" hinzu und schaue ob es einen Unterschied macht. (Wenn Sie eine bessere Schriftart/CSS/SVG/Rahmenunterstützung wünschen, überprüfen Sie WKHTMLTOPDF. Ich benutze es mit CF8-2016.) –

+0

Hallo @JamesMoberg, danke für die Vorschläge. Ich habe versucht, das Body-Tag zu verwenden, aber das Problem besteht immer noch. Ich hoffe, ich habe es zusammen mit cfdocumentsection richtig verwendet. Ich bearbeite alten Code, der mit cfdocument implementiert wird. Vielleicht kann ich auf lange Sicht über die Verwendung von WKHTMLTOPDF nachdenken, aber gerade jetzt bin ich in Eile, einige Änderungen an der aktuellen Funktionalität vorzunehmen. –

+0

Verwenden Sie CSS im body-Tag? Der CFDocument-HTML-Parser ist veraltet. Möglicherweise müssen Sie leftmargin = "0" verwenden topmargin = "0" rightmargin = "0" bottommargin = "0" marginwidth = "0" marginheight = "0" –

Antwort

0

die Sie interessieren, ich in der Lage gewesen full custom pdf Grids mit Coldfusion zu erstellen. Ersetzen Sie Ihren cfdocumentsection mit dem folgenden.

<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> 
Verwandte Themen