2016-07-29 6 views
2

カスタムWebアプリケーションを1つ作成しました。それを介して私はアルフレコのリポジトリにいくつかの文書をアップロードしています。私はまた、UIでドキュメントを表示するために1つのPDFビューアを作成しました。CMISを使ってalfrescoリポジトリからword文書のレンディションコピーを取得するには

問題は、私はPDFタイプのドキュメントを表示できますが、リポジトリに異なるタイプのドキュメントをアップロードしています。

私はリポジトリにアップロードしたすべてのドキュメントのレンディションコピーが必要です。 私は既にドキュメントを取得してビューアに表示するためのCMISコードを書いています。

今、私はドキュメントのレンディションコピーをしたいだけです。

これを手伝ってもらえますか?可能であれば、サンプルソースコードを提供してください。

があなたの屋外でも設定されていることを認め、あなたが共有に行くとき、あなたの文書(.DOC &ルシ)がレンダリングされることができます:事前に

おかげで、私は私が思っている

答えて

1

はよくあなたの質問を理解しましたビューアに表示されます。

ドキュメントはこのnodeRefを持っている場合:次に、あなたはこのURLをレンダリングするPDFファイルを持つことができ

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

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

この道を、あなたは常にあなたのアプリケーションでPDFを扱います。

レンダリングに時間がかかり、サーバーから再送信するのに時間がかかることに注意してください。

+0

OPはWebスクリプトではなくCMISコードを要求しました。 –

+0

これは私が躊躇していた理由です。CMISの方法に答えることができなくても、ドキュメントのpdfのレンダリングを提供するサービスがあることを本質的に示したかったのです。 – Akah

3

このblog postは、AlfrescoのCMIS表現の解釈について説明し、それらを取り出す方法を示すJavaコードを含みます。あなたのクリックを保存するには

、そのブログ記事からのコードは次のとおりです。

ダンプ
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()); 
} 

:あなたは実際のレンディションオブジェクトとそのコンテンツを取得するために、そのストリームのIDを使用することができます

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

ストリーム。

関連する問題