Message d'erreur lors de la génération PDF depuis canoprof


#1

Bonjour,
Lorsque je veux générer le skin PDF j’ai ce message d’erreur et je ne sais pas quoi faire ?
j’ai génére la version web et aperçu sans difficulté.
je travail avec un mac et j’ai testé avec un windows mais toujours le même problème.

merci de votre aide.
Traces de ‘Génération PDF’ pour l’item ‘/TD-SCENARI/01_test_skin_senprof.programme’

— User details —
Générateur: gen_print - Génération PDF
Item racine: /TD-SCENARI/01_test_skin_senprof.programme

  •  [java] java.lang.NullPointerException      [java]  at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:194)      [java]  at org.apache.tools.ant.taskdefs.Java.run(Java.java:771)      [java]  at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:221)      [java]  at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:135)      [java]  at org.apache.tools.ant.taskdefs.Java.execute(Java.java:108)      [java]  at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)      [java]  at sun.reflect.GeneratedMethodAccessor47.invoke(Unknown Source)      [java]  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)      [java]  at java.lang.reflect.Method.invoke(Method.java:606)      [java]  at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)      [java]  at org.apache.tools.ant.Task.perform(Task.java:348)      [java]  at org.apache.tools.ant.Target.execute(Target.java:390)      [java]  at org.apache.tools.ant.Target.performTasks(Target.java:411)      [java]  at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)      [java]  at org.apache.tools.ant.Project.executeTarget(Project.java:1368)      [java]  at com.scenari.m.ge.generator.web.WebGenerator.xGenerate(WebGenerator.java:372)      [java]  at com.scenari.m.ge.generator.base.GeneratorStatic.generate(GeneratorStatic.java:647)      [java]  at eu.scenari.wsp.module.gen.ThreadGen.call(ThreadGen.java:170)      [java]  at eu.scenari.wsp.module.gen.ThreadGen.run(ThreadGen.java:157)      [java]  at eu.scenari.core.universe.Universe$1.run(Universe.java:406)      [java]  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)      [java]  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)      [java]  at java.lang.Thread.run(Thread.java:745)      [java] Caused by: java.lang.NullPointerException      [java]  at org.xhtmlrenderer.render.BlockBox.alignToStaticEquivalent(BlockBox.java:470)      [java]  at org.xhtmlrenderer.render.BlockBox.positionAbsolute(BlockBox.java:524)      [java]  at org.xhtmlrenderer.layout.Layer.positionFixedLayer(Layer.java:519)      [java]  at org.xhtmlrenderer.layout.Layer.paint(Layer.java:297)      [java]  at org.xhtmlrenderer.pdf.ITextRenderer.paintPage(ITextRenderer.java:408)      [java]  at org.xhtmlrenderer.pdf.ITextRenderer.writePDF(ITextRenderer.java:356)      [java]  at org.xhtmlrenderer.pdf.ITextRenderer.createPDF(ITextRenderer.java:313)      [java]  at org.xhtmlrenderer.pdf.ITextRenderer.createPDF(ITextRenderer.java:250)      [java]  at org.xhtmlrenderer.simple.PDFRenderer.doRenderToPDF(PDFRenderer.java:127)      [java]  at org.xhtmlrenderer.simple.PDFRenderer.renderToPDF(PDFRenderer.java:111)      [java]  at org.xhtmlrenderer.simple.PDFRenderer.main(PDFRenderer.java:166)      [java]  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)      [java]  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)      [java]  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)      [java]  at java.lang.reflect.Method.invoke(Method.java:606)      [java]  at org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:217)      [java]  at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:152)      [java]  ... 22 more
    
  •  [java] Java Result: -1
    

— Admin details —

<?xml version="1.0" encoding="UTF-8"?>

— Js stack —
cbLoadLog@chrome://scenariwsp/content/widgets/genBox/genBox.xbl.xml:814:11
CallbackWrapper.prototype.handleEvent@chrome://scenariwsp/content/commons/servers/HttpDataProvider.jsm:410:17

