Question SIGNATURES HTM

Plus d'informations
il y a 3 mois 2 semaines #34436 par Dead
SIGNATURES HTM a été créé par Dead
Bonjour, 

Je vous explique la demande que l'on m'a fait:

Dans l'entreprise où je travaille, il y a trois entités.
Pour chaque entité je dois créé une signature pour chaque utilisateur, avec un logo, prénom, nom, poste, mail, fixe et mobile, avec des polices et couleurs spécifiques


J'ai fait un export de mes utilisateurs sous format Excel.
J'ai réalisé un publipostage.
Une fois le publipostage fait, je souhaiterais faire un script PowerShell qui pourrait me découper chaque bloc en un fichier signature pour Outlook, en htm.

J'avoue que je ne sais pas trop comment faire cela. Surtout que j'ai des contraintes.
Parmi vous certains ont déjà réalisé cela? 

Je vous remercie


 

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 3 mois 2 semaines #34438 par Dead
Réponse de Dead sur le sujet SIGNATURES HTM
Bon,

Je suis parti différement. Toujours depuis mon fichier Excel contenant mes informations, j'ai fait ce script qui arrive à peu prés à ce que je veux faire.

Le souci, c'est que je ne sais pas trop comment insérer les polices et couleurs, si c'est dans la structure html ou dans le bloc de création.
Lorsque je lance le script, le logo est trop petit. Je souhaite qu'il fasse la même hauteur que les données. Logo tout à gauche, et les informations à droite du logo, collées.

Voici mon code:
# Chemins des fichiers
$excelFilePath = "C:\SOURCE.xlsx"
$logoPath = "C:\logo.png"
$outputDir = "C:\TEST_AUTOMATISATION_SIGNATURE"
# Charger les données de l'Excel
$excel = New-Object -ComObject Excel.Application
$excel.Visible = $false
$workbook = $excel.Workbooks.Open($excelFilePath)
$sheet = $workbook.Sheets.Item(1)
$usedRange = $sheet.UsedRange
# Fonction pour créer une signature HTML
function New-SignatureHtml {
    param (
        [string]$prenom,
        [string]$nom,
        [string]$poste,
        [string]$mail,
        [string]$fixe,
        [string]$mobile,
        [string]$logoPath,
        [string]$outputPath
    )
    $htmlContent = @"
    <html>
    <body>
        <table>
            <tr>
                <td><img src="$logoPath" alt="Logo" style="width:100px;"></td>
                <td style="padding-left:10px;">
                    <p><strong>$prenom $nom</strong></p>
                    <p>$poste</p>
                    <p>Mail: <a href="mailto:$mail">$mail</a></p>
                    <p>Fixe: $fixe</p>
                    <p>Mobile: $mobile</p>
                </td>
            </tr>
        </table>
    </body>
    </html>
"@
    Out-File -FilePath $outputPath -Encoding utf8 -InputObject $htmlContent
}
# Créer une signature pour chaque utilisateur
for ($row = 2; $row -le $usedRange.Rows.Count; $row++) {
    $prenom = $sheet.Cells.Item($row, 1).Text()
    $nom = $sheet.Cells.Item($row, 2).Text()
    $poste = $sheet.Cells.Item($row, 3).Text()
    $mail = $sheet.Cells.Item($row, 4).Text()
    $fixe = $sheet.Cells.Item($row, 5).Text()
    $mobile = $sheet.Cells.Item($row, 6).Text()
    $outputFile = "$outputDir\signature_${nom}_${prenom}.html"
    New-SignatureHtml -prenom $prenom -nom $nom -poste $poste -mail $mail -fixe $fixe -mobile $mobile -logoPath $logoPath -outputPath $outputFile
}
# Fermer l'Excel
$workbook.Close($false)
$excel.Quit()
Write-Host "Signatures créées avec succès!"

Je vous remercie

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 3 mois 2 semaines - il y a 3 mois 2 semaines #34443 par Fabien
Réponse de Fabien sur le sujet SIGNATURES HTM
Bonjour Dead,

Tu peux insérer du code CSS directement dans ton fichier html comme ceci pour modifier du texte :

  <html>
    <body>
        <table>
            <tr>
                <td><img src="C:\Temp\Dead\logo.png" alt="Logo" style="width:160px;"></td>
                <td style="padding-left:10px;">
                    <p style="color:red;" ><strong>Pierre MARTIN</strong></p>
                    <p style="color:green;" >2215</p>
                    <p style="color:blue;" >Mail: <a href="mailto:pmartin@gmail.fr">pmartin@gmail.fr</a></p>
                    <p style="color:indigo;" >Fixe: 0380411123</p>
                    <p style="color:cornflowerblue;" >Mobile: 0611411123</p>
                </td>
            </tr>
        </table>
    </body>
    </html>
Dernière édition: il y a 3 mois 2 semaines par Fabien.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 3 mois 2 semaines #34446 par Dead
Réponse de Dead sur le sujet SIGNATURES HTM
Bonjour Fabien,

Je te remercie pour ton retour.
Je vais tester. Cependant, comment pourrais-je spécifier les polices à utiliser en fonction des données?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 3 mois 2 semaines - il y a 3 mois 2 semaines #34447 par Dead
Réponse de Dead sur le sujet SIGNATURES HTM
J'ai fait ceci:
<html>
<body>
<table>
<tr>
<td><img src="$logoPath" alt="Logo" style="width:200px;"></td>
<td style="padding-left:10px;">
<p style="font-family: 'Sans Plomb'; color: #191f39;"><strong>$prenom $nom</strong></p>
<p style="font-family: 'Fira Sans'; color: #008ecf;">$poste</p>
<p style="font-family: 'Verdana'; color: #191f39;">Mail: <a href="mailto:$mail" style="color: #191f39;">$mail</a></p>
<p style="font-family: 'Fira Sans'; color: #191f39;">Fixe: $fixe</p>
<p style="font-family: 'Fira Sans'; color: #191f39;">Mobile: $mobile</p>
<p style="font-family: 'Verdana'; color: #191f39;">lien hypertext</p>
</td>
</tr>
</table>
</body>
</html>
"@

Mais les polices ne sont pas prises en compte
Dernière édition: il y a 3 mois 2 semaines par Dead.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 3 mois 2 semaines #34448 par Fabien
Réponse de Fabien sur le sujet SIGNATURES HTM
Il faut sûrement installer les polices sur ton poste.

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.108 secondes
Propulsé par Kunena