Почему мой сценарий преобразования не работает ни с одним загруженным файлом, кроме первого файла?
Я установил правило преобразования в Alfresco, которое прослушивает папку. Когда новый файл помещается в папку, правило запускает сценарий, который берет PDF-файл без текстового слоя, разбивает его на JPEG-файлы, распознает JPEG-файлы, затем конвертирует JPEG-файлы в PDF-файлы и объединяет PDF-файлы, возвращая PDF-файл с распознанным текстом. с текстовым слоем, затем копирует результат в другую папку, чтобы мы знали, что это сделано.
Запуск скрипта в командной строке работает. В первый раз, когда я помещаю файл в папку Alfresco (загружаю), он запускает скрипт и копирует файл. Но в любой последующий раз, когда я помещаю файлы в папку, скрипт не запускается, но файл все равно копируется в целевую папку. Итак, я знаю, что правило вызывается, но скрипт, похоже, не работает со следующими файлами. У меня есть вход в скрипт, поэтому я знаю, что скрипт даже не вызывается. Правило применяется ко всем новым и измененным файлам в папке без фильтров. Затем он запускает команду «Преобразовать и копировать», используя наш собственный сценарий OCR, и целевая папка определяется как родительская папка.
Ниже приведено мое расширение для преобразования на открытом воздухе:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="transformer.worker.PdfOCRTool" class="org.alfresco.repo.content.transform.RuntimeExecutableContentTransformerWorker">
<property name="mimetypeService">
<ref bean="mimetypeService"/>
</property>
<property name="transformCommand">
<bean name="transformer.pdftoocr.Command" class="org.alfresco.util.exec.RuntimeExec">
<property name="commandMap">
<map>
<entry key=".*">
<value>/opt/ocr/ocr.sh ${source} ${target}</value>
</entry>
</map>
</property>
<property name="errorCodes">
<value>1,2</value>
</property>
</bean>
</property>
<property name="explicitTransformations">
<list>
<bean class="org.alfresco.repo.content.transform.ExplictTransformationDetails">
<property name="sourceMimetype">
<value>application/pdf</value>
</property>
<property name="targetMimetype">
<value>application/pdf</value>
</property>
</bean>
</list>
</property>
</bean>
<bean id="transformer.proxy.PdfOCRTool" class="org.alfresco.repo.management.subsystems.SubsystemProxyFactory">
<property name="sourceApplicationContextFactory">
<ref bean="thirdparty"/>
</property>
<property name="sourceBeanName">
<value>transformer.worker.PdfOCRTool</value>
</property>
<property name="interfaces">
<list>
<value>org.alfresco.repo.content.transform.ContentTransformerWorker</value>
</list>
</property>
</bean>
<bean id="transformer.PdfOCRTool" class="org.alfresco.repo.content.transform.ProxyContentTransformer" parent="baseContentTransformer">
<property name="worker">
<ref bean="transformer.proxy.PdfOCRTool"/>
</property>
</bean>
</beans>