我处于这样一种情况,我需要为在alfresco存储库中上传的文件运行一个命令行工具。这背后的原因是我需要对该特定文件执行OCR。
我知道我可以使用默认提供的alfresco转换。但转换不提供相同mimetype之间的对话,我的要求就像在PDF文件(包含图像)上执行OCR并再次生成PDF文件(其中包含提取的数据)
我的方法是在alfresco存储库中上传节点时创建策略。 根据该策略,我将使用java访问在alfresco存储库中上传的节点,这是问题,我不知道文件上传到 alf_data 目录的哪个位置。因为我需要获得物理文件的位置。
顺便说一句,我正在使用linux系统。
任何人都可以帮忙吗?
答案 0 :(得分:4)
您需要将ContentService,特别是getReader(NodeRef,QName)然后getContent(File)用于临时文件
您的代码将类似于
File tmp = File.createTempFile("for-ocr",".tmp");
ContentReader reader = contentService.getReader(nodeRef, ContentModel.PROP_CONTENT);
reader.getContent(tmp);
// Run the OCR program here
tmp.delete();