2013-04-30 105 views
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」); 是否有可能實現這個過程?如何調用來自內容規則的圖像變換器?

回答