Utskrifter
På utskrifterna är det möjligt att lägga in eget sidhuvud samt så kan vissa typsnitt och färger anpassas.
<
capitex_boendekalkyl_utskriftsmall
>
<
style
>
<![CDATA[<root>xml-kod för anpassning av typsnitt och färger</root>]]>
</
style
>
<
sidhuvud
typ
=
"fo-inline"
>
<![CDATA[<root>fo-xml-kod för sidhuvud</root>]]>
</
sidhuvud
>
</
capitex_boendekalkyl_utskriftsmall
>
Observera att fo-xml-kod är just fo-xml-kod och inte xsl-kod som ger fo efter en transformation.
Observera också det något märkliga upplägget att XMLen skrivs i en CDATA-tag och att XMLen måste omslutas av en root-tag. Det var tyvärr en liten intern teknisk begränsning tillsammans med en prestandaoptimering som ledde till detta format.
För mer information om hur denna kod skrivs, se http://xmlgraphics.apache.org/fop/
Det finns möjligheter att få in egen fo-kod med logik på godtyckligt ställe i utskrifterna, men detta kräver detaljerad kunskap om Boendekalkylens interna uppbyggnad och tas inte upp i detta dokument.
Exempel
Följande exempel ändrar den gråa bakgrunden under rubriken överst på alla sidor till grön. Den lägger också till en logga längst upp till vänster på sidan. Observera att XML-koden måste ligga i en CDATA och att XML-koden måste ha ett element som heter root.
<
capitex_boendekalkyl_utskriftsmall
>
<
style
>
<![CDATA[
<root>
<MarkedHeader background-color="green" />
</root>
]]>
</
style
>
<
sidhuvud
typ
=
"fo-inline"
>
<![CDATA[
<root>
<fo:block margin-left="2cm" margin-top="1.5cm">
<fo:external-graphic width="68.55mm" height="14.8mm"
src="http://test/css/logga_stor.jpg"
content-height="scale-to-fit" content-width="scale-to-fit">
</fo:external-graphic>
</fo:block>
</root>
]]>
</
sidhuvud
>
</
capitex_boendekalkyl_utskriftsmall
>
Sökvägar till bilder med fo:external-graphic
Följande sökvägar hanteras av fo:external-graphics:
absoluta sökvägar till filer i serverns filsystem, exempel:
file:///c:/bilder/logga.jpgabsoluta URLer, exempel:
http://www.capitex.se/logga.jpgvia applikationens klassladdare (tex fil inbäddad i en jar, fungerar from v2009.25), exempel:
embedded:/test/logga.jpgfysiskt existerande fil relativt katalogen web-inf (fungerar from v2009.25), exempel:
bilder/logga.jpg
Använda http-parametrar i fo-koden
I taggen sidhuvud så finns det stöd för att läsa in http-parametrar så att koden dynamiskt anpassas beroende på varifrån anropet kommer. Detta kan alltså användas på samma sätt som när plugins får tillgång till egna parametrar när boendekalkylen anropas via "fjärranrop över http".
Syntax:
<%=Namn på http-parameter%>
Exempel:
<
capitex_boendekalkyl_utskriftsmall
>
<
sidhuvud
typ
=
"fo-inline"
>
<![CDATA[<root>
<fo:block >
<fo:external-graphic
src="embedded:/logos/<%=EX.KONTOR%>/logga.jpg">
</fo:external-graphic>
</fo:block>
</root>]]>
</
sidhuvud
>
</
capitex_boendekalkyl_utskriftsmall
>
Resultat:
Antag att parametern EX.KONTOR skickas med vid anropet med innehållet "10" så kommer koden ovan efter inläsning att bli enligt följande:
<
capitex_boendekalkyl_utskriftsmall
>
<
sidhuvud
typ
=
"fo-inline"
>
<![CDATA[<root>
<fo:block>
<fo:external-graphic
src="embedded:/logos/10/logga.jpg">
</fo:external-graphic>
</fo:block>
</root>]]>
</
sidhuvud
>
</
capitex_boendekalkyl_utskriftsmall
>
På så sätt kan man få olika loggor på utskriften utan att för den skull behöva en egen konfigurationsfil för varje kontor.
Marginaler och sidstorlek (tillgängligt från v2010.1)
Förinställt används marginaler och sidstorlek i fo-koden enligt nedan, detta innebär att man vid anpassning av sidhuvud kan komma åt hela papprets yta. Det kan finnas anledning att ändra dessa marginaler och pappersstorlek, tex om man har en logga som är så stor att den inte får rum i utrymmet där vi lämnat plats för logga eller om man använder RTF-utskrifter och har problem med att skrivardrivrutinen klagar på för små marginaler. En annan anledning kan vara att man har helt egenutvecklade utskrifter på tex liggande A4.
<
fo
:simple-page-master
ID
=
"simple"
master-name
=
"simple"
page-height
=
"29.7cm"
page-width
=
"21cm"
margin-top
=
"0cm"
margin-bottom
=
"0cm"
margin-left
=
"0cm"
margin-right
=
"0cm"
>
<
fo
:region-body
ID
=
"bodyregion"
margin-left
=
"1.9cm"
margin-top
=
"3.5cm"
/>
<
fo
:region-before
extent
=
"3.5cm"
/>
<
fo
:region-after
extent
=
"0cm"
/>
</
fo
:simple-page-master>
Ovanstående marginaler ser i konfigurationsfilen ut enligt följande:
<
capitex_boendekalkyl_page
-width>21cm</
capitex_boendekalkyl_page
-width>
<
capitex_boendekalkyl_page
-height>29.7cm</
capitex_boendekalkyl_page
-height>
<
capitex_boendekalkyl_margin
-top>0cm</
capitex_boendekalkyl_margin
-top>
<
capitex_boendekalkyl_margin
-bottom>0cm</
capitex_boendekalkyl_margin
-bottom>
<
capitex_boendekalkyl_margin
-left>0cm</
capitex_boendekalkyl_margin
-left>
<
capitex_boendekalkyl_margin
-right>0cm</
capitex_boendekalkyl_margin
-right>
<
capitex_boendekalkyl_body
-margin-top>3.5cm</
capitex_boendekalkyl_body
-margin-top>
<
capitex_boendekalkyl_body
-margin-bottom>0cm</
capitex_boendekalkyl_body
-margin-bottom>
<
capitex_boendekalkyl_body
-margin-left>1.9cm</
capitex_boendekalkyl_body
-margin-left>
<
capitex_boendekalkyl_body
-margin-right>0cm</
capitex_boendekalkyl_body
-margin-right>
Om man vill komma runt problem med margina-klagomål när man skriver ut en RTF-variant av dokumenten från Word så kan man använda följande inställningar istället:
<
capitex_boendekalkyl_page
-width>21cm</
capitex_boendekalkyl_page
-width>
<
capitex_boendekalkyl_page
-height>29.7cm</
capitex_boendekalkyl_page
-height>
<
capitex_boendekalkyl_margin
-top>2.5cm</
capitex_boendekalkyl_margin
-top>
<
capitex_boendekalkyl_margin
-bottom>1.9cm</
capitex_boendekalkyl_margin
-bottom>
<
capitex_boendekalkyl_margin
-left>1.9cm</
capitex_boendekalkyl_margin
-left>
<
capitex_boendekalkyl_margin
-right>1.9cm</
capitex_boendekalkyl_margin
-right>
<
capitex_boendekalkyl_body
-margin-top>0cm</
capitex_boendekalkyl_body
-margin-top>
<
capitex_boendekalkyl_body
-margin-bottom>0cm</
capitex_boendekalkyl_body
-margin-bottom>
<
capitex_boendekalkyl_body
-margin-left>0cm</
capitex_boendekalkyl_body
-margin-left>
<
capitex_boendekalkyl_body
-margin-right>0cm</
capitex_boendekalkyl_body
-margin-right>
Övrigt
Som standard används utskrifter i PDF-format, men även HTML hanteras för kundspecifika utskrifter (beskrivningen ovan för anpassning av sidhuvud och sidfot gäller enbart FO-baserade utskrifter, dvs de utskrifter som genereras som PDF-dokument).
Användargränssnittet kan inte hantera FO/PDF-utskrifter och HTML-baserade utskrifter samtidigt (det kan däremot webservicen). Så ska utskrifter i HTML-format användas från boendekalkylens användargränssnitt så måste detta anges konfigurationsfilen med förljande inställning:
<
capitex_boendekalkyl_utskriftsformat
>HTML</
capitex_boendekalkyl_utskriftsformat
>
Som standard erbjuder vi inga utskrifter i HTML, så det är enbart då alla utskrifter är kundspecifika som denna inställning är aktuell, eller i testsyfte för att kunna testa de utskrifter som finns i HTML-format (utan att behöva göra webservice-anrop).
Handläggarnamn i Printdialogen
Om gränssnittet för att slå upp användarnamn implementeras så kommer handläggarnamnet att visas i print-dialogen. Om användaren av boendekalkylen inte ska kunna ändra detta handläggarnamn så sätt inställningen printdialog_skrivskydda_handlaggarnamn till true.