6

I'm trying to improve my generated PDF created by xhtml2pdf with some CSS style in my Django Project.

I would like for example to justify a text block, but apparently, it doesn't work and I don't find why. I'm reading lots of documentations about this library, I wrote some CSS scripts but still nothing.

This is my HTML file :

<html>
    <head>
    {% load staticfiles %}
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   
    <link rel="stylesheet" type="text/css" />

    <style>
            p {text-align: justify;}
    </style>
    </head>

    <font face="Courier New, monospace"

    <body>
        <logo class="logo">
        <img src='/Users/valentinjungbluth/Desktop/Django/Etat_civil/Etat_civil/static/images/logo.png' />
        </logo>
        <h2 align="center"> <font color="red" size="6"> ACTE DE NAISSANCE <br /> COPIE INTEGRALE </font></align> </h2>

        <br></br>
        <br></br>

        {% block content %} 

        <h3 align="left"> ACTE DE NAISSANCE N° {{birthcertificate.id}} / {% now "Y" %} {{birthcertificate.firstname}} {{birthcertificate.lastname}}</align> </h3>

        <br></br>

        <p>Le {{birthcertificate.birthday}} est né, {{birthcertificate.firstname}} {{birthcertificate.lastname}}, du sexe {{birthcertificate.sex}}, <br />
        de {{birthcertificate.fk_parent1.firstname}} {{birthcertificate.fk_parent1.lastname}}, né à {{birthcertificate.fk_parent1.birthcity}} ({{birthcertificate.fk_parent1.country}}) le {{birthcertificate.fk_parent1.birthday}}, {{birthcertificate.fk_parent1.job}},<br />
        et de {{birthcertificate.fk_parent2.firstname}} {{birthcertificate.fk_parent2.lastname}}, née à {{birthcertificate.fk_parent2.birthcity}} ({{birthcertificate.fk_parent2.country}})<br />
        le {{birthcertificate.fk_parent2.birthday}}, {{birthcertificate.fk_parent2.job}}, domiciliés au {{birthcertificate.fk_parent1.adress}}.
        </p>
        <br></br>

            Dressé le {% now "SHORT_DATETIME_FORMAT" %} à ... , lecture faite et invité à lire l'acte, a signé avec Nous, <br /> {{user}}, chevalier de la Légion d'honneur, officier de l'Etat Civil.


        <h3> Le {% now "SHORT_DATETIME_FORMAT" %}
        <br /> Par la présente, l'Officier d'Etat Civil certifie la conformité de la présente déclaration </h3>

        <br></br>

        <h3 align ="right"> L'Officier d'Etat Civil </align> </h3>
        <h3 align ="right"> Signature et tampon </align> </h3>

        {% endblock %}

        </font>
    </body>
</html>

When I generate the PDF, I get this file :

enter image description here

As you can see, the block text is not justified. I also tried to add a background-color but always the same problem, it doesn't take account.

Thank you so much if you have an idea !

EDIT :

I found the answer : sentences were not enough long to justify the text !

2
  • 1
    try providing id to each element you are giving css styling like instead of <p> make it <p id='first_p'> and then do the styling Commented Jan 4, 2017 at 12:47
  • 1
    what do you mean with your EDIT comment? can you explain more, please? Commented Nov 4, 2018 at 4:05

1 Answer 1

15

You do not have the CSS attribute "text-align: justify" in xhtml2pdf. Following attributes are integrated:

background-color
border-bottom-color, border-bottom-style, border-bottom-width
border-left-color, border-left-style, border-left-width
border-right-color, border-right-style, border-right-width
border-top-color, border-top-style, border-top-width
colordisplay
font-family, font-size, font-style, font-weight
height
line-height, list-style-type
margin-bottom, margin-left, margin-right, margin-top
padding-bottom, padding-left, padding-right, padding-top
page-break-after, page-break-before
size
text-align, text-decoration, text-indent
vertical-align
white-space
width
zoom

The updated link for documentation

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.