Skip to main content

Transformation d'un fichier xml de type unistra:archive en fichier pdf

Project description

Build Coverage Python 3.4

Transformation d’un fichier xml de type unistra:archive en fichier pdf

Installation

pip install xml-archive-to-pdf

Usage

xml-archive-to-pdf -i tests/data/pathfinder_1.xml -o /tmp/pathfinder_1.pdf --logo tests/data/logo.png --font tests/data/CustomFont

Documentation

Structuration d’un fichier xml de type unistra:archive

L’objectif est de pouvoir générer simplement un fichier pdf en se basant sur un fichier xml conforme à la norme unistra:archive. En amont, il faudra s’assurer que le fichier xml soit validé par un schéma xsd et qu’il contient toutes les informations nécessaires à la fabrication du pdf.

On aura principalement :

  • Des blocs séparés par des titres

  • Des clés avec un intitulé parlant

  • Des valeurs

Exemple d’un fichier xml

<?xml version="1.0" encoding="UTF-8"?>
<!-- Racine du fichier, id et source sont optionnels, le name correspond au titre -->
<personnage xmlns="fr:unistra:di:archive:pathfinder:v1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="fr:unistra:di:archive:pathfinder:v1 pathfinder_v1.xsd"
    id="1" source="pathfinder" name="document récapitulatif du personnage 1 de pathfinder">
    <!-- Affiche le sous-titre de l'état civil -->
    <etat-civil name="son état civil">
        <!-- Affichage de clés/valeurs -->
        <nom>Sombre-crâne</nom>
        <age name="son âge">20</age>
        <!-- Nouveau bloc avec un sous-titre -->
        <classes name="classes et niveaux">
            <!-- Ici on affiche le sous-titre de name -->
            <classe name="Première classe">
                <nom>Barbare</nom>
                <niveau>3</niveau>
            </classe>
            <!-- Ici name est vide, donc ça affiche un titre vide -->
            <classe name="">
                <nom>Prêtre combattant</nom>
                <niveau>1</niveau>
            </classe>
            <!-- Lorsqu'il n'y a pas d'attribut name, on affiche le nom du tag. Ici classe -->
            <classe>
                <nom>Moine</nom>
                <niveau>2</niveau>
            </classe>
        </classes>
    </etat-civil>
    <!-- Element de style tableau -->
    <armes style="table" name="Liste des armes">
        <arme>
            <nom>cimeterre</nom>
            <type>à deux mains</type>
            <portee name="portée">3</portee>
            <degat name="dégât">7</degat>
            <description>cimeterre</description>
            <element>feu</element>
            <rarete>épique</rarete>
            <prix>1000</prix>
            <qualite>très bonne</qualite>
        </arme>
        <arme>
            <nom>arc</nom>
            <type>à distance</type>
            <portee name="portée">8</portee>
            <degat name="dégât">2</degat>
            <description>arc</description>
            <element>glace</element>
            <rarete>simple</rarete>
            <prix>100</prix>
            <qualite>mauvaise</qualite>
        </arme>
        <arme>
            <nom>épée</nom>
            <type>à une main</type>
            <portee name="portée">5</portee>
            <degat name="dégât">3</degat>
            <description>épée</description>
            <element>terre</element>
            <rarete>rare</rarete>
            <prix>500</prix>
            <qualite>moyenne</qualite>
        </arme>
    </armes>
    <familier>
        <nom>ronron</nom>
        <type>sanglier</type>
    </familier>
</personnage>

Légende de l’exemple

attributs

  • name : intitulé parlant qui servira de label/titre à la place du nom du tag

  • style : style d’un bloc

    • table: affichage sous forme d’un tableau. Le tableau se redimensionne automatiquement en fonction du nombre de colonnes. Attention néanmoins à ne pas utiliser trop de colonnes ou des éléments trop gros, car le rendu pourrait ne pas correspondre vos attentes.

Résultat

Autres

  • –logo : le paramètre logo est optionnel et permet de rajouter un logo sur le document en haut à droite

  • –font : le paramètre font est optionnel et permet de remplacer la font par défaut par une autre font Attention, le dossier qui contiendra la font doit obligatoirement avoir les 4 fichiers suivants:

    • CustomFont-BoldOblique.ttf

    • CustomFont-Bold.ttf

    • CustomFont-Oblique.ttf

    • CustomFont.ttf

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xml-archive-to-pdf-1.0.2.tar.gz (28.4 kB view details)

Uploaded Source

File details

Details for the file xml-archive-to-pdf-1.0.2.tar.gz.

File metadata

File hashes

Hashes for xml-archive-to-pdf-1.0.2.tar.gz
Algorithm Hash digest
SHA256 530b39d569c25f1cb070be5ced0c1245f0c82bd947b2537b564461054a0d92c5
MD5 06e1ea9ecd706c6d3ff30d2d51a5e3fa
BLAKE2b-256 9bcf1126df9f5ad7a4601cbcbf0e0f533918afd339b3e9d19c09b3a62e7b2095

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page