[xwiki-users] Printing sections
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 - [email protected] COSS - The Finnish Centre for Open Source Solutions @ Technology Centre Hermia Ltd. Hermiankatu 1, FIN-33720 Tampere, FINLAND
Hi Vitantonio, thanks for this snippet :-) It would be even better if you could post it on code.xwiki.org, in the code Snippet section. Thanks in advance, Guillaume On 22/02/2008, Vitantonio Messa <[email protected]> wrote:
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 - [email protected] COSS - The Finnish Centre for Open Source Solutions @ Technology Centre Hermia Ltd. Hermiankatu 1, FIN-33720 Tampere, FINLAND
_______________________________________________ users mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/users
Thanks for the tip: I'll do that. Guillaume Lerouge wrote:
Hi Vitantonio,
thanks for this snippet :-)
It would be even better if you could post it on code.xwiki.org <http://code.xwiki.org>, in the code Snippet section.
Thanks in advance,
Guillaume
On 22/02/2008, *Vitantonio Messa* <[email protected] <mailto:[email protected]>> wrote:
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 - [email protected] <mailto:[email protected]> COSS - The Finnish Centre for Open Source Solutions @ Technology Centre Hermia Ltd. Hermiankatu 1, FIN-33720 Tampere, FINLAND
_______________________________________________ users mailing list [email protected] <mailto:[email protected]> http://lists.xwiki.org/mailman/listinfo/users
-- http://wikibc.blogspot.com/ ------------------------------------------------------------------------
_______________________________________________ users mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/users
Hi Vito, The best place to contribute this macro is http://code.xwiki.org. Just click the "add" button under Latest macros, fill the form, and you will be done. Thank you, Jerome.
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 - [email protected] COSS - The Finnish Centre for Open Source Solutions @ Technology Centre Hermia Ltd. Hermiankatu 1, FIN-33720 Tampere, FINLAND
_______________________________________________ users mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/users
participants (3)
-
Guillaume Lerouge -
Jerome Velociter -
Vitantonio Messa