2016-07-29 21 views
2

Ich habe eine benutzerdefinierte Web-Anwendung erstellt. Dadurch lade ich ein Dokument ins Alfresco-Repository hoch. Ich habe auch einen PDF-Viewer erstellt, um das Dokument in der Benutzeroberfläche anzuzeigen.Wie Rendition Kopie Word-Dokument von Alfresco-Repository mit CMIS

Jetzt ist das Problem, ich kann nur PDF-Dokumenttyp anzeigen, aber ich lade verschiedene Arten von Dokumenten im Repository.

Also ich möchte eine Wiedergabe Kopie aller Dokumente, die ich im Repository hochgeladen. Ich habe bereits CMIS-Code geschrieben, um Dokumente zu holen und im Viewer anzuzeigen.

jetzt möchte ich nur Kopie Kopie des Dokuments.

kann mir jemand dabei helfen. Wenn möglich, geben Sie bitte einen Beispiel-Quellcode an.

Vielen Dank im Voraus

Antwort

1

ich hoffe ich habe gut verstanden Ihre Frage:

Lets zugeben, dass Ihr im Freien gut ausgebildet ist, und dass, wenn Sie auf Aktien gehen, Ihr Dokument (.doc & Cie) wiedergegeben wird im Betrachter.

Wenn Ihr Dokument dieses nodeRef hat:

workspace://SpacesStore/289e60a1-8b77-48da-ac53-4c2f3e81aa97 

Dann können Sie ein pdf haben mit dieser URL-Rendering:

https://localhost:8080/share/proxy/alfresco/api/node/workspace/SpacesStore/289e60a1-8b77-48da-ac53-4c2f3e81aa97/content/thumbnails/pdf?c=force 

diese Weise werden Sie immer pdf in Ihrer Anwendung behandeln.

Beachten Sie, dass das Rendern einige Zeit und Ressource vom Server dauern kann.

+0

OP hat nach CMIS-Code gefragt, kein Webskript. –

+0

Ja, deshalb habe ich gezögert: Ich wollte im Wesentlichen zeigen, dass es einen Dienst gibt, der die PDF-Wiedergabe eines Dokuments bereitstellt, auch wenn ich nicht in der Lage war, die CMIS-Methode zu beantworten. – Akah

3

Diese diskutiert Alfresco Interpretation von CMIS-Darstellungen und enthält Java-Code, der zeigt, wie sie abgerufen werden. der Code aus dieser Blog-Post

ein Klicken zu speichern, ist:

OperationContext context = session.createOperationContext(); 
context.setRenditionFilterString("cmis:thumbnail"); 
CmisObject doc = session.getObjectByPath("/Sites/ren/documentLibrary/Spring Surf and OpenCMIS Integration", context); 
List<Rendition> renditions = doc.getRenditions(); 
for (Rendition rendition : renditions) 
{ 
    System.out.println("kind: " + rendition.getKind()); 
    System.out.println("mimetype: " + rendition.getMimeType()); 
    System.out.println("width: " + rendition.getWidth()); 
    System.out.println("height: " + rendition.getHeight()); 
    System.out.println("stream id: " + rendition.getStreamId()); 
} 

Welche Dumps:

kind: cmis:thumbnail 
mimetype: image/png 
width: 100 
height: 100 
stream id: workspace://SpacesStore/ef7e9a9b-c847-4023-b527-17243c72ade6 

Sie können diese Stream-ID verwenden, um das tatsächliche Wiedergabe Objekt und seinen Inhalt zu holen Strom.