001package org.nuxeo.ecm.platform.signature.core.sign; 002 003import java.awt.Color; 004 005import org.apache.commons.logging.Log; 006import org.apache.commons.logging.LogFactory; 007import org.nuxeo.ecm.core.api.DocumentModel; 008import org.nuxeo.ecm.platform.signature.api.sign.SignatureAppearanceFactory; 009import org.nuxeo.ecm.platform.signature.api.sign.SignatureLayout; 010import org.nuxeo.ecm.platform.signature.api.sign.SignatureService; 011import org.nuxeo.runtime.api.Framework; 012 013import com.lowagie.text.Font; 014import com.lowagie.text.FontFactory; 015import com.lowagie.text.pdf.PdfSignatureAppearance; 016 017public class DefaultSignatureAppearanceFactory implements SignatureAppearanceFactory { 018 019 protected static final Log LOGGER = LogFactory.getLog(DefaultSignatureAppearanceFactory.class); 020 021 @Override 022 public void format(PdfSignatureAppearance pdfSignatureAppearance, DocumentModel doc, String principal, String reason) { 023 pdfSignatureAppearance.setReason(reason); 024 pdfSignatureAppearance.setAcro6Layers(true); 025 pdfSignatureAppearance.setRender(PdfSignatureAppearance.SignatureRenderDescription); 026 SignatureService service = Framework.getService(SignatureService.class); 027 SignatureLayout layout = ((SignatureServiceImpl)service).getSignatureLayout(); 028 Font layer2Font = FontFactory.getFont(FontFactory.TIMES, layout.getTextSize(), Font.NORMAL, new Color( 029 0x00, 0x00, 0x00)); 030 pdfSignatureAppearance.setLayer2Font(layer2Font); 031 } 032 033}