Создание вложения Java Mail Body для защиты паролем - PullRequest
0 голосов
/ 28 августа 2018

Я разработал программу API Java-почты, которая будет отправлять почту, а также прикрепляет файл PDF, так что, наконец, доставляется письмо, в которое вложен файл PDF.

Я хочу сделать этот PDF-файл защищенным паролем через мою Java-программу. например, когда получатель почты получает почту, получатель нажимает на файл PDF. в это время должно появиться всплывающее окно, и пользователь должен ввести ранее сгенерированный пароль, чтобы увидеть этот файл PDF. Я разрабатываю функцию, но, кажется, структурирован с доменом пожалуйста, помогите мне здесь.

 messageBodyPart = new MimeBodyPart();
            DataSource source = new FileDataSource("D:/C_App/PDF/"+Employeeid+ ".docx");//add file path
            messageBodyPart.setDataHandler(new DataHandler(source));
            messageBodyPart.setFileName(Employeeid);//file name to be displayed
            multipart.addBodyPart(messageBodyPart);
            message.setContent(multipart);

            byte[] USER = "password 1234".getBytes();
            byte[] OWNER = "password 1234".getBytes();
            encryptPdf(DataSource source, DataSource source) throws IOException, DocumentException {
                    PdfReader reader = new PdfReader(source);
                    PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(source));
                    stamper.setEncryption(USER, OWNER,
                        PdfWriter.ALLOW_PRINTING, PdfWriter.ENCRYPTION_AES_128 | PdfWriter.DO_NOT_ENCRYPT_METADATA);
                    stamper.close();
                    reader.close();
                }
            Transport.send(message);

Этот сегмент кода также дает мне синтаксическую ошибку. любая помощь будет оценена. Спасибо.

1 Ответ

0 голосов
/ 28 августа 2018
encryptPdf(DataSource source, DataSource source) throws IOException, DocumentException {
                    PdfReader reader = new PdfReader(source);
                    PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(source));
                    stamper.setEncryption(USER, OWNER,
                        PdfWriter.ALLOW_PRINTING, PdfWriter.ENCRYPTION_AES_128 | PdfWriter.DO_NOT_ENCRYPT_METADATA);
                    stamper.close();
                    reader.close();
                }
  1. Это часть описания метода, вы должны следовать java соглашения об объявлении метода, такие как область доступа, тип возвращаемого значения.
  2. Я не вижу в вашем коде вызова метода encryptPdf ().
...