Как я могу добавить пароль к базе 64 PDF? - PullRequest
0 голосов
/ 23 марта 2020

У меня есть этот метод, в котором я добавляю пароль в pdf, но я делаю это с pdf с компьютера. То, что я хочу попробовать, это получить в качестве входного параметра строку, которая будет pdf в base 64 и ответить на base64.

    public static void main(String[] args) {
            try {

                OutputStream file = new FileOutputStream(new File("D:\\Test.pdf"));

            Document document = new Document();
            PdfWriter writer = PdfWriter.getInstance(document, file);

            writer.setEncryption(USER_PASS.getBytes(), OWNER_PASS.getBytes(),
                    PdfWriter.ALLOW_PRINTING, PdfWriter.ENCRYPTION_AES_128);

            document.open();
            document.add(new Paragraph("Hello World, iText"));
            document.add(new Paragraph(new Date().toString()));

            document.close();
            file.close();

        } catch (Exception e) {

            e.printStackTrace();
        }
    }

1 Ответ

1 голос
/ 23 марта 2020

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

   public String EncriptarPDFconContraseña(String pdfBase64, String passwordUser, String passwordOwner) throws IOException, DocumentException {

        PdfReader reader = new PdfReader(Base64.decode(pdfBase64));
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        PdfStamper stamper = new PdfStamper(reader, baos);
        stamper.setEncryption(passwordUser.getBytes(), passwordOwner.getBytes(), PdfWriter.ALLOW_PRINTING, PdfWriter.ENCRYPTION_AES_128);
        stamper.close();
        String base64 = Base64.encodeBytes(baos.toByteArray());

        return base64;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...