当前位置: 首页>>代码示例>>Java>>正文


Java PDSignature.setName方法代码示例

本文整理汇总了Java中org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature.setName方法的典型用法代码示例。如果您正苦于以下问题:Java PDSignature.setName方法的具体用法?Java PDSignature.setName怎么用?Java PDSignature.setName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature的用法示例。


在下文中一共展示了PDSignature.setName方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: sign

import org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature; //导入方法依赖的package包/类
/**
 * <a href="http://stackoverflow.com/questions/41767351/create-pkcs7-signature-from-file-digest">
 * Create pkcs7 signature from file digest
 * </a>
 * <p>
 * A minimal signing frame work merely requiring a {@link SignatureInterface}
 * instance.
 * </p>
 */
void sign(PDDocument document, OutputStream output, SignatureInterface signatureInterface) throws IOException
{
    PDSignature signature = new PDSignature();
    signature.setFilter(PDSignature.FILTER_ADOBE_PPKLITE);
    signature.setSubFilter(PDSignature.SUBFILTER_ADBE_PKCS7_DETACHED);
    signature.setName("Example User");
    signature.setLocation("Los Angeles, CA");
    signature.setReason("Testing");
    signature.setSignDate(Calendar.getInstance());
    document.addSignature(signature);
    ExternalSigningSupport externalSigning =
            document.saveIncrementalForExternalSigning(output);
    // invoke external signature service
    byte[] cmsSignature = signatureInterface.sign(externalSigning.getContent());
    // set signature bytes received from the service
    externalSigning.setSignature(cmsSignature);
}
 
开发者ID:mkl-public,项目名称:testarea-pdfbox2,代码行数:27,代码来源:CreateSignature.java

示例2: signPdf

import org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature; //导入方法依赖的package包/类
/** Signe un document PDF
 * @param inStream
 * @param name
 * @param location
 * @param reason
 * @param contactInfo
 * @return l'inputStream
 * @throws IOException
 */
public InputStream signPdf(ByteArrayInOutStream inStream, String name, String location, String reason, String contactInfo) throws IOException {
	if (inStream == null) {
		throw new FileNotFoundException("Document for signing does not exist");
	}
	// sign
	PDDocument doc = PDDocument.load(inStream.getInputStream());		

	// create signature dictionary
	PDSignature signature = new PDSignature();
	signature.setFilter(PDSignature.FILTER_ADOBE_PPKLITE);
	signature.setSubFilter(PDSignature.SUBFILTER_ADBE_PKCS7_DETACHED);
	signature.setName(name);
	signature.setLocation(location);
	signature.setContactInfo(contactInfo);
	signature.setReason(reason);

	// the signing date, needed for valid signature
	signature.setSignDate(Calendar.getInstance());

	// register signature dictionary and sign interface
	doc.addSignature(signature, this);

	// write incremental (only for signing purpose)
	ByteArrayInOutStream outStream = new ByteArrayInOutStream();
	doc.saveIncremental(outStream);
	doc.close();
	inStream.close();
	return outStream.getInputStream();
}
 
开发者ID:EsupPortail,项目名称:esup-ecandidat,代码行数:39,代码来源:CreateSignaturePdf.java

示例3: signDetached

import org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature; //导入方法依赖的package包/类
void signDetached(byte[] pdf, OutputStream output, SignatureInterface signatureInterface)throws IOException, SignatureException, COSVisitorException
{
    PDDocument document = PDDocument.load(new ByteArrayInputStream(pdf));
    // create signature dictionary
    PDSignature signature = new PDSignature();
    signature.setFilter(PDSignature.FILTER_ADOBE_PPKLITE);
    signature.setSubFilter(PDSignature.SUBFILTER_ADBE_PKCS7_DETACHED);
    signature.setName("Example User");
    signature.setLocation("Los Angeles, CA");
    signature.setReason("Testing");
    // TODO extract the above details from the signing certificate? Reason as a parameter?

    // the signing date, needed for valid signature
    signature.setSignDate(Calendar.getInstance());

    // register signature dictionary and sign interface
    document.addSignature(signature, signatureInterface);

    // write incremental (only for signing purpose)
    document.saveIncremental(new ByteArrayInputStream(pdf), output);
}
 