— App context —
timestamp: 9/5/2019 11:34:47
userAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:42.0) Gecko/20100101 SCchain4.2/4.2.107
coreVersion: 4.2.107
brandShortName: SCENARIchain
appVersion: 4.2.107
appBuildId: 201811201631
appDevelopmentStage: final


#2

Le poste de travail est-il bien configuré - avec dessus la version LibreOffice 5 ? (version 5 : Scenari n’est pas encore porté pour pouvoir utiliser les composants LibreOffice 6)


#3

j’ai pas libre office sur ma machine. Faut il l’installer pour produire le pdf ?


#4

Quel version de LibreOffice 5 faut-il télécharger pour mac ?


#5

La documentation Canoprof indique :
LibreOffice 5.1
https://monsieur-canoprof.canoprof.fr/eleve/documentation1.0/#install_auteurs_local

Sans doute disponible dans les archives LibreOffice :
https://downloadarchive.documentfoundation.org/libreoffice/old/5.1.6.2/mac/


#6

Bonjour,
Attention, la publication PDF de Canoprof n’utilise pas LibreOffice, celui-ci n’est utile que si vous utilisez les ressources au format LO comme des ODS, ODG ou ODF.

Ceci est donc une fausse piste.


#7

Vous parlez de Skin,

Quel est votre contexte de génération, vous êtes en train de tester un skin depuis SCENARIstyler ?


#8

Bonjour Sam,
Nous essayons de créer un skin PDF pour le Sénégal en partant du skin web que nous avons déjà créé. Nous avons après installation de LibreOffice sur une machine windows ce message d’erreur:
Traces de ‘Génération PDF’ pour l’item ‘/TD-SCENARI/01_test_skin_senprof.programme’

— User details —

Générateur: gen_print - Génération PDF

Item racine: /TD-SCENARI/01_test_skin_senprof.programme

  •  [java] java.lang.NullPointerException      [java]  at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:194)      [java]  at org.apache.tools.ant.taskdefs.Java.run(Java.java:771)      [java]  at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:221)      [java]  at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:135)      [java]  at org.apache.tools.ant.taskdefs.Java.execute(Java.java:108)      [java]  at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)      [java]  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)      [java]  at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)      [java]  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)      [java]  at java.lang.reflect.Method.invoke(Unknown Source)      [java]  at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)      [java]  at org.apache.tools.ant.Task.perform(Task.java:348)      [java]  at org.apache.tools.ant.Target.execute(Target.java:390)      [java]  at org.apache.tools.ant.Target.performTasks(Target.java:411)      [java]  at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)      [java]  at org.apache.tools.ant.Project.executeTarget(Project.java:1368)      [java]  at com.scenari.m.ge.generator.web.WebGenerator.xGenerate(WebGenerator.java:372)      [java]  at com.scenari.m.ge.generator.base.GeneratorStatic.generate(GeneratorStatic.java:647)      [java]  at eu.scenari.wsp.module.gen.ThreadGen.call(ThreadGen.java:170)      [java]  at eu.scenari.wsp.module.gen.ThreadGen.run(ThreadGen.java:157)      [java]  at eu.scenari.core.universe.Universe$1.run(Universe.java:406)      [java]  at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)      [java]  at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)      [java]  at java.lang.Thread.run(Unknown Source)      [java] Caused by: java.lang.NullPointerException      [java]  at org.xhtmlrenderer.render.BlockBox.alignToStaticEquivalent(BlockBox.java:470)      [java]  at org.xhtmlrenderer.render.BlockBox.positionAbsolute(BlockBox.java:524)      [java]  at org.xhtmlrenderer.layout.Layer.positionFixedLayer(Layer.java:519)      [java]  at org.xhtmlrenderer.layout.Layer.paint(Layer.java:297)      [java]  at org.xhtmlrenderer.pdf.ITextRenderer.paintPage(ITextRenderer.java:408)      [java]  at org.xhtmlrenderer.pdf.ITextRenderer.writePDF(ITextRenderer.java:356)      [java]  at org.xhtmlrenderer.pdf.ITextRenderer.createPDF(ITextRenderer.java:313)      [java]  at org.xhtmlrenderer.pdf.ITextRenderer.createPDF(ITextRenderer.java:250)      [java]  at org.xhtmlrenderer.simple.PDFRenderer.doRenderToPDF(PDFRenderer.java:127)      [java]  at org.xhtmlrenderer.simple.PDFRenderer.renderToPDF(PDFRenderer.java:111)      [java]  at org.xhtmlrenderer.simple.PDFRenderer.main(PDFRenderer.java:166)      [java]  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)      [java]  at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)      [java]  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)      [java]  at java.lang.reflect.Method.invoke(Unknown Source)      [java]  at org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:217)      [java]  at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:152)      [java]  ... 23 more
    
  •  [java] Java Result: -1
    

