Wednesday, July 18, 2012

AlfrescoでPDFファイルのプレビューができない!

こんにちは。大谷です。

Alfrescoにはコンテンツプレビュー機能があるのですが、Alfresco Community 4.0.dでPDFファイルのプレビューが表示されない!という現象に遭遇しました。


プレビューが表示されたりされなかったり…


通常ですと、コンテンツ詳細画面で以下のようなプレビュー画面が表示されます。

ところが、4.0.d以降では、一部のPDFファイルで以下のように1ページ目のサムネイルが表示されるだけになってしまうことがあります。


実は4.0.dでコンテンツ変換の仕組みに大きな変更が…


良く調べてみると、4.0.dからrepository.propertiesに以下のパラメータが追加されていました。
# pdf -> swf using Pdf2swf 1M takes about 30 seconds.
# Using a value of 1.25M (a bit larger that the txt or xlsx) used to create
# the pdf on the way to swf to avoid the second part of a transform failing
content.transformer.Pdf2swf.maxSourceSizeKBytes=1152
ちなみに、swfはAdobe Flashの再生用ファイルフォーマットで、まさにAlfrescoのプレビュー機能(Adobe Flashで実装されています)が利用しているものです。
Alfrescoのプレビュー機能は、様々なコンテンツをswf形式に変換し、それを表示しています。そのコンテンツ変換に際して、4.0.dからサイズによる制限が追加されたようです。


というわけで…


<tomcat_dir>/shared/classes/alfresco-global.properties に以下の1行を追加し、上限サイズを増やすことで、PDFファイルのプレビューを確実に行えるようにします。-1を指定すると、サイズ制限が無効になって必ずプレビュー用ファイルが生成されるよになります。
content.transformer.Pdf2swf.maxSourceSizeKBytes=1152


まとめ


上記の設定を行う事で、PDFファイルプレビューのサイズ制限を変更することができ、晴れて先ほどプレビューできなかったPDFファイルのプレビューが表示されるようになりました!
Alfrescoでは、プレビューに限らず、様々な場所でコンテンツ変換を利用しています。4.0.dでのコンテンツ変換機能の変更についての詳細や、コンテンツ変換機能自体についても今後記事にしていこうと思いますので、引き続きよろしくお願いします。

No comments: