Index: main/waeup.aaue/trunk/src/waeup/aaue/browser/pdf.py
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/browser/pdf.py	(revision 16966)
+++ main/waeup.aaue/trunk/src/waeup/aaue/browser/pdf.py	(revision 16967)
@@ -32,9 +32,15 @@
     header_logo_path = os.path.join(
         os.path.dirname(__file__), 'static', 'pdf_logo.jpg')
-    #watermark_path = os.path.join(
-    #    os.path.dirname(__file__), 'static', 'pdf_watermark.jpg')
 
     #watermark_pos = [70, 150]
     logo_pos = [500, 708, 60]
+
+    @property
+    def watermark_path(self):
+        if self.view and self.view.__name__ == 'transcript_studview.pdf':
+            self.watermark_pos = [95, 190]
+            return os.path.join(
+                os.path.dirname(__file__), 'static', 'pdf_stud_only.jpg')
+        return 
 
 class CustomLandscapePDFCreator(LandscapePDFCreator):
Index: main/waeup.aaue/trunk/src/waeup/aaue/students/browser.py
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/students/browser.py	(revision 16966)
+++ main/waeup.aaue/trunk/src/waeup/aaue/students/browser.py	(revision 16967)
@@ -794,4 +794,45 @@
                          (Cred, 'credits', 1.5),
                          (Score, 'total_score', 1.5),
+                         (Grade, 'grade', 1.5),
+                         ]
+
+        pdfstream = students_utils.renderPDFTranscript(
+            self, 'transcript.pdf',
+            self.context.student, studentview,
+            omit_fields=self.omit_fields,
+            tableheader=tableheader,
+            signatures=self._signatures(),
+            sigs_in_footer=self._sigsInFooter(),
+            digital_sigs=self._digital_sigs(),
+            save_file=self._save_file(),
+            )
+        if not pdfstream:
+            self.redirect(self.url(self.context.student))
+            return
+        return pdfstream
+
+class ExportPDFTranscriptStudViewSlip(CustomExportPDFTranscriptSlip):
+    """Deliver a PDF slip of the context.
+    """
+
+    grok.name('transcript_studview.pdf')
+
+    def render(self):
+        portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
+        Term = translate(_('Sem.'), target_language=portal_language)
+        Code = translate(_('Code'), target_language=portal_language)
+        Title = translate(_('Title'), target_language=portal_language)
+        Cred = translate(_('Credits'), target_language=portal_language)
+        #Score = translate(_('Score'), target_language=portal_language)
+        Grade = translate(_('Grade'), target_language=portal_language)
+        studentview = StudentBasePDFFormPage(self.context.student,
+            self.request, self.omit_fields)
+        students_utils = getUtility(IStudentsUtils)
+
+        tableheader = [(Code,'code', 2.5),
+                         (Title,'title', 7),
+                         (Term, 'semester', 1.5),
+                         (Cred, 'credits', 1.5),
+                         #(Score, 'total_score', 1.5),
                          (Grade, 'grade', 1.5),
                          ]
Index: main/waeup.aaue/trunk/src/waeup/aaue/students/tests/test_browser.py
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/students/tests/test_browser.py	(revision 16966)
+++ main/waeup.aaue/trunk/src/waeup/aaue/students/tests/test_browser.py	(revision 16967)
@@ -554,4 +554,11 @@
         open(path, 'wb').write(self.browser.contents)
         print "Sample PDF transcript.pdf written to %s" % path
+        # Officers can open the pdf student viewtranscript
+        self.browser.open(self.student_path + '/studycourse/transcript_studview.pdf')
+        self.assertEqual(self.browser.headers['Status'], '200 Ok')
+        self.assertEqual(self.browser.headers['Content-Type'], 'application/pdf')
+        path = os.path.join(samples_dir(), 'transcript_studview.pdf')
+        open(path, 'wb').write(self.browser.contents)
+        print "Sample PDF transcript_studview.pdf written to %s" % path
 
     def test_payment_disabled(self):
Index: main/waeup.aaue/trunk/src/waeup/aaue/students/viewlets.py
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/students/viewlets.py	(revision 16966)
+++ main/waeup.aaue/trunk/src/waeup/aaue/students/viewlets.py	(revision 16967)
@@ -148,4 +148,10 @@
     grok.name('transcript_slip')
 
+class TranscriptStudviewSlipActionButton(CustomTranscriptSlipActionButton):
+    #grok.require('waeup.viewStudent')
+    grok.name('transcript_slip_studview')
+    target = 'transcript_studview.pdf'
+    text = _('Academic Transcript (Student View)')
+
 class StudyLevelRepairActionButton(ManageActionButton):
     grok.order(2)