— Admin details —

<?xml version=“1.0” encoding=“UTF-8”?>

<trace>

<start t=“14/05/19 10:17:40”/>

<l t=“Error” d=“14/05/19 10:17:43”>

<message type=“Error” ts=“1557829063593” appCtx=“chain” thread=“chain-executor-1” desc=" [java] java.lang.NullPointerException [java] at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:194) [java] at org.apache.tools.ant.taskdefs.Java.run(Java.java:771) [java] at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:221) [java] at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:135) [java] at org.apache.tools.ant.taskdefs.Java.execute(Java.java:108) [java] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [java] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [java] at java.lang.reflect.Method.invoke(Unknown Source) [java] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) [java] at org.apache.tools.ant.Task.perform(Task.java:348) [java] at org.apache.tools.ant.Target.execute(Target.java:390) [java] at org.apache.tools.ant.Target.performTasks(Target.java:411) [java] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399) [java] at org.apache.tools.ant.Project.executeTarget(Project.java:1368) [java] at com.scenari.m.ge.generator.web.WebGenerator.xGenerate(WebGenerator.java:372) [java] at com.scenari.m.ge.generator.base.GeneratorStatic.generate(GeneratorStatic.java:647) [java] at eu.scenari.wsp.module.gen.ThreadGen.call(ThreadGen.java:170) [java] at eu.scenari.wsp.module.gen.ThreadGen.run(ThreadGen.java:157) [java] at eu.scenari.core.universe.Universe$1.run(Universe.java:406) [java] at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [java] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [java] at java.lang.Thread.run(Unknown Source) [java] Caused by: java.lang.NullPointerException [java] at org.xhtmlrenderer.render.BlockBox.alignToStaticEquivalent(BlockBox.java:470) [java] at org.xhtmlrenderer.render.BlockBox.positionAbsolute(BlockBox.java:524) [java] at org.xhtmlrenderer.layout.Layer.positionFixedLayer(Layer.java:519) [java] at org.xhtmlrenderer.layout.Layer.paint(Layer.java:297) [java] at org.xhtmlrenderer.pdf.ITextRenderer.paintPage(ITextRenderer.java:408) [java] at org.xhtmlrenderer.pdf.ITextRenderer.writePDF(ITextRenderer.java:356) [java] at org.xhtmlrenderer.pdf.ITextRenderer.createPDF(ITextRenderer.java:313) [java] at org.xhtmlrenderer.pdf.ITextRenderer.createPDF(ITextRenderer.java:250) [java] at org.xhtmlrenderer.simple.PDFRenderer.doRenderToPDF(PDFRenderer.java:127) [java] at org.xhtmlrenderer.simple.PDFRenderer.renderToPDF(PDFRenderer.java:111) [java] at org.xhtmlrenderer.simple.PDFRenderer.main(PDFRenderer.java:166) [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [java] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [java] at java.lang.reflect.Method.invoke(Unknown Source) [java] at org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:217) [java] at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:152) [java] … 23 more"/>

