Alfreco是一款功能强大的企业文档管理软件,公司需要将系统设计为看文档的人不能下载文档以及将文档打印成PDF的功能。
经过一段时间的调查找到了解决方法,整理如下:
<config evaluator="string-compare" condition="DocLibActions"> <actions> <action id="document-view-content"> <evaluator>evaluator.doclib.action.disableAction</evaluator> </action> <action id="document-download"> <evaluator>evaluator.doclib.action.disableAction</evaluator> </action> <action id="document-edit-offline"> <evaluator>evaluator.doclib.action.disableAction</evaluator> </action> </actions> </config>-------
1) Copy attached pdf-extension.xml file at tomcat\webapps\share\WEB-INF\classes\alfresco\web-extension\site-data\extensions folder under your Alfresco.
2) Copy attached pdfjs.get.js file at tomcat\webapps\share\WEB-INF\classes\alfresco\web-extension\site-webscripts\custom\pdf folder under your Alfresco.
pdf-extension.xml 内容:
-----------
<extension> <modules> <module> <id>Disable download PDF</id> <auto-deploy>true</auto-deploy> <version>1.0</version> <customizations> <customization> <targetPackageRoot>org.alfresco.modules.preview</targetPackageRoot> <sourcePackageRoot>custom.pdf</sourcePackageRoot> </customization> </customizations> </module> </modules> </extension>
--------------------pdfjs.get.js
--------------------
for (var i=0; i<model.toolbarItems.length; i++) { if (model.toolbarItems[i].id == "download") { model.toolbarItems[i].disabled = true; } }
修改tomcat/webapps/share/WEB-INF/classes/alfresco/templates/org/alfresco/document-detail.ftl文件
<@templateHeader> <@script type="text/javascript" src="${url.context}/res/modules/documentlibrary/doclib-actions.js" group="document-details"/> <@link rel="stylesheet" type="text/css" href="${url.context}/res/components/document-details/document-details-panel.css" group="document-details"/> <@templateHtmlEditorAssets /> <!-- Disable Print --> <style type="text/css" media="print"> BODY {display:none;visibility:hidden;} </style> </@>