Example usage for com.itextpdf.text.pdf PdfEncryptor getPermissionsVerbose

List of usage examples for com.itextpdf.text.pdf PdfEncryptor getPermissionsVerbose

Introduction

In this page you can find the example usage for com.itextpdf.text.pdf PdfEncryptor getPermissionsVerbose.

Prototype

public static String getPermissionsVerbose(int permissions) 

Source Link

Document

Give you a verbose analysis of the permissions.

Usage

From source file:org.sejda.impl.itext5.EncryptTask.java

License:Open Source License

public void execute(EncryptParameters parameters) throws TaskException {
    int currentStep = 0;
    for (PdfSource<?> source : parameters.getSourceList()) {
        currentStep++;/*from  w  ww  .j  a va 2 s.c  o m*/
        LOG.debug("Opening {} ", source);
        reader = source.open(sourceOpener);

        File tmpFile = createTemporaryPdfBuffer();
        LOG.debug("Created output temporary buffer {} ", tmpFile);
        stamperHandler = new PdfStamperHandler(reader, tmpFile, parameters.getVersion());
        stamperHandler.setCompression(parameters.isCompress(), reader);
        stamperHandler.setEncryption(
                getEncryptionAlgorithm(parameters.getEncryptionAlgorithm()) | PdfWriter.DO_NOT_ENCRYPT_METADATA,
                parameters.getUserPassword(), parameters.getOwnerPassword(), permissions);

        nullSafeCloseQuietly(stamperHandler);
        nullSafeClosePdfReader(reader);

        String outName = nameGenerator(parameters.getOutputPrefix())
                .generate(nameRequest().originalName(source.getName()).fileNumber(currentStep));
        outputWriter.addOutput(file(tmpFile).name(outName));

        notifyEvent(getNotifiableTaskMetadata()).stepsCompleted(currentStep).outOf(totalSteps);
    }

    parameters.getOutput().accept(outputWriter);
    LOG.debug("Input documents encrypted and written to {}", parameters.getOutput());
    LOG.debug("Permissions {}", PdfEncryptor.getPermissionsVerbose(permissions));
}