</l>

<l t=“Error” d=“14/05/19 10:17:43”>

<message type=“Error” ts=“1557829063593” appCtx=“chain” thread=“chain-executor-1” desc=" [java] Java Result: -1"/>

</l>

<end t=“14/05/19 10:17:43”/>

</trace>

— Js stack —

cbLoadLog@chrome://scenariwsp/content/widgets/genBox/genBox.xbl.xml:814:11

CallbackWrapper.prototype.handleEvent@chrome://scenariwsp/content/commons/servers/HttpDataProvider.jsm:410:17

— App context —

timestamp: 14/5/2019 11:26:22

userAgent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:42.0) Gecko/20100101 ch.4.2/4.2.107

coreVersion: 4.2.107

brandShortName: SCENARIchain

appVersion: 4.2.107

appBuildId: 201811201631

appDevelopmentStage: final

Faut-il créer le skin en partant d’un skin standard de Canoprof ou pouvons nous utiliser le skin web sénégal que nous venons de créer?
Merci de ton aide.


#9

Salut :

  1. Pas besoin de LibreOffice pour le générateur PDF
  2. Les skins Web et PDF sont totalement différents même si c’est la même technologie (CSS)
  3. Vous avez cet erreur dans quel contexte exactement ?
    Canoprof dans un atelier local sous SCENARIstyler en train de tester votre skin ?

#10

Chez moi j’ai pas de pbs :


#11
  1. Ok bien compris pas de LibreOffice
    Nous avons généré un skin web depuis Canoprof que nous avons batisé SenWeb et c’est ce skin que nous utilisons pour créer le pdf. c’est là que nous avons le message d’erreur.
    Si nous prenons le skin proposé par Canoprof cela fonctionne comme dans ta capture.
    Si je comprends bien il n’est pas possible de générer un skin pdf depuis une dérivation web que nous avons produite. Il faut passer par le skin pdf canoprof pour une première fois.
    Une dernière question:
    est-il possible de supprimer les skins canoprof (je n’ai pas trouvé)?
    Est-il possible de faire un seul skinpack avec web+prévisualisation+pdf?
    En tous les cas c’est simple de faire des skins avec le styler.
    En tous les gars je te dois une Gazelle ! :slight_smile:

#12
  • est-il possible de supprimer les skins canoprof => en local non, en distant tu doit pouvoir décocher les skins présents dans les paramètres des ateliers
  • Est-il possible de faire un seul skinpack avec web+prévisualisation+pdf => oui, tout a fait.
    Remarque : il y a juste deux skin.doss a ajouter, un pour PDF et un pour web. Celui du web peut être attribué à la prévisu également.

#13

Merci pour ton retour…
Nous coinçons sur la génération du pdf. En fait lorsque nous prenons le skin pdf rose de canoprof et faisons des changements ils ne s’appliquent pas. Le skin se réinitialise. Y-a-t-il un truc particulier à faire pour le pdf dans canoprof?


#14

je crois me souvenir que @sam a utilsé PostCSS pour les CSS, il vous faut consulter l’arbre des sources disponible dans le SVN par pack SCBuilder.


#15

Bonsoir,
J’ai rien compris… désolé
Cdt


#16


[edit] Avec les pre/post processeurs, vous pourriez utiliser les fichiers sources des skins pour générer votre skin pour le générateur web et le générateur PDF sans modifier la logique propre à chaque générateur, il vous suffit de modifier le fichier contenant les variables.
Sous une autre forme c’est un peu le principe de Scenari, on génère à partir d’une source originale plusieurs résultats finaux, en créant une sorte de template pour les CSS :wink:

  • Si vous avez à disposition les fichiers scss originaux il vous suffit alors de les passer à la “moulinette” des processeurs pour générer tous les skins dont vous auriez besoin.

  • Si vous ne les avez pas, il vous faut alors “variabiliser” les skins originaux pour le Web et le PDF voire refactoriser le code pour réutiliser les parties que vous souhaitez conserver des fichiers CSS originaux et y injecter du nouveau code.

  • Vous pouvez avoir des parties communes aux deux types de générateur Web et PDF (thème commun).

