Index: main/waeup.kofa/trunk/src/waeup/kofa/browser/interfaces.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/browser/interfaces.py	(revision 9553)
+++ main/waeup.kofa/trunk/src/waeup/kofa/browser/interfaces.py	(revision 9555)
@@ -180,5 +180,5 @@
         """
     def create_pdf(data, headerline=None, title=None, author=None,
-                   footer='', note=None, sig_in_footer=False):
+                   footer='', note=None, sigs_in_footer=[]):
         """Create a PDF.
 
@@ -196,6 +196,6 @@
         page numbers.
 
-        `sig_in_footer`, if set to ``True`` renders signature boxes
-        above the footer on each page.
+        `sigs_in_footer` is a set of translateable strings that will be
+        rendered into signature boxes at bottom of each page.
 
         If no `headerline` is given, a default will be rendered (name
Index: main/waeup.kofa/trunk/src/waeup/kofa/browser/pdf.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/browser/pdf.py	(revision 9553)
+++ main/waeup.kofa/trunk/src/waeup/kofa/browser/pdf.py	(revision 9555)
@@ -208,12 +208,12 @@
         canvas.saveState()
         canvas.setFont("Helvetica", 10)
-        canvas.drawString(
-            2.2*cm + 0.2*cm, 1.35 * inch,
-            translate(_('Date, Student Signature')))
-        canvas.drawString(
-            width/2.0 + 0.15*cm + 0.4*cm, 1.35 * inch,
-            translate(_('Date, Clearance Officer Signature')))
-        canvas.rect(2.2*cm, 0.75*inch, width/2.0-2.1*cm, 0.75*inch)
-        canvas.rect(width/2.0+0.3*cm, 0.75*inch, width/2.0-2.5*cm, 0.75*inch)
+        mystring = "%r" % ([translate(sig) for sig in signatures])
+        for num, sig in enumerate(signatures):
+            box_width = (width - 4.2*cm) / len(signatures)
+            x_box = 2.1*cm + (box_width) * num
+            y_box = 0.75*inch
+            canvas.rect(x_box+0.1*cm, y_box, box_width-0.2*cm, 0.75*inch)
+            canvas.drawString(
+                x_box+0.2*cm, 1.35*inch, translate(sig))
         canvas.restoreState()
         return canvas
@@ -361,6 +361,7 @@
         # Footer
         canvas.saveState()
-        if getattr(doc, 'sig_in_footer', False):
-            self._drawSignatureBoxes(canvas, width, height)
+        if getattr(doc, 'sigs_in_footer', False):
+            self._drawSignatureBoxes(
+                canvas, width, height, doc.sigs_in_footer)
         canvas.line(2.2*cm, 0.62*inch, width-2.2*cm, 0.62*inch)
         canvas.setFont("Helvetica", 9)
@@ -384,9 +385,9 @@
 
     def create_pdf(self, data, headerline=None, title=None, author=None,
-                   footer='', note=None, sig_in_footer=False):
+                   footer='', note=None, sigs_in_footer=[]):
         """Returns a binary data stream which is a PDF document.
         """
         pdf_stream = StringIO()
-        bottomMargin = sig_in_footer and 1.4*inch or 0.8*inch
+        bottomMargin = len(sigs_in_footer) and 1.9*inch or 1.2*inch
         doc = SimpleDocTemplate(
             pdf_stream,
@@ -403,5 +404,5 @@
         doc.kofa_author = author
         doc.kofa_footer = footer
-        doc.sig_in_footer = sig_in_footer
+        doc.sigs_in_footer = sigs_in_footer
         if note is not None:
             html = format_html(note)
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py	(revision 9553)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py	(revision 9555)
@@ -639,9 +639,11 @@
         return
 
-    def _sigInFooter(self):
+    def _sigsInFooter(self):
         isStudent = getattr(
             self.request.principal, 'user_type', None) == 'student'
         if not isStudent and self.context.state in (CLEARED, ):
-            return True
+            return (_('Date, Student Signature'),
+                    _('Date, Clearance Officer Signature'),
+                    )
         return False
 
@@ -653,5 +655,5 @@
             self, 'clearance_slip.pdf',
             self.context.student, studentview, signatures=self._signatures(),
-            sig_in_footer=self._sigInFooter())
+            sigs_in_footer=self._sigsInFooter())
 
 class StudentClearanceManageFormPage(KofaEditFormPage):
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/utils.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/utils.py	(revision 9553)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/utils.py	(revision 9555)
@@ -506,5 +506,5 @@
     def renderPDF(self, view, filename='slip.pdf', student=None,
                   studentview=None, tableheader=None, tabledata=None,
-                  note=None, signatures=None, sig_in_footer=False,
+                  note=None, signatures=None, sigs_in_footer=(),
                   show_scans=True):
         """Render pdf slips for various pages.
@@ -559,5 +559,5 @@
 
         # Insert signatures
-        if signatures and not sig_in_footer:
+        if signatures and not sigs_in_footer:
             data.append(Spacer(1, 20))
             signaturetable = get_signature_table(signatures)
@@ -569,5 +569,5 @@
             pdf_stream = creator.create_pdf(
                 data, None, doc_title, author=author, footer=footer_text,
-                note=note, sig_in_footer=sig_in_footer)
+                note=note, sigs_in_footer=sigs_in_footer)
         except IOError:
             view.flash('Error in image file.')
