Skip to main content

Basic object detection in python using OpenCv and Numpy - by Dustbiin

Create Digital signature field in iText Pdf - by Dustbiin

 Creating signature field in iText PDF - 

First need to add dependency 


<dependency>
<groupId>com.itextpdf.tool</groupId>
<artifactId>xmlworker</artifactId>
<version>5.4.5</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.4.5</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.60</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId>
<version>1.60</version>
<type>jar</type>
<!-- <scope>compile</scope>
<optional>true</optional> -->
</dependency>


For certified you pdf document by digital sign first you need to create signature field in the document.

*Note -  Signature field name is very important we signature data on the basis of this field name 

Code for create signature field-


public class SignatureField{

public static final String SRC = "hello.pdf";
public static final String SIGNAME = "Signature1";

public void createPdf( String filename )
throws IOException,
DocumentException,
KeyStoreException,
NoSuchAlgorithmException,
CertificateException
{
// step 1: Create a Document
Document document = new Document();
// step 2: Create a PdfWriter
PdfWriter writer = PdfWriter.getInstance( document, new FileOutputStream( filename ) );
// step 3: Open the Document
document.open();
// step 4: Add content
document.add( new Paragraph( "Hello World!" ) );
// create a signature form field
PdfFormField field = PdfFormField.createSignature( writer );
// set Signature field name
field.setFieldName( SIGNAME );
// set the widget properties
field.setPage();
// set signature field position on the page
field.setWidget( new Rectangle( 2, 732, 144, 780 ), PdfAnnotation.HIGHLIGHT_INVERT );
field.setFlags( PdfAnnotation.FLAGS_PRINT );
// add it as an annotation
writer.addAnnotation( field );
// maybe you want to define an appearance
PdfAppearance tp = PdfAppearance.createAppearance( writer, 72, 48 );
tp.setColorStroke( BaseColor.BLUE );
tp.setColorFill( BaseColor.LIGHT_GRAY );
tp.rectangle( 0.5f, 0.5f, 71.5f, 47.5f );
tp.fillStroke();
tp.setColorFill( BaseColor.BLUE );
ColumnText.showTextAligned( tp, Element.ALIGN_CENTER, new Phrase( "SIGN HERE" ), 36, 24, 25 );
field.setAppearance( PdfAnnotation.APPEARANCE_NORMAL, tp );
BouncyCastleProvider provider = new BouncyCastleProvider();
Security.addProvider( provider );
// step 5: Close the Document
document.close();
}

public static void main( String[] args )
throws GeneralSecurityException,s
IOException,
DocumentException
{
SignatureField app = new SignatureField();
app.createPdf( SRC );
}
}


Output -

output



Comments

Popular posts from this blog

Custom cell color in Excel Apache POI - By Dustbiin

Create custom color for cell background by using java color class Create custom color- XSSFWorkbook workBook = new XSSFWorkbook (); IndexedColorMap colorMap = workbook.getStylesSource().getIndexedColors(); Font tableHeadOneFontStyle = workbook.createFont();  tableHeadOneFontStyle.setBold( true ); tableHeadOneFontStyle.setColor( IndexedColors.BLACK.getIndex() ); XSSFCellStyle tableHeaderOneColOneStyle = workbook.createCellStyle(); tableHeaderOneColOneStyle.setFont( tableHeadOneFontStyle ); tableHeaderOneColOneStyle.setFillForegroundColor( new XSSFColor( new java.awt.Color( 255, 231, 153 ), colorMap ) ); tableHeaderOneColOneStyle.setFillPattern( FillPatternType.SOLID_FOREGROUND ); tableHeaderOneColOneStyle = setLeftRightBorderColor( tableHeaderOneColOneStyle ); tableHeaderOneColOneStyle = alignCenter( tableHeaderOneColOneStyle );

Create design by connecting dot's using opencv and numpy - by Dustbiin

Create basic design by using connecting dot's using your mouse- I have been create this by using mouse event check out the code below- use Python, OpenCv , NumPy import numpy as np import cv2 def click_event(event , x , y , flags , param): if event == cv2.EVENT_LBUTTONDOWN: print(x , " , " , y) font = cv2.FONT_HERSHEY_SIMPLEX strXY = str(x) + ' , ' + str(y) # cv2.putText(img,strXY, (x, y), font, .1, (255, 255, 0), 2) cv2.circle(img , (x , y) , 3 , ( 0 , 0 , 255 ) , - 1 ) points.append((x , y)) if len(points) >= 2 : cv2.circle(img , points[- 1 ] , 3 , ( 0 , 0 , 255 ) , - 1 ) # cv2.putText(img,strXY, points[-1], font, .1, (255, 255, 0), 2) cv2.line(img , points[- 2 ] , points[- 1 ] , ( 0 , 0 , 255 ) , 1 ) cv2.imshow( "Image" , img) points = [] img = np.zeros(( 512 , 512 , 3 )) cv2.imshow( "Image" , img) cv2.setMouseCallback( 'Image' ...

Read data from .pfx file for Digita Signature - by Dustbiin

Their is many way to read data for data for digital signature but hear we discus reading data from .pfx file -  code for read .pfx file - import java.io.FileInputStream; import java.security.KeyStore; import java.security.cert.X509Certificate; import java.util.Date; import java.util.Enumeration; import javax.net.ssl.KeyManagerFactory; public class PdfDemo { public static void checkExpire() { try { KeyManagerFactory kmf = javax.net.ssl.KeyManagerFactory.getInstance( "SunX509" ); KeyStore keystore = KeyStore.getInstance( "PKCS12" ); char[] password = "123456".toCharArray(); keystore.load( new FileInputStream( "demo.pfx" ), password ); //keystore.load(new FileInputStream(certificate), password); kmf.init( keystore, password ); Enumeration<String> aliases = keystore.aliases(); while ( aliases.hasMoreElements() ) { ...