L’usage généralisé des pre/post processeurs éviterait la plupart des erreurs mentionnées dans ce fils de discussion.


#17

La on parle de skin PDF, ou il y a pas cela.


#18

En fait, je croyais que si vu que tu sembles avoir utilisé SCSS pour les skins donc je pensais, peut-être à tord que tu avais étendu l’usage au gen. PDF.

Pour les autres, l’idée c’est de prendre le skin pour le gen. PDF et de le variabiliser pour ensuite le passer juste à la “moulinnette” d’un pre-processeur (celui avec lequel le modelisateur est le plus à l’aise - LESS/SCSS/autres), c’est faisable avec Styler et Builder.
En pré-requis, il faut évidemment avoir bien lu “The Flying Saucer User’s Guide” et comprendre les limitations.

Prenons un exemple simple voire simpliste, pour canoprof le skin.css du dossier skins/default/print.skin.doss et transformons le en skin.less (ici les 100 premières lignes de CSS):

/* Couleurs
- main color: #006978
- meta em : 576f72
- block border: #bfd9dd
- prof instruction: #0c9ef1
- student instruction: #ec6608 */

@font-face {
	font-family: 'fontello';
	src: url("fontello.ttf");
	font-weight: normal;
	font-style: normal;
	-fs-pdf-font-embed: embed;
	-fs-pdf-font-encoding: Identity-H;
}

body{
	font-family: FreeSans;
	font-size:9pt;
	margin: 0 1.5cm;
	color:#000000;
	font-weight:normal;
}

body.standardDocument > .section,  body.compactDocument > .section.solutions{
	page-break-before: always;
}

p{
	text-align: justify;
	hyphens: auto;
	margin:0;
	line-height:150%;
}

a{
	color:#006978;
}

h1, h2, h3, h4, h5, h6, h7, h8, h9 {
	font-family: FreeSansB;
	color:#006978;
	page-break-after:avoid;
}
h4, h5, h6, h7, h8, h9 {
	font-size: 10pt;
}

strong{
	font-family: FreeSansB;
}

em{
	font-family: FreeSansI;
}

q::before, q::after {
    content: "";
}

.meta em {
	color: #576f72;
	font-family: FreeSansB;
	text-transform: uppercase;
	font-style:normal;
}
span img{
	vertical-align: middle;
}
figure{
	text-align: center;
	margin:1cm auto;
	page-break-inside:avoid;
}
figcaption{
	color: gray;
}
div:empty { 
	display: none; 
}
table{
	border:1px solid black;
	border-collapse: collapse;
	margin: 0.3em auto;
}
tr{
	page-break-inside: avoid;
}
td, th{
	border:1px solid black;
	padding: 0 2px;
}
table>caption{
	color:gray;
	font-style: italic;
}
table p{
	margin: 0.1em 0;
}
td.num_tbtd p{
	text-align:right;
}
td.word_tbtd p{
	text-align:center;
}
span.author_tl{
	font-weight: bold;
}
span.editor_tl{
	text-decoration: underline;
}

remplaçons les couleurs proposées par des variables et on l’enregistre en skin.less:

/* Couleurs
- main color: #006978
- meta em : 576f72
- block border: #bfd9dd
- prof instruction: #0c9ef1
- student instruction: #ec6608 */

