8
votes

Déverrouiller les fichiers PDF protégés protégés

J'ai besoin de traiter un grand nombre de fichiers PDF protégés et de les modifier à l'aide d'un programme Java, mais je n'ai pas les mots de passe de ces fichiers. Y a-t-il un moyen de déverrouiller ces fichiers avec un lot?

Je voudrais une commande Windows comme l'outil ou une API Java Open Source. Quelle est la meilleure solution?


2 commentaires

La meilleure solution consiste à demander le soutien de la personne qui possède le contenu du fichier - ce serait probablement la personne que le mot de passe les protégeait.


Tant que les PDF n'ont qu'un mot de passe propriétaire et non un mot de passe de l'utilisateur (vous pouvez toujours les voir), il n'y a rien de chiffré dans les fichiers. Les limitations ne sont imposées que par les applications de l'observateur et le PDF n'est pas vraiment protégé du tout. Vous pouvez simplement ignorer la protection si vous avez votre propre application d'édition.


3 Réponses :


17
votes

Ces fichiers PDF demandent-ils des mots de passe à ouvrir ou Protection consistent à des restrictions sur la copie, l'impression, la modification, l'extraction du texte, etc.

Si c'est votre cas, vous pouvez Essayez avec

qpdf


2 commentaires

Mes fichiers PDF ne demandent pas aux mots de passe.MY Les restrictions sont sur copie, imprimer, modifier, je souhaite une bibliothèque Java qui effectue le même travail que QPDF.


Oui, c'est la meilleure alternative libre et open source à PDFunlock!



1
votes

Pour le déchiffrement, vous pouvez utiliser PDFBOX , voir ma réponse ici: Https://stackoverflow.com/a/9976481/535203

Je donne un exemple de code pour déchiffrer un PDF donné son mot de passe.

Il y a aussi un binaire de faire cela avec PDFBox, vérifiez L'utilisation ici .


0 commentaires

0
votes

Vous pouvez également le faire à l'aide d'IText Bibliothèque.

Voici un code d'exemple: P>

        PdfReader.unethicalreading = true;
        PdfReader reader = new PdfReader(inputFile);
        PdfEncryptor.encrypt(reader, new FileOutputStream(outputFile), null,
              null, PdfWriter.ALLOW_ASSEMBLY | PdfWriter.ALLOW_COPY
                  | PdfWriter.ALLOW_DEGRADED_PRINTING | PdfWriter.ALLOW_FILL_IN
                  | PdfWriter.ALLOW_MODIFY_ANNOTATIONS | PdfWriter.ALLOW_MODIFY_CONTENTS
                  | PdfWriter.ALLOW_PRINTING | PdfWriter.ALLOW_SCREENREADERS, false);


1 commentaires

Le nouveau PDF ne permet toujours pas d'extraire des pages