2017-05-23 2 views
3

j'avoir un script qui génère un document HTML, qui est ensuite converti en un fichier .doc en utilisant quelque chose comme ceci:comment retirer le rembourrage de la table lors de l'utilisation CLI --Convertir à paramètre dans LibreOffice

libreoffice5.3 --headless --convert-to doc:"MS Word 97" input.html --outdir outputdir 

Je ne peux pas définir le remplissage sur les cellules de la table. Ils finissent toujours avec 0,5 cm d'espace au fond. J'ai essayé d'ajouter des CSS à la page comme "td {padding: 0cm;}", et essayé d'ajouter le CSS directement aux éléments eux-mêmes, et j'ai même essayé d'ajouter "cellpadding = 0" à l'élément. Je me souviens avoir lu quelque part qu'il pourrait être possible d'appliquer un style prédéfini à un document en utilisant un filtre de gabarit, mais je n'arrive pas à trouver un exemple de personne qui fasse cela.

Donc, ma question: comment puis-je supprimer le remplissage de cellules à partir de tables lors de la conversion de HTML en Doc dans LibreOffice.

Répondre

2

Trouvé.

Lors de la conversion d'éléments de HTML vers Doc (ou PDF, etc.), LibreOffice définit une marge (pas de remplissage!) Sur les cellules du tableau. Ce n'est pas du tout intuitif, car la marge est censée être en dehors d'un élément, pas à l'intérieur.

Pour supprimer l'espace, il suffit d'ajouter ceci au HTML:

<style>th,td{margin:0cm}</style> 

LibreOffice a besoin de la partie « cm », car il ne comprend pas que 0 de rien du tout est encore 0 ...