// === LESS:begin ======================================================
// --- Theme colors ---
@mainColor:	"#006978";
@metaColor:	"#576f72";
@borderColor:	"#bfd9dd";
@profColor:	"#0c9ef1";
@studentColor:	"#ec6608";
// === LESS:end ========================================================

@font-face {
	font-family: 'fontello';
	src: url("fontello.ttf");
	font-weight: normal;
	font-style: normal;
	-fs-pdf-font-embed: embed;
	-fs-pdf-font-encoding: Identity-H;
}

body{
	font-family: FreeSans;
	font-size:9pt;
	margin: 0 1.5cm;
	color:#000000;
	font-weight:normal;
}

body.standardDocument > .section,  body.compactDocument > .section.solutions{
	page-break-before: always;
}

p{
	text-align: justify;
	hyphens: auto;
	margin:0;
	line-height:150%;
}

a{
	color:@mainColor;
}

h1, h2, h3, h4, h5, h6, h7, h8, h9 {
	font-family: FreeSansB;
	color:@mainColor;
	page-break-after:avoid;
}
h4, h5, h6, h7, h8, h9 {
	font-size: 10pt;
}

strong{
	font-family: FreeSansB;
}

em{
	font-family: FreeSansI;
}

q::before, q::after {
    content: "";
}

.meta em {
	color: @metaColor;
	font-family: FreeSansB;
	text-transform: uppercase;
	font-style:normal;
}
span img{
	vertical-align: middle;
}
figure{
	text-align: center;
	margin:1cm auto;
	page-break-inside:avoid;
}
figcaption{
	color: gray;
}
div:empty { 
	display: none; 
}
table{
	border:1px solid black;
	border-collapse: collapse;
	margin: 0.3em auto;
}
tr{
	page-break-inside: avoid;
}
td, th{
	border:1px solid black;
	padding: 0 2px;
}
table>caption{
	color:gray;
	font-style: italic;
}
table p{
	margin: 0.1em 0;
}
td.num_tbtd p{
	text-align:right;
}
td.word_tbtd p{
	text-align:center;
}
span.author_tl{
	font-weight: bold;
}
span.editor_tl{
	text-decoration: underline;
}

et comme il faut être multi. OS (ici avec less4j):

java -jar less4j.jar skin.less skin.css

pour compresser le fichier skin.css:

java -jar less4j.jar -x skin.less skin.css

Il n’y a plus qu’à remplacer les valeurs des variables par les couleurs pour faire du pink ou du SenWeb sans modifier trop en profondeur le fichier skin.css d’origine du gen. PDF.

Évidemment, il faut pousser la logique un peu plus loin pour que ça soit vraiment utile :

  • en variabilisant le plus possible le fichier skin.css d’origine
  • en découpant le fichier skin.css en petit bout
  • en séparant ce qui est propre à FS de ce qui peut être mis en commun avec un skin pour le web
  • en concaténant le tout dans un fichier skin.less du genre :
// =====================================================================
// skin.less config file for PDF generator
// =====================================================================
// --- Variables ---
@import "skin-variables.less";
// --- Fonts ---
@import "skin-fonts.less";
// ---  Spec. FS ---
@import "skin-fs.less";
// --- HTML ---
@import "skin-html.less";
@import "skin-components.less";
@import "skin-theme.less";

#19

Bonjour et merci de votre réponse.
Je trouve cela bien compliqué pour faire une publication pdf alors que le web et la prévisu. passent si bien…
Nous avons pour l’instant 7 skins publication web dérivés de canoprof mais toujours des messages d’erreurs lorsque nous essayons de créer un skin pdf.
Nous avons fait des essais dans le modèle Canoprof wsppack dans ScenariChain et même dans Canoprof directement mais sans succès…
En attendant de trouver une réponse pour la publication pdf, nous mettons en ligne les skins web.
Merci de votre aide


#20

Pour créer un skin PDF c’est pas plus ou moins difficile que Web faut-il encore bien partir d’un skin PDF existant et PAS d’un skin Web.