package at.gv.egiz.pdfas.test; import java.io.File; import java.io.IOException; import at.gv.egiz.pdfas.PdfAsFactory; import at.gv.egiz.pdfas.api.PdfAs; import at.gv.egiz.pdfas.api.commons.Constants; import at.gv.egiz.pdfas.api.exceptions.PdfAsException; import at.gv.egiz.pdfas.api.io.DataSource; import at.gv.egiz.pdfas.api.sign.SignParameters; import at.gv.egiz.pdfas.api.sign.pos.SignaturePositioning; import at.gv.egiz.pdfas.io.FileBasedDataSink; import at.gv.egiz.pdfas.io.FileBasedDataSource; public final class APITest { private APITest() { } public static void main(String[] args) { File configdir = new File("D:/downloads/testpdfas"); File unsignedFile = new File("./test-files/blindtext.pdf"); File signedFile = new File("d:/temp/blindtext_signed.pdf"); String signatureMode = Constants.SIGNATURE_TYPE_BINARY; String signatureDevice = Constants.SIGNATURE_DEVICE_MOA; String signatureProfile = "SIGNATURBLOCK_MINIMAL_DE"; SignaturePositioning signaturePos = null; PdfAs pdfasAPI = null; try { // instantiate api pdfasAPI = PdfAsFactory.createPdfAs(configdir); // set source DataSource dataSource = new FileBasedDataSource(unsignedFile, "application/pdf"); // set output FileBasedDataSink dataSink = new FileBasedDataSink(signedFile); // configure signature SignParameters signParameters = new SignParameters(); signParameters.setDocument(dataSource); signParameters.setOutput(dataSink); signParameters.setSignatureType(signatureMode); signParameters.setSignatureDevice(signatureDevice); signParameters.setSignatureProfileId(signatureProfile); signParameters.setSignaturePositioning(signaturePos); // sign pdfasAPI.sign(signParameters); System.out.println("Successfully signed."); } catch (PdfAsException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }