여기에 가서 실제 nodeRef 값을 전달해야합니다. 주 - 사용자 정의-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>
에서 추가 된 새 문서 작업은 이제 아래처럼 자바 스크립트를 삽입 할 필요가 당신은 원본 문서의 nodeRef을 통과해야하고 내가 여기에 하드 코드가 있습니다. Repowebscript에서
onTransformToPDFAndDownload: function dla_onTransformToPDFAndDownload(record) {
Alfresco.util.Ajax.request(
{
url: Alfresco.constants.PROXY_URI + "com/quanticate/quanticliq/transformer/transform?noderef=workspace://SpacesStore/ec0ca4cf-9ea4-4c12-8f2c-5b0c406e454b",
successCallback:
{
fn: function onTransformAction_success(response)
{
debugger;
var pdfNodeRef = response.json.pdfNodeRef;
pdfNodeRef = pdfNodeRef.replace("://","/");
window.open(Alfresco.constants.PROXY_URI + "slingshot/node/content/" + pdfNodeRef +"?a=true");
},
scope: this
},
failureCallback:
{
fn: function onTransformAction_failure(response)
{
Alfresco.util.PopupManager.displayMessage(
{
text: "Something went wrong,please try again later"
});
},
scope: this
}
});
}
,
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>
convert.get.json.ftl
\"{\"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를 통해 Repo Webscript로 변환하십시오. 파일이 생성되면 클라이언트 측에서 nodeRef를 가져 와서 http : // localhost : 8080/share/proxy/alfresco/slingshot/node/content/workspace/SpacesStore/34104a8f-6385-49e2-9cb2- 655939cdf0bf? a = true. 내가 샘플을 만들어 보자. –