Hi all,
I've written a macro that allows to print just one section from an
xwiki-page.
I don't know if someone could find it useful, anyway, here it is.
---------------------------------------
#macro(allowPrintSection)
<form action=$doc.getURL() method=post>
<input type="hidden" name="pageName"
value="$doc.getFullName()" />
<select name="printSection">
#set ($i = 0)
#set ($tocData = ${doc.getTOC(2, 2, false)})
#foreach ($tocEntry in $tocData.entrySet())
#set ($i = $i+1)
<option
value="$i">$xwiki.parseContent($tocEntry.value.text)</option>
#end
</select>
<input type="submit" class="button"
style="margin:auto;" value="Print
section"/>
</form>
#if($request.printSection)
#set ($sections = $doc.getContent())
#set ($i = 0)
#foreach ($section in $sections.split("
1.1 "))
#if ($i == $xwiki.parseInt($request.printSection))
#set ($newContent = $section)
#end
#set ($i = $i+1)
#end
#set ($newContent = "1.1 "+$newContent)
#set ($newDoc = $xwiki.getDocument("Main.PRINT_tmpSectionToPrint"))
#if ($newDoc == $xwiki.getNull())
#if (!$xwiki.copyDocument($request.pageName,
"Main.PRINT_tmpSectionToPrint"))
*Error while printing section...*
#end
#end
$newDoc.setContent($newContent)
$newDoc.save()
Section ready to be printed: <a href="$newDoc.getURL('view',
'xpage=print')">click here</a>.
#end
#end
Any ideas or suggestions are welcome!
Vito
--
Vitantonio Messa
+358 46 889 48 49 - vitantonio.messa(a)coss.fi
COSS - The Finnish Centre for Open Source Solutions
@ Technology Centre Hermia Ltd.
Hermiankatu 1, FIN-33720 Tampere, FINLAND