CFDOCUMENT вставляет некоторое поле слева и справа, даже если установлено значение 0

У меня этот код работает в Coldfusion 11.

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

Это создает такой PDF-файл: введите здесь описание изображения

Проблема в том, что я установил для полей и отступов div значение 0, но слева и справа все еще есть место.

Есть ли способ удалить это пространство программно, чтобы фон занимал всю ширину страницы?

Обновление (7 августа 2017 г.)

Я обновил код в соответствии с комментарием/предложением Джеймса Моберга. Но проблема все еще сохраняется. Вот обновленный код

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

person Saurabh Misra    schedule 05.08.2017    source источник
comment
У вас нет тега BODY. Если вы просмотрите это в своем браузере, также будет отступ/маржа. Добавьте BODY с полем/заполнением 0 и посмотрите, имеет ли это какое-то значение. (Если вам нужна лучшая поддержка шрифтов/CSS/SVG/границы, посмотрите WKHTMLTOPDF. Я использую его с CF8-2016.)   -  person James Moberg    schedule 05.08.2017
comment
Привет @JamesMoberg, спасибо за предложения. Я попытался использовать тег body, но проблема все еще сохраняется. Надеюсь, я правильно использовал его вместе с cfdocumentsection. Я редактирую старый код, реализованный с помощью cfdocument. Возможно, в долгосрочной перспективе я смогу подумать об использовании WKHTMLTOPDF, но сейчас я спешу внести некоторые изменения в текущий функционал.   -  person Saurabh Misra    schedule 07.08.2017
comment
Используете ли вы CSS в теге body? Анализатор HTML CFDocument устарел. Вам может понадобиться использовать leftmargin=0 topmargin=0 rightmargin=0 bottommargin=0 marginwidth=0 marginheight=0   -  person James Moberg    schedule 07.08.2017
comment
Анализатор CSS CFdocument не всегда получает весь CSS, который вы используете. Попробуйте margin-left: 0px; margin-right: 0px;... и т. д. Можно также попробовать без тега ‹cfdocumentsection›, который здесь мало что дает.   -  person Mark A Kruger    schedule 08.08.2017


Ответы (1)


Попробуйте это, я смог создать полные пользовательские сетки PDF с помощью coldfusion, используя относительные и абсолютные позиции css. Замените свой cfdocumentsection следующим.

<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>
person camilogr    schedule 13.08.2017