2013-04-25 5 views
5

Я пытаюсь собрать небольшую контактную форму для моего 3-летнего сына, у которого лейкемия. Я хочу использовать его, чтобы люди могли присылать ему заметки о поощрении, и мы можем распечатать их и повесить в своей комнате. У меня есть форма, работающая и отправляющая данные с помощью DOMpdf. Моя проблема заключается в том, что фоновое изображение, которое я пытаюсь использовать в качестве «стационарного», отказывается масштабироваться до 100% и независимо от того, какой размер я делаю в своем графическом программном обеспечении, он не работает. Любая помощь приветствуется тем, что мне не хватает. Код ниже. Например, см: http://bebrave.me/#contactФон DOMPDF, отображающий неправильный размер

<head> 
<style> 
    body { background-image: url(http://www.bebrave.me/test.jpg); background-position: top left; background-repeat: no-repeat; 
    background-size: 100%; 
    margin-top:300px; 
    width:612px; 
    height:792px; 
    } 
</style> 

</head> 

<body> 

<table width="500px" border="0" align="center" cellpadding="0" cellspacing="0" id="Table"> 
<tr> 
<td align="left">Dear Joshua,<br /> 
<?php echo $post->Message; ?></td> 
</tr> 
<tr> 
<td align="right">Be Brave!<br /> 
-<?php echo $post->Name; ?></td></tr> 
</table> 

</body> 

ответ

6

Несколько заметок, они применяются, если вы используете DOMPDF 0.6.0 бета 3 или последний из GitHub:

  1. фон-размер свойство еще не поддерживается в dompdf
  2. вы добавляете маржу к телу, поэтому содержимое тела (включая любое фоновое изображение) будет начинаться после применения маржи
  3. dompdf применяет маржу по умолчанию в 1.2cm
  4. DPI по умолчанию в более поздних версиях dompdf - 96. Вероятно, немного легче получить дескриптор размеров и места размещения, если вы отбросите его до 72, чтобы он соответствовал Стандарт PDF. Если вы используете любой другой DPI, dompdf будет выполнять перевод во время рендера.

dompdf, похоже, отклоняется от современных браузеров в отношении применения фонового изображения. Вероятно, это то, что команда разработчиков захочет посмотреть в будущем. Однако, поскольку вы нацеливаете dompdf, вам придется учитывать его особенности.

Вот переписанный документ, который, кажется, делает то, что вы хотите. Он нацелен на последний код, доступный на github, который я рекомендую вам использовать с учетом многих улучшений, которые он включает. Если вам нужно настроить таргетинг на другую версию, дайте мне знать, и я могу настроить HTML.

<html> 
<head> 
<link href='http://fonts.googleapis.com/css?family=Denk+One' rel='stylesheet' type='text/css'> 
<style> 
    @page { margin: 0in; } 
    body { 
    font-family: Denk One, sans-serif; 
    background-image: url(http://www.bebrave.me/test.jpg); 
    background-position: top left; 
    background-repeat: no-repeat; 
    background-size: 100%; 
    padding: 300px 100px 10px 100px; 
    width:100%; 
    height:100%; 
    } 
    p { 
    width: 400px; 
    margin: auto; 
    } 
    .signature { 
    margin-top: 4em; 
    text-align: right; 
    } 
</style> 

</head> 

<body> 

<p> 
    Dear Joshua,<br /> 
    You may not understand all that's happening. Sometimes, you may not even care. 
    Maybe you just want to do what you have to do to get better so you can 
    go back to being a three-year-old ... growing, learning, playing, loving. 
    It may be hard to understand, but you are a hero to your family and friends. You 
    are a hero to them because you show strength in the face of something so 
    scary. Stay strong, be happy, and and get better. 
</p> 

<p class="signature"> 
    Be Brave!<br /> 
    -BrianS 
</p> 

</body> 
</html> 
+0

, если я хотел изменить шрифт, где именно я сделал бы это? Я установил шрифт в lib, просто я указываю точное имя шрифта в моем CSS/стиле? –

+0

Yup. Проще всего просто применить его к телу, например. 'body {font-family: yourfont, sans-serif; } '. – BrianS

+0

Изменен мой пример, чтобы включить изменение шрифта. Я использовал шрифт Google Web, а также дополнительную таблицу стилей. – BrianS

2

Разрешение вашего изображения должно быть 96 пикселей на дюйм (PPI).

Например:

Формат A4: Разрешение 96ppi and 210mm x 297mm or 297mm x 210mm (горизонтальный или вертикальный, соответственно)

Смежные вопросы