Générer un PDF non modifiable

12

Est-il possible de générer un PDF non modifiable?

Actuellement, les documents que je génère à l'aide pdflatexpeuvent être modifiés avec des applications telles qu'Adobe Acrobat X Pro.

J'ai des documents PDF qui ne peuvent pas être modifiés avec Acrobat, alors comment puis-je les reproduire avec LaTeX?

Chico Sokol
la source
Une façon serait de générer des images (ex png), puis de créer le PDF à partir des images.
Peter Grill
2
Beaucoup de points dans les réponses ici sont couverts par les messages précédents dans la balise drm . Jetez peut-être un coup d'oeil à ces derniers.
Joseph Wright

Réponses:

11

Le PDF Toolkit est une application gratuite, ligne de commande qui fournit cette fonctionnalité. Vous définissez le "mot de passe du propriétaire" ( owner_pw <password>) et spécifiez les propriétés autorisées pour le document. Voici un exemple (extrait de la page Exemples Pdftk ) qui chiffre le document avec une force de 128 bits et autorise uniquement l'impression:

pdftk mydoc.pdf output mydoc.128.pdf owner_pw foopass autoriser l'impression

Il donne les propriétés de document suivantes dans Adobe:

entrez la description de l'image ici

D'autres autorisations peuvent également être définies (à partir de la page de manuel Pdftk ):

[autoriser <autorisations>]

Les autorisations sont appliquées au PDF de sortie uniquement si une force de chiffrement est spécifiée ou si un mot de passe de propriétaire ou d'utilisateur est donné. Si les autorisations ne sont pas spécifiées, elles sont définies par défaut sur «aucune», ce qui signifie que toutes les fonctionnalités suivantes sont désactivées.

La section des autorisations peut inclure une ou plusieurs des fonctionnalités suivantes:

  • Impression - Impression de qualité supérieure
  • DegradedPrinting - Impression de qualité inférieure
  • ModifyContents - Permet également l'assemblage
  • Assemblée
  • CopyContents - Autorise également ScreenReaders
  • ScreenReaders
  • ModifyAnnotations - Autorise également FillIn
  • Remplir
  • AllFeatures - Permet à l'utilisateur d'effectuer toutes les opérations ci-dessus et une impression de qualité supérieure.

Il s'avère que ces fonctionnalités de sécurité dépendent beaucoup du spectateur et il existe des moyens de les contourner.

Werner
la source
Est-il robuste? La plupart du temps, ces restrictions sont faciles à contourner en les convertissant en post script et en retour en pdf.
Alfred M.
@AlfredM .: Je n'ai pas vérifié. Avez-vous?
Werner
non, j'étais juste curieux.
Alfred M.
3
@ Alfred M.: Toute solution de ce type n'est pas robuste par définition. En effet, si l'on peut voir le contenu d'un fichier PDF, il peut aussi le sauvegarder dans un autre fichier PDF / PS / .... Il s'agit simplement de trouver les bons outils (Acrobat refusera de le faire non pas parce qu'il ne le peut pas mais parce qu'Adobe ne le souhaite pas ).
Le DRM appliqué ici est faible, mais toujours assez fort pour garder les honnêtes gens honnêtes. Tant que vos attentes sont ajustées en conséquence, il est suffisamment robuste. Considérez-le comme un contrat entre le producteur de documents et un logiciel consommateur de PDF. Les logiciels conformes respecteront le contrat et agiront ainsi selon les restrictions listées. Adobe, en tant que créateur du PDF, suit naturellement fidèlement le contrat. Cependant, sous le capot, tous les DRM sont mortellement défectueux et dépendent de lois arbitraires telles que le DMCA pour empêcher les utilisateurs de le renverser.
RBerteig
10

J'ajouterai ceci comme réponse, car cela répond à la question d'une manière ou d'une autre et c'est long et un peu compliqué. La réponse courte est: non, ce n'est pas possible. Une fois que vous pouvez lire le PDF sur votre écran, cela signifie qu'il y a toutes les informations et que le PDF peut être modifié. Bien entendu, les programmes Adobe n'offrent pas de telles fonctionnalités. Mais si vous souhaitez que le PDF soit modifiable, vous pouvez toujours utiliser ImageMagick:

convert -density 600 myfile.pdf myfile.png

Ensuite, la qualité étant très élevée, tout OCR suffisamment bon pourra le reconvertir en texte. Et il y a sûrement d'autres possibilités. Comme cela a été mentionné par les autres personnes, vous pouvez décoder le PDF en PS (ce qui est possible car dans une certaine mesure, c'est ce que le lecteur PDF doit faire), puis le reconvertir et vous disposez d'un fichier PDF modifiable.

Conclusion: Vous pouvez protéger le PDF contre les modifications par des utilisateurs "normaux", mais vous ne pouvez pas le protéger contre les modifications par des gens qui savent ce qu'ils font.

yo '
la source
Même les utilisateurs "normaux" peuvent imprimer (si cela est autorisé) au format PDF.
Il existe des méthodes qui permettent au PDF d'imprimer une page entièrement noire pour l'utilisateur normal. Je sais que certaines revues scientifiques le font pour permettre aux gens de voir l'article, mais pas de l'imprimer. Pourtant, même cela peut être craqué, c'est la même chose que le rendre "non modifiable".
yo '
@tohecz: Je suis sûr que vous avez raison; mais je trouve l'idée d'un "pdf non imprimable" à la fois amusante et tragique. Un peu comme avoir un programme que vous ne pouvez pas exécuter. Si ce n'est pas pour l'impression, le pdf est un format affreux pour autre chose.
Brent.Longborough
@ Brent.Longborough Je ne suis pas d'accord, je pense. Il est portable (c'est-à-dire qu'il fonctionne sur toutes les plateformes, y compris xindles) et il est bien évolutif. Et c'est ce que les gens aiment le plus lorsqu'ils veulent un "document".
yo
1
@Qrrbrbirlbel: Il a été ainsi nommé par son créateur, Adobe. Pas mon idée d'un modèle de référence pour la vérité absolue. «Portable» est un mot à la mode utilisé par les entreprises pour vendre des idées à des gestionnaires aux cheveux pointus.
Brent.Longborough