Java 露天文件存储(露天数据)

Java 露天文件存储(露天数据),java,ocr,alfresco,command-line-tool,Java,Ocr,Alfresco,Command Line Tool,我需要为上传到alfresco存储库中的文件运行一个命令行工具。这背后的原因是我需要对该特定文件执行OCR 我知道我可以使用alfresco默认提供的转换。但转换不提供相同mimetype之间的对话,我的要求就像对PDF文件(包含图像)执行OCR,然后再次生成PDF文件(包含提取的数据) 我的方法是在alfresco存储库中上载节点时创建策略。 根据该策略,我将使用java访问alfresco存储库中上载的节点,问题是,我不知道文件上载到alf_数据目录的哪个位置。因为我需要获取文件的物理位置

我需要为上传到alfresco存储库中的文件运行一个命令行工具。这背后的原因是我需要对该特定文件执行OCR

我知道我可以使用alfresco默认提供的转换。但转换不提供相同mimetype之间的对话,我的要求就像对PDF文件(包含图像)执行OCR,然后再次生成PDF文件(包含提取的数据)

我的方法是在alfresco存储库中上载节点时创建策略。 根据该策略,我将使用java访问alfresco存储库中上载的节点,问题是,我不知道文件上载到alf_数据目录的哪个位置。因为我需要获取文件的物理位置

顺便说一下,我正在使用linux系统

有人能帮上忙吗?

您需要使用,特别是一个临时文件

您的代码将类似于

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();
您需要使用,特别是在创建临时文件时

您的代码将类似于

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();

我不想读取文件的内容。我想在文件上执行命令。也许你会通过读取链接上的ExecuteShellComand.java程序了解更多信息。如果你将内容读入临时文件,然后在上面运行OCR程序。我不想读取文件的内容。我想在文件上执行命令。可能通过读取链接上的ExecuteShellComand.java程序您会了解更多信息。您将内容读取到临时文件中,然后在该文件上运行OCR程序