1
我需要爲添加到文件夾(空間)「圖像」中的圖像添加水印,並將圖像移動到空間「圖像輸出」(通過內容規則)。在圖像上添加水印
變壓器(添加到c:\露天\ tomcat的\的webapps \戶外\ WEB-INF \類\ COM \某某\:
package com.xyz;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.nio.charset.Charset;
import org.alfresco.error.AlfrescoRuntimeException;
import org.alfresco.repo.content.MimetypeMap;
import org.alfresco.service.cmr.repository.ContentReader;
import org.alfresco.service.cmr.repository.ContentWriter;
import org.alfresco.service.cmr.repository.TransformationOptions;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.alfresco.repo.content.transform.AbstractContentTransformer2;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import java.util.Map;
/**
* Created with IntelliJ IDEA.
* User: dragan
*/
public class ImageTransformer extends AbstractContentTransformer2 {
private static final Log logger = LogFactory.getLog(ImageTransformer.class);
static {
logger.info("Created ImageTransformer");
}
protected void transformInternal(ContentReader contentReader, ContentWriter contentWriter, TransformationOptions transformationOptions) throws Exception {
logger.info("transformInternal");
// put some water on the image
}
public boolean isTransformable(String sourceMimetype, String targetMimetype, TransformationOptions transformationOptions) {
logger.info("getReliability - sourceMimetype :" + sourceMimetype + " targetMimetype: " + targetMimetype);
if (sourceMimetype.equals(MimetypeMap.MIMETYPE_IMAGE_JPEG)
|| sourceMimetype.equals(MimetypeMap.MIMETYPE_IMAGE_PNG)
|| sourceMimetype.equals(MimetypeMap.MIMETYPE_IMAGE_GIF) &&
targetMimetype.equals(MimetypeMap.MIMETYPE_IMAGE_JPEG)) {
return true;
} else {
return false;
}
}
}
根據http://docs.alfresco.com/3.4/index.jsp?topic=%2Fcom.alfresco.Enterprise_3_4_0.doc%2Ftasks%2Fcontenttrans-customize.html文件 內容的服務上下文。 XML被添加到c:\露天\ Tomcat的\共享\類\露天\擴展\
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
...
<!-- Content Transformations -->
<bean id="transformer.XYZImages" class="com.xyz.ImageTransformer" parent="baseContentTransformer" >
<property name="explicitTransformations">
<list>
<bean class="org.alfresco.repo.content.transform.ExplictTransformationDetails" >
<property name="sourceMimetype"><value>image/jpeg</value></property>
<property name="targetMimetype"><value>image/jpeg</value></property>
</bean>
<bean class="org.alfresco.repo.content.transform.ExplictTransformationDetails" >
<property name="sourceMimetype"><value>image/png</value></property>
<property name="targetMimetype"><value>image/jpeg</value></property>
</bean>
<bean class="org.alfresco.repo.content.transform.ExplictTransformationDetails" >
<property name="sourceMimetype"><value>image/gif</value></property>
<property name="targetMimetype"><value>image/jpeg</value></property>
</bean>
</list>
</property>
</bean>
</beans>
當重新啓動露天服務器,不存在日誌logger.info( 「創建ImageTransformer」); 是否有可能實現這個過程?如何調用來自內容規則的圖像變換器?