开发者ID:mkl-public,项目名称:testarea-pdfbox1,代码行数:22,代码来源:SignInMemory.java

示例4: signPdf

import org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature; //导入方法依赖的package包/类
boolean signPdf(File pdfFile, File signedPdfFile) {

        try (
                FileInputStream fis1 = new FileInputStream(pdfFile);
                FileOutputStream fos = new FileOutputStream(signedPdfFile);
                FileInputStream fis = new FileInputStream(fixed ? signedPdfFile : pdfFile);
                PDDocument doc = PDDocument.load(pdfFile)) {
            int readCount;
            byte[] buffer = new byte[8 * 1024];
            while ((readCount = fis1.read(buffer)) != -1) {
                fos.write(buffer, 0, readCount);
            }

            PDSignature signature = new PDSignature();
            signature.setFilter(PDSignature.FILTER_ADOBE_PPKLITE);
            signature.setSubFilter(PDSignature.SUBFILTER_ADBE_PKCS7_DETACHED);
            signature.setName("NAME");
            signature.setLocation("LOCATION");
            signature.setReason("REASON");
            signature.setSignDate(Calendar.getInstance());
            doc.addSignature(signature, this);
            doc.saveIncremental(fis, fos);
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }
 
开发者ID:mkl-public,项目名称:testarea-pdfbox1,代码行数:29,代码来源:CreateSignature.java

示例5: doSignOneStep

import org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature; //导入方法依赖的package包/类
/**
 * {@link #doSignOriginal(InputStream, InputStream, File)} changed to add the image and sign at the same time.
 */
public void doSignOneStep(InputStream inputStream, InputStream logoStream, File outputDocument) throws Exception
{
    byte inputBytes[] = IOUtils.toByteArray(inputStream);
    PDDocument pdDocument = PDDocument.load(new ByteArrayInputStream(inputBytes));

    PDJpeg ximage = new PDJpeg(pdDocument, ImageIO.read(logoStream));
    PDPage page = (PDPage) pdDocument.getDocumentCatalog().getAllPages().get(0);
    PDPageContentStream contentStream = new PDPageContentStream(pdDocument, page, true, true);
    contentStream.drawXObject(ximage, 50, 50, 356, 40);
    contentStream.close();

    page.getResources().getCOSObject().setNeedToBeUpdate(true);
    page.getResources().getCOSDictionary().getDictionaryObject(COSName.XOBJECT).setNeedToBeUpdate(true);
    ximage.getCOSObject().setNeedToBeUpdate(true);

    PDSignature signature = new PDSignature();
    signature.setFilter(PDSignature.FILTER_ADOBE_PPKLITE);
    signature.setSubFilter(PDSignature.SUBFILTER_ADBE_PKCS7_DETACHED);
    signature.setName("signer name");
    signature.setLocation("signer location");
    signature.setReason("reason for signature");
    signature.setSignDate(Calendar.getInstance());

    pdDocument.addSignature(signature, new TC3());

    FileOutputStream fos = new FileOutputStream(outputDocument);
    fos.write(inputBytes);
    FileInputStream is = new FileInputStream(outputDocument);

    pdDocument.saveIncremental(is, fos);
}
 
开发者ID:mkl-public,项目名称:testarea-pdfbox1,代码行数:35,代码来源:SignLikeUnOriginalToo.java

示例6: doSign

import org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature; //导入方法依赖的package包/类
public void doSign() throws Exception
{
    byte inputBytes[] = IOUtils.toByteArray(new FileInputStream("resources/rooster.pdf"));
    PDDocument pdDocument = PDDocument.load(new ByteArrayInputStream(inputBytes));
    PDJpeg ximage = new PDJpeg(pdDocument, ImageIO.read(new File("resources/logo.jpg")));
    PDPage page = (PDPage) pdDocument.getDocumentCatalog().getAllPages().get(0);
    PDPageContentStream contentStream = new PDPageContentStream(pdDocument, page, true, true);
    contentStream.drawXObject(ximage, 50, 50, 356, 40);
    contentStream.close();
    ByteArrayOutputStream os = new ByteArrayOutputStream();
    pdDocument.save(os);
    os.flush();
    pdDocument.close();

    inputBytes = os.toByteArray();
    pdDocument = PDDocument.load(new ByteArrayInputStream(inputBytes));

    PDSignature signature = new PDSignature();
    signature.setFilter(PDSignature.FILTER_ADOBE_PPKLITE);
    signature.setSubFilter(PDSignature.SUBFILTER_ADBE_PKCS7_DETACHED);
    signature.setName("signer name");
    signature.setLocation("signer location");
    signature.setReason("reason for signature");
    signature.setSignDate(Calendar.getInstance());

    pdDocument.addSignature(signature, this);

    File outputDocument = new File("resources/signed.pdf");
    ByteArrayInputStream fis = new ByteArrayInputStream(inputBytes);
    FileOutputStream fos = new FileOutputStream(outputDocument);
    byte[] buffer = new byte[8 * 1024];
    int c;
    while ((c = fis.read(buffer)) != -1)
    {
        fos.write(buffer, 0, c);
    }
    fis.close();
    FileInputStream is = new FileInputStream(outputDocument);

    pdDocument.saveIncremental(is, fos);
    pdDocument.close();
}
 
开发者ID:mkl-public,项目名称:testarea-pdfbox1,代码行数:43,代码来源:TC3.java

示例7: signDetached

import org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature; //导入方法依赖的package包/类
public void signDetached(String inputFilePath, String outputFilePath, String signatureImagePath/*, Sign signProperties*/) throws IOException, COSVisitorException, SignatureException {
        OutputStream outputStream = null;
        InputStream inputStream = null;
        PDDocument document = null;
        InputStream signImageStream = null;

        try {
            /*setTsaClient(null);*/
            document = PDDocument.load(inputFilePath);
            // create signature dictionary
            PDSignature signature = new PDSignature();
            signature.setFilter(PDSignature.FILTER_ADOBE_PPKLITE);
            signature.setSubFilter(PDSignature.SUBFILTER_ADBE_PKCS7_DETACHED);
            signature.setName("VANDUC1102");
            signature.setLocation(null);
            String displayName = "Hello World, Document signed by VANDUC1102";
            String reason = /*reasonText*/"REASON" + " " + displayName;
            signature.setReason(reason);

            // the signing date, needed for valid signature
            signature.setSignDate(Calendar.getInstance());            
            int signatureInPage = /*signProperties.getPageNumber()*/0 + 1;
            signImageStream = new FileInputStream(new File(signatureImagePath));
            PDVisibleSignDesigner visibleSig = new PDVisibleSignDesigner(inputFilePath, signImageStream, signatureInPage);

            float xAxis = convertPixel2Point(/*signProperties.getX()*/100) ;
            float yAxis = convertPixel2Point(/*signProperties.getY()*/100);               
            float signImageHeight = convertPixel2Point(/*signImageHeight*/100);    
            float signImageWidth = convertPixel2Point(/*signImageWidth*/100);

            visibleSig.xAxis(xAxis)
                    .yAxis(yAxis)
                    .zoom(0)
                    .signatureFieldName("Signature")
                    .height(signImageHeight)
                    .width(signImageWidth);
            PDVisibleSigProperties signatureProperties = new PDVisibleSigProperties();

            signatureProperties.signerName(/*eiUser.getName()*/ "eiUserName")
                     .signerLocation(null)
                     .signatureReason(reason)
                     .preferredSize(0)
                     .page(/*signProperties.getPageNumber()*/0)
                     .visualSignEnabled(true)
                     .setPdVisibleSignature(visibleSig)
                     .buildSignature();
             // register signature dictionary and sign interface
            SignatureOptions signatureOptions = new SignatureOptions();
            signatureOptions.setVisualSignature(signatureProperties);
            signatureOptions.setPage(signatureInPage);
            document.addSignature(signature, this, signatureOptions);

            File outputFile = new File(outputFilePath);
            outputStream = new FileOutputStream(outputFile);
            inputStream = new FileInputStream(inputFilePath);
            IOUtils.copy(inputStream, outputStream);
            // vvv FIX: InputStream parameter of document.saveIncremental
            // vvv      must cover the whole, enhanced document
            if (fixed)
                inputStream = new FileInputStream(outputFile);
            // =========
            document.saveIncremental(inputStream, outputStream);
            outputStream.flush();
//        } catch (COSVisitorException | SignatureException | IOException ex) {
//            log.error("signDetached ", ex);
        } finally {
            org.apache.commons.io.IOUtils.closeQuietly(outputStream);
            org.apache.commons.io.IOUtils.closeQuietly(inputStream);
            org.apache.commons.io.IOUtils.closeQuietly(signImageStream);
            document.close();
        }
    }
 
开发者ID:mkl-public,项目名称:testarea-pdfbox1,代码行数:73,代码来源:SignLikeVanduc1102.java

示例8: doSignOriginal

import org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature; //导入方法依赖的package包/类
/**
 * Essentially the original code from {@link TC3#doSign()} with dynamic input streams and output file.
 */
public void doSignOriginal(InputStream inputStream, InputStream logoStream, File outputDocument) throws Exception
{
    byte inputBytes[] = IOUtils.toByteArray(inputStream);
    PDDocument pdDocument = PDDocument.load(new ByteArrayInputStream(inputBytes));
    PDJpeg ximage = new PDJpeg(pdDocument, ImageIO.read(logoStream));
    PDPage page = (PDPage) pdDocument.getDocumentCatalog().getAllPages().get(0);
    PDPageContentStream contentStream = new PDPageContentStream(pdDocument, page, true, true);
    contentStream.drawXObject(ximage, 50, 50, 356, 40);
    contentStream.close();
    ByteArrayOutputStream os = new ByteArrayOutputStream();
    pdDocument.save(os);
    os.flush();
    pdDocument.close();

    inputBytes = os.toByteArray();
    pdDocument = PDDocument.load(new ByteArrayInputStream(inputBytes));

    PDSignature signature = new PDSignature();
    signature.setFilter(PDSignature.FILTER_ADOBE_PPKLITE);
    signature.setSubFilter(PDSignature.SUBFILTER_ADBE_PKCS7_DETACHED);
    signature.setName("signer name");
    signature.setLocation("signer location");
    signature.setReason("reason for signature");
    signature.setSignDate(Calendar.getInstance());

    pdDocument.addSignature(signature, new TC3());

    ByteArrayInputStream fis = new ByteArrayInputStream(inputBytes);
    FileOutputStream fos = new FileOutputStream(outputDocument);
    byte[] buffer = new byte[8 * 1024];
    int c;
    while ((c = fis.read(buffer)) != -1)
    {
        fos.write(buffer, 0, c);
    }
    fis.close();
    FileInputStream is = new FileInputStream(outputDocument);

    pdDocument.saveIncremental(is, fos);
    pdDocument.close();
}
 
开发者ID:mkl-public,项目名称:testarea-pdfbox1,代码行数:45,代码来源:SignLikeUnOriginalToo.java

示例9: doSignRemoveType

import org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature; //导入方法依赖的package包/类
/**
 * {@link #doSignOriginal(InputStream, InputStream, File)} changed to remove the Type entry from the trailer.
 */
public void doSignRemoveType(InputStream inputStream, InputStream logoStream, File outputDocument) throws Exception
{
    byte inputBytes[] = IOUtils.toByteArray(inputStream);
    PDDocument pdDocument = PDDocument.load(new ByteArrayInputStream(inputBytes));
    PDJpeg ximage = new PDJpeg(pdDocument, ImageIO.read(logoStream));
    PDPage page = (PDPage) pdDocument.getDocumentCatalog().getAllPages().get(0);
    PDPageContentStream contentStream = new PDPageContentStream(pdDocument, page, true, true);
    contentStream.drawXObject(ximage, 50, 50, 356, 40);
    contentStream.close();
    ByteArrayOutputStream os = new ByteArrayOutputStream();
    pdDocument.save(os);
    os.flush();
    pdDocument.close();

    inputBytes = os.toByteArray();
    pdDocument = PDDocument.load(new ByteArrayInputStream(inputBytes));
    pdDocument.getDocument().getTrailer().removeItem(COSName.TYPE);

    PDSignature signature = new PDSignature();
    signature.setFilter(PDSignature.FILTER_ADOBE_PPKLITE);
    signature.setSubFilter(PDSignature.SUBFILTER_ADBE_PKCS7_DETACHED);
    signature.setName("signer name");
    signature.setLocation("signer location");
    signature.setReason("reason for signature");
    signature.setSignDate(Calendar.getInstance());

    pdDocument.addSignature(signature, new TC3());

    ByteArrayInputStream fis = new ByteArrayInputStream(inputBytes);
    FileOutputStream fos = new FileOutputStream(outputDocument);
    byte[] buffer = new byte[8 * 1024];
    int c;
    while ((c = fis.read(buffer)) != -1)
    {
        fos.write(buffer, 0, c);
    }
    fis.close();
    FileInputStream is = new FileInputStream(outputDocument);

    pdDocument.saveIncremental(is, fos);
    pdDocument.close();
}
 
开发者ID:mkl-public,项目名称:testarea-pdfbox1,代码行数:46,代码来源:SignLikeUnOriginalToo.java

示例10: doSignTwoRevisions

import org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature; //导入方法依赖的package包/类
/**
 * {@link #doSignOriginal(InputStream, InputStream, File)} changed to also save the first change as new revision.
 */
public void doSignTwoRevisions(InputStream inputStream, InputStream logoStream, File intermediateDocument, File outputDocument) throws Exception
{
    FileOutputStream fos = new FileOutputStream(intermediateDocument);
    FileInputStream fis = new FileInputStream(intermediateDocument);

    byte inputBytes[] = IOUtils.toByteArray(inputStream);

    PDDocument pdDocument = PDDocument.load(new ByteArrayInputStream(inputBytes));
    PDJpeg ximage = new PDJpeg(pdDocument, ImageIO.read(logoStream));
    PDPage page = (PDPage) pdDocument.getDocumentCatalog().getAllPages().get(0);
    PDPageContentStream contentStream = new PDPageContentStream(pdDocument, page, true, true);
    contentStream.drawXObject(ximage, 50, 50, 356, 40);
    contentStream.close();

    pdDocument.getDocumentCatalog().getCOSObject().setNeedToBeUpdate(true);
    pdDocument.getDocumentCatalog().getPages().getCOSObject().setNeedToBeUpdate(true);
    page.getCOSObject().setNeedToBeUpdate(true);
    page.getResources().getCOSObject().setNeedToBeUpdate(true);
    page.getResources().getCOSDictionary().getDictionaryObject(COSName.XOBJECT).setNeedToBeUpdate(true);
    ximage.getCOSObject().setNeedToBeUpdate(true);

    fos.write(inputBytes);
    pdDocument.saveIncremental(fis, fos);
    pdDocument.close();

    pdDocument = PDDocument.load(intermediateDocument);

    PDSignature signature = new PDSignature();
    signature.setFilter(PDSignature.FILTER_ADOBE_PPKLITE);
    signature.setSubFilter(PDSignature.SUBFILTER_ADBE_PKCS7_DETACHED);
    signature.setName("signer name");
    signature.setLocation("signer location");
    signature.setReason("reason for signature");
    signature.setSignDate(Calendar.getInstance());

    pdDocument.addSignature(signature, new TC3());

    fos = new FileOutputStream(outputDocument);
    fis = new FileInputStream(outputDocument);
    inputBytes = IOUtils.toByteArray(new FileInputStream(intermediateDocument));

    fos.write(inputBytes);
    pdDocument.saveIncremental(fis, fos);
    pdDocument.close();
}
 
开发者ID:mkl-public,项目名称:testarea-pdfbox1,代码行数:49,代码来源:SignLikeUnOriginalToo.java


注:本文中的org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature.setName方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。