Java >> Java tutorial >  >> Tag >> protected

Sådan kontrollerer du, om en PDF er adgangskodebeskyttet eller ej

Brug Apache PDFBox - Java PDF Library herfra:
Eksempelkode:

try
{
    document = PDDocument.load( "C:\\abc.pdf");

    if(document.isEncrypted())
    {
      //Then the pdf file is encrypeted.
    }
}

I den gamle version af PDFBox

try
{
    InputStream fis = new ByteArrayInputStream(pdfBytes);                       
    PDDocument doc = PDDocument.load(fis);

    if(doc.isEncrypted())
    {
      //Then the pdf file is encrypeted.
    }
}

I den nyere version af PDFBox (f.eks. 2.0.4)

    InputStream fis = new ByteArrayInputStream(pdfBytes);
    boolean encrypted = false;
    try {
        PDDocument doc = PDDocument.load(fis);
        if(doc.isEncrypted())
            encrypted=true;
        doc.close();
    }
    catch(InvalidPasswordException e) {
        encrypted = true;
    }
    return encrypted;

Måden jeg gør det på er ved at forsøge at læse PDF-filen ved hjælp af PdfReader uden at give adgangskode selvfølgelig. Hvis filen er beskyttet med adgangskode, en BadPasswordException vil blive kastet. Dette bruger iText-biblioteket.


Java tag