# HG changeset patch # User Dirk Wintergruen # Date 1405940022 -7200 # Node ID d6eca930a534108612c256edc0c56e6e9d0765c8 # Parent d16da6e739ef240263c95573c474049a04c58e50 hocr viewer eingebaut diff -r d16da6e739ef -r d6eca930a534 __init__.py --- a/__init__.py Mon Oct 21 10:36:54 2013 +0200 +++ b/__init__.py Mon Jul 21 12:53:42 2014 +0200 @@ -1,6 +1,7 @@ import documentViewer import MpdlXmlTextServer import MpiwgXmlTextServer +import HocrTextServer def initialize(context): """initialize ImageCollection""" @@ -27,4 +28,14 @@ MpiwgXmlTextServer.manage_addMpiwgXmlTextServer ) ) + + + context.registerClass( + HocrTextServer.HocrTextServer, + constructors = ( + HocrTextServer.manage_addHocrTextServerForm, + HocrTextServer.manage_addHocrTextServer + ) + ) + \ No newline at end of file diff -r d16da6e739ef -r d6eca930a534 css/docuviewer.css --- a/css/docuviewer.css Mon Oct 21 10:36:54 2013 +0200 +++ b/css/docuviewer.css Mon Jul 21 12:53:42 2014 +0200 @@ -472,4 +472,8 @@ div.footer div.content a:link, div.footer div.content a:visited { color: gray; +} + +span.ocr_line { +display:block; } \ No newline at end of file diff -r d16da6e739ef -r d6eca930a534 documentViewer.py --- a/documentViewer.py Mon Oct 21 10:36:54 2013 +0200 +++ b/documentViewer.py Mon Jul 21 12:53:42 2014 +0200 @@ -82,6 +82,7 @@ # # viewMode templates viewer_text = PageTemplateFile('zpt/viewer/viewer_text', globals()) + viewer_hocr = PageTemplateFile('zpt/viewer/viewer_hocr', globals()) viewer_xml = PageTemplateFile('zpt/viewer/viewer_xml', globals()) viewer_image = PageTemplateFile('zpt/viewer/viewer_image', globals()) viewer_index = PageTemplateFile('zpt/viewer/viewer_index', globals()) @@ -164,7 +165,11 @@ # proxy text server methods to fulltextclient def getTextPage(self, **args): """returns full text content of page""" + return self.template.fulltextclient.getTextPage(**args) + + + def getSearchResults(self, **args): """loads list of search results and stores XML in docinfo""" @@ -239,7 +244,7 @@ show page @param url: url which contains display information @param mode: defines how to access the document behind url - @param viewMode: 'image': display images, 'text': display text, 'xml': display xml, default is 'auto' + @param viewMode: 'image': display images, 'text': display text, 'xml': display xml, default is 'auto', 'hocr' : hocr format @param viewLayer: sub-type of viewMode, e.g. layer 'dict' for viewMode='text' @param tocMode: type of 'table of contents' for navigation (thumbs, text, figures, none) """ @@ -287,6 +292,9 @@ # legacy fix viewMode = 'image' self.REQUEST['viewMode'] = 'image' + + + # safe viewLayer in userinfo userinfo['viewLayer'] = viewLayer @@ -532,6 +540,23 @@ docUrl = getParentPath(url) metaDom = self.metadataService.getDomFromPathOrUrl(docUrl) docinfo['imagePath'] = url.replace('/mpiwg/online', '', 1) + + elif mode=="hocr": + # url points to folder with images, index.meta optional + # asssume index.meta in parent dir + docUrl = getParentPath(url) + metaDom = self.metadataService.getDomFromPathOrUrl(docUrl) + docinfo['imagePath'] = url.replace('/mpiwg/online', '', 1) + docinfo['textURLPath'] = url.replace('/mpiwg/online', '', 1) + if docinfo.get("creator", None) is None: + docinfo['creator'] = "" + + if docinfo.get("title", None) is None: + docinfo['title'] = "" + + if docinfo.get("documentPath", None) is None: + docinfo['documentPath'] = url.replace('/mpiwg/online', '', 1) + docinfo['documentPath'] = url.replace('/pages', '', 1) elif mode=="filepath": # url points to image file, index.meta optional diff -r d16da6e739ef -r d6eca930a534 zpt/viewer/layer_text_annotator.zpt --- a/zpt/viewer/layer_text_annotator.zpt Mon Oct 21 10:36:54 2013 +0200 +++ b/zpt/viewer/layer_text_annotator.zpt Mon Jul 21 12:53:42 2014 +0200 @@ -4,9 +4,13 @@ + + + @@ -14,6 +18,9 @@ + + + @@ -24,6 +31,13 @@ + + + + + + +