Alfresco-将文档转换为pdf并下载自定义操作

Alfresco-将文档转换为pdf并下载自定义操作,alfresco,alfresco-webscripts,Alfresco,Alfresco Webscripts,我创建了一个将文档转换为pdf的自定义操作。它起作用了 很好,但我想下载转换后的pdf点击相同的自定义 操作,我的意思是我想在点击 自定义操作。如何才能做到这一点? 我尝试了以下代码 newdoc = document.transformDocument("application/pdf"); newdoc.save(); 在这里,您需要传递实际的nodeRef值。 在share-custom-config.xml中添加了新的文档操作 <action id="convert-to-pdf

我创建了一个将文档转换为pdf的自定义操作。它起作用了 很好,但我想下载转换后的pdf点击相同的自定义 操作,我的意思是我想在点击 自定义操作。如何才能做到这一点? 我尝试了以下代码

newdoc = document.transformDocument("application/pdf"); newdoc.save();

在这里,您需要传递实际的nodeRef值。 在share-custom-config.xml中添加了新的文档操作

<action id="convert-to-pdf-download" type="javascript" label="Download As PDF" icon="document-download">
<param name="function">onTransformToPDFAndDownload</param>
</action>

<actionGroups>
<actionGroup id="document-browse">                  
<action index="107" id="convert-to-pdf-download" />
</actionGroup>
<actionGroup id="document-details">   
<action index="107" id="convert-to-pdf-download" />
</actionGroup>   
</actionGroups>
在Repowebscript上, convert.get.desc.xml

<webscript>
   <shortname>toPDF</shortname>
   <desciption>Return PDF Node</desciption>
   <url>/com/quanticate/quanticliq/transformer/transform</url>
   <authentication>user</authentication>
   <format default="json">any</format>
</webscript>
\"{\"pdfNodeRef\" :\"${pdfNodeRef.nodeRef}\"}\"
convert.get.js

function main()
{
   var json = "{}";

    var docNode = search.findNode("workspace://SpacesStore/ec0ca4cf-9ea4-4c12-8f2c-5b0c406e454b");   
    var nodeTrans = docNode.transformDocument("application/pdf");
    model.pdfNodeRef =  nodeTrans.nodeRef;  
}
main();

单击“下载为PDF”时,将生成PDF文档,并将其放置在信息文档库(或原始文档所在的位置)中,并将自动下载。您需要检查现有的PDF文件是否存在。

在这里,您需要传递实际的nodeRef值。 在share-custom-config.xml中添加了新的文档操作

<action id="convert-to-pdf-download" type="javascript" label="Download As PDF" icon="document-download">
<param name="function">onTransformToPDFAndDownload</param>
</action>

<actionGroups>
<actionGroup id="document-browse">                  
<action index="107" id="convert-to-pdf-download" />
</actionGroup>
<actionGroup id="document-details">   
<action index="107" id="convert-to-pdf-download" />
</actionGroup>   
</actionGroups>
在Repowebscript上, convert.get.desc.xml

<webscript>
   <shortname>toPDF</shortname>
   <desciption>Return PDF Node</desciption>
   <url>/com/quanticate/quanticliq/transformer/transform</url>
   <authentication>user</authentication>
   <format default="json">any</format>
</webscript>
\"{\"pdfNodeRef\" :\"${pdfNodeRef.nodeRef}\"}\"
convert.get.js

function main()
{
   var json = "{}";

    var docNode = search.findNode("workspace://SpacesStore/ec0ca4cf-9ea4-4c12-8f2c-5b0c406e454b");   
    var nodeTrans = docNode.transformDocument("application/pdf");
    model.pdfNodeRef =  nodeTrans.nodeRef;  
}
main();

单击“下载为PDF”时,将生成PDF文档,并将其放置在信息文档库(或原始文档所在的位置)中,并将自动下载。您需要检查现有的PDF文件是否存在。

通过共享javascript调用此操作以重新生成Webscript进行转换。生成文件后,从客户端获取nodeRef并打开下载url,如下所示。让我尝试为您创建示例。通过共享javascript将此操作调用到RepoWebScript进行转换。生成文件后,从客户端获取nodeRef并打开下载url,如下所示。让我尝试为您创建示例。下载后是否可以删除生成的pdf?如果可以,那么如何删除?您可以按照“删除文档”操作的工作原理,参考C:\Alfresco5\tomcat\webapps\share\components\documentlibrary\actions.js文件中的_onActionDeleteConfirm方法。您需要使用AJAX Delete请求调用webscript,并传递PDF文件noderef并确保下载PDF文档,但理想的解决方案应该是您需要在服务器端将文档转换为PDF,将其保存到alfresco temp位置并下载。我是否可以覆盖_onActionDeleteConfirm.call(此,记录)在我的保管行动中?如果是,那怎么办?我试过用这种方法,但不起作用。Alfresco.doclib.Actions.prototype._onActionDeleteConfirm.call(this,record1);@Muralidharan Deenathayalan我可以创建自己的政策/行为吗?我的观点是,如果用户曾经下载过文档,我想禁用下载。下载后是否可以删除生成的pdf?如果可以,那么如何删除?您可以按照“删除文档”操作的工作原理,参考C:\Alfresco5\tomcat\webapps\share\components\documentlibrary\actions.js文件中的_onActionDeleteConfirm方法。您需要使用AJAX Delete请求调用webscript,并传递PDF文件noderef并确保下载PDF文档,但理想的解决方案应该是您需要在服务器端将文档转换为PDF,将其保存到alfresco temp位置并下载。我是否可以覆盖_onActionDeleteConfirm.call(此,记录)在我的保管行动中?如果是,那怎么办?我试过用这种方法,但不起作用。Alfresco.doclib.Actions.prototype._onActionDeleteConfirm.call(this,record1);@Muralidharan Deenathayalan我可以创建自己的政策/行为吗?我的观点是,如果用户曾经下载过文档,我想禁用下载。