Restreindre les copies imprimées sur un PDF

7

Nous avons un cas d'utilisation très spécifique pour une application que nous développons, dans laquelle un utilisateur se voit présenter un document PDF, qu'il peut imprimer. Cependant, nous devons pouvoir restreindre le fichier PDF afin qu'il ne puisse être imprimé qu'une seule fois. Est-ce que quelqu'un sait s'il existe un moyen de limiter le nombre de fois qu'un PDF peut être imprimé?

Je suis conscient que la spécification PDF comporte de nombreuses fonctionnalités de sécurité, mais je n'ai jamais trouvé de référence à cela.

pauldunlop
la source
6
Folie
dlamblin
Parlez-moi de cela ;-) J'ai étudié la possibilité d'utiliser une applet Java pour gérer l'impression au lieu d'un PDF. Il semble qu'il y ait peut-être des options dans cette voie, mais cela ne semble toujours pas facile.
pauldunlop
8
En fin de compte, ni vous ni votre client ne serez probablement satisfaits de la façon dont cela se passera. Pourrait aussi bien être franc à ce sujet.
emgee
1
D'accord. Dis-lui que ce n'est pas possible.
alex
1
Vous devriez lire et comprendre la question et les réponses à superuser.com/questions/14224/how-to-explain-drm-cannot-work ...
Chris W. Rea

Réponses:

6

Adobe utilise leurs Adobe Content Server protéger les livres électroniques et les PDF avec Adobe Digital Editions (leur eBook et PDF gratuit) côté client. Cela permet la distribution de PDF avec des options de sécurité plus flexibles que ne le permet le PDF autonome habituel. Par exemple, les documents peuvent être limités dans le temps ou ne permettre l’impression que d’un certain nombre de pages.

C'est peut-être une solution miracle à votre problème, car je ne connais pas les prix d'Adobe pour ce produit, ni s'il est pratique pour un petit nombre de documents. La British Library (jusqu'à récemment, en tout cas) l'utilise pour les prêts électroniques inter-bibliothèques qui expirent au bout de 2 semaines et ne permettent à l'article d'être imprimé qu'une seule fois.

pelms
la source
Très intéressant, je ne savais pas que cette solution existait. Je vais certainement devoir vérifier cela. Merci!
pauldunlop
9
Et je suis sûr que les utilisateurs finaux sont très satisfaits lorsque leur imprimante manque d’encre au cours de leur unique chance d’imprimer.
RBerteig
Au travail, j'ai déjà acheté un livre qui en avait besoin. Jamais eu à même spectacle dans les éditions numériques d'Adobe. Cela est peut-être dû au site Web qui m'a vendu le livre, car ce site Web doit en quelque sorte signaler aux droits de Digital Editions les droits numériques (il est nécessaire d'installer Digital Editions avant de télécharger le livre). Ou peut-être même que certaines restrictions sur l'ordinateur de l'entreprise étaient à blâmer. Néanmoins, je n’achète plus rien qui nécessite un logiciel supplémentaire.
Arjan
5

Je dirais que ce n'est pas seulement techniquement impossible, mais aussi impossible.

Qu'est-ce qui empêche l'utilisateur de photocopier le document juste après l'avoir imprimé?

Qu'est-ce que vous essayez d'accomplir avec cela, en dehors de recueillir quelques suggestions novatrices?

Rook
la source
2
Le scénario que nous avons est lié à l’impression des coupons. En gros, le client doit s’assurer que l’utilisateur n’a qu’une copie du voucher. Avoir la validation au moment de l'échange (en magasin) n'est pas une option, il doit donc l'être au moment de l'impression du voucher. Cependant, ce que vous avez dit à propos de la photocopie, etc., est tout à fait vrai. L'idée est fausse, mais j'épuise toutes les pistes possibles avant de le dire :-)
pauldunlop
3
@ Shop - eh bien, pourriez-vous mettre un numéro de série sur celui-ci? Pour les différencier? Et ensuite, détruisez-les au fur et à mesure de leur utilisation, après avoir vérifié le numéro de série afin qu'un numéro identique ne puisse pas être utilisé deux fois?
Rook
Nous pourrions, et en fait, les clients actuellement implémentés le font, mais comme ils fournissent des bons à plusieurs clients, ils ne disposent pas du chèque de série lors de l’achat chez le détaillant. En théorie, un utilisateur peut donc imprimer de nombreux bons et les racheter, et le détaillant ne serait pas capable de dire.
pauldunlop
4

Même si vous pouvez le faire, vous ne pouvez pas empêcher l'utilisateur de faire une capture d'écran, puis d'imprimer une image ou quelque chose du genre. Si l'utilisateur peut voir les données, vous ne pouvez pas l'empêcher de faire une copie, alors mon conseil est "ne même pas essayer". Avertissez que le fichier pdf ne doit être imprimé qu'une seule fois et laissez-le ainsi, car si l'utilisateur veut l'imprimer deux fois, il trouvera le chemin.

del-boy
la source
J'aimerais que ce soit une option. Ceci est quelque chose pour un client, nous ne faisons pas les exigences. Nous sommes conscients que le concept entier a des défauts fondamentaux, mais nous voulons fondamentalement rendre le plus difficile possible pour Joe moyen d'en imprimer plus d'un.
pauldunlop
1
Si vous êtes un consultant, une partie de votre travail consiste à parler à votre client d'idées stupides. ;-) IMHO, si vous finissez par implémenter tout type de restriction ayant une solution de contournement facile (par exemple une photocopieuse), cela finira par irriter les utilisateurs finaux jusqu'au point possible d'abandon du produit.
Chris W. Rea
Je ne suis pas le consultant sur ce travail, juste le développeur qui assiste à une première réunion. Nous avons déjà informé notre responsable des ventes que cela semblait être une cause perdue. Le problème, c'est qu'un concurrent a mis au point un certain nombre de solutions, via des contrôles ActiveX, et des applications dédiées que vous devez installer pour gérer tout cela. Nous essayons simplement de trouver une solution plus élégante. Pas la peine si vous me demandez, mais merci pour vos conseils.
pauldunlop
3

Si vous ne pouvez imprimer qu'une fois, vous pouvez imprimer un nombre infini de fois.

Pensez à une imprimante réseau: les données brutes à imprimer doivent être envoyées à un périphérique embarqué distant, ce que votre programme n’aurait aucun moyen de restreindre, même s’il devenait en quelque sorte la propriété de la machine entière de l’utilisateur (ce qui serait déjà considéré comme extrêmement offensant ; voir le Scandale des rootkits Sony pour le genre de réaction à attendre).

Comment savoir que le périphérique avec lequel la machine de l'utilisateur parle est un vrai HP LaserJet, au lieu de quelque chose qui prétend l'être (ou, plus simplement, prétend être un spouleur distant), mais qui enregistre les PCL / PS / quels que soient les fichiers bruts au lieu de l'imprimer? Ces données étant tout ce dont vous avez besoin pour imprimer le travail, il vous suffirait de les relire plusieurs fois sur une imprimante réelle pour obtenir plusieurs copies. Vous pouvez également utiliser un renifleur (comme mentionné par @dlamblin) et éviter les problèmes d'émulation de l'imprimante.

Vous pourriez penser à interdire les imprimantes réseau, mais le fait d’avoir uniquement des imprimantes réseau dans un bureau (pas de simples imprimantes connectées à un PC à usage général, mais des imprimantes volumineuses directement connectées au commutateur Ethernet) n’est pas si rare. De ce fait, plusieurs de vos utilisateurs (dont beaucoup dépendraient du groupe démographique cible) ne seraient pas en mesure d’imprimer, ce qui n’est pas un bon système de relations publiques.

Et même la clé USB n’est pas à l’abri (bien qu’elle nécessite davantage de connaissances techniques et peut-être un matériel spécial); il existe des renifleurs USB. Et même sans eux, un "pilote de gadget" d'imprimante USB sur un périphérique Linux intégré pourrait suffire (à noter, toutefois, qu'à ce jour, je ne connais aucun pilote de gadget d'imprimante USB pour Linux).

Tout cela en supposant que le programme ait réussi à obtenir le contrôle complet de la machine de l'utilisateur. Comme le montrent plusieurs tentatives infructueuses de protection contre la copie, ceci est plus facile à dire qu'à faire. Comment savoir que le pilote d’imprimante que vous utilisez n’est qu’une version peu commune du pilote d’imprimante pour une marque d’imprimantes répandue, et non une version piratée pour enregistrer le flux sur le disque? Comment savoir qu'il n'y a pas de pilote quelque part dans la pile d'impression enregistrant toutes les transactions USB sur le disque? Et comment pouvez-vous différencier un utilisateur normal de machines virtuelles de celui qui les utilise pour intercepter la communication avec les périphériques USB?


Cela dit, vous n'avez pas besoin d'aller si loin. La plupart des gens, même s'ils possèdent le savoir-faire technique, ne tenteront pas de contourner les tentatives les plus faibles d'empêcher les impressions en double que vous faites. En fait, je ne serais pas surpris si la plupart des utilisateurs n'imprimaient volontairement pas plus d'une fois si le fichier ne devait être imprimé qu'une seule fois (mais il y aurait alors plus de cas de personnes imprimant accidentellement deux fois). Alors, créez un programme simple qui imprime une fois puis efface les données originales. Avertissez l'utilisateur que les données seront effacées après avoir été imprimées une fois. Et acceptez que certaines personnes imprimeront plus de fois que vous ne le permettez, et que d’autres imprimeront Moins fois que vous avez permis (problèmes d'alimentation, imprimantes défectueuses, systèmes mal configurés, ou redoutable LETTRE DE CHARGEMENT PC l’échec de l’impression). Soyez prêt pour ça.

Acceptez simplement les pertes pour les personnes qui impriment plus de temps que autorisé, de la même manière qu'un magasin physique doit accepter qu'une fraction de son stock soit endommagée ou perdue d'une manière ou d'une autre. Avoir un moyen de trouver les plus gros abuseurs et de les traiter (le système juridique semble être un choix populaire).

Pour les personnes qui impriment moins de temps que prévu, une assistance telle qu'une assistance téléphonique permettant à l'utilisateur de demander une nouvelle copie serait une option (cela fonctionne pour Microsoft, non?). Bien sûr, certaines personnes vont en abuser, mais voir le paragraphe précédent.

CesarB
la source
2

Je sais que de nombreux billets d'événement livrés au format PDF ne vous inquiétez pas beaucoup Au lieu de cela, ils affirment avec force que la salle scannera les codes à barres et que seule la première copie d'un ticket donné sera autorisée à traverser la porte. Ils ont également tendance à imprimer le nom de l'acheteur sur le billet, ce qui permet de demander une pièce d'identité à la porte.

Fondamentalement, je ne pense pas qu'il soit possible de créer un fichier PDF imprimable une fois. Et même si c’était le cas, je soupçonnerais que les problèmes de relations avec la clientèle coûtent à la relation client et qu’un mauvais bouche-à-oreille coûte plus cher que sa valeur.

TurboTax (un outil de préparation de l'impôt sur le revenu fédéral et d'État américain destiné aux lecteurs non américains) a essayé quelque chose de similaire il y a quelques années. Ils ont décidé qu'il ne devait être possible d'installer le programme qu'une seule fois avec l'impression activée, ce qui était imposé par un code d'activation de leur serveur. Il s'avère qu'un nombre important de leurs clients avaient l'habitude de payer leurs impôts chez eux, mais ils en installaient une copie temporaire à leur bureau pour tirer parti des imprimantes disponibles. Des personnes préoccupées se sont également plaints de la possibilité de réinstaller ultérieurement le logiciel de cette année pour corriger le retour si un audit révélait un problème.

Les plaintes étaient suffisamment fortes pour qu'aucune version ultérieure n'ait eu ces restrictions.

RBerteig
la source
2

L'idée qu'un logiciel puisse contrôler qu'un utilisateur n'imprime qu'une seule fois est une idée imparfaite. Pensez à un bourrage papier - le fait qu’une application ou un système d’exploitation ait correctement envoyé un travail d’impression à l’imprimante ne garantit pas que l’utilisateur en obtienne une copie. Alors, que doit faire l'utilisateur alors?

Ou qu'en est-il de l'imprimante configurée pour imprimer X copies de chaque feuille? Qu'en est-il des scanners ou des photocopieurs?

Et enfin, bien que le point de vue de l'utilisateur ne présente évidemment aucun avantage anti-fonctionnalité Je ne sais absolument pas quels devraient être les avantages pour votre entreprise. Pourriez-vous s'il vous plaît expliquer quel est l'avantage de faire une telle chose?

hlovdal
la source
1

Je ne trouve aucune fonctionnalité Adobe PDF qui compte le nombre de fois que le document est imprimé. Je ne trouve que désactiver toutes les impressions. Cela a du sens si on le considère comme suit:

Si vous craignez que je sois le pirate des PDF, et que vous ayez créé ce PDF imprimable, une fois insaisissable, je l'enverrais simplement une fois à mon imprimante.

Après quoi:

Sur un Mac, je choisirais de prévisualiser l’impression avant de cliquer sur "Imprimer", puis d’enregistrer l’aperçu PDF généré.

Sur un PC, je demanderais au pilote d’imprimante d’enrouler également le travail dans un fichier.

Ou bien je choisirais un pilote d'impression dans un fichier, dont beaucoup sont gratuits.

Et si je ne disposais d'aucune des options ci-dessus, je pourrais demander à plusieurs pilotes de mon pilote d'imprimer également le PostScript sur le disque en premier ou, dans les cas extrêmes, de renifler le trafic réseau de l'imprimante hors du réseau. Ce n'est généralement pas authentifié ou crypté. Le PostScript pourrait même être distillé en PDF si nécessaire.

Modifier:
Même avec l'applet d'impression java utilisé par Pitney-Bowes pour imprimer les fonds d'affranchissement, il semble que l'option de prévisualisation ait été désactivée. J'ai sauvegardé le travail d'impression résultant pour le réimprimer. Mais je n'utilise plus cette option parce qu'elle ne semble tout simplement pas pouvoir imprimer correctement sur tous les formats de papier. Elle imprime toujours le code à barres en dehors des marges de la page, même lorsque je la joue directement avec l'intention d'impression unique. .

dlamblin
la source
Oui, j'avais pensé à ces problèmes de PDF, spool to file. Par conséquent, idéalement, il faut quelque chose qui contourne totalement les installations d’impression intégrées du système d’exploitation. Sur OS X en particulier, je ne suis pas sûr que ce soit possible. Fun fun!
pauldunlop
1

Le scénario que nous avons est lié à l’impression des coupons. En gros, le client doit s’assurer que l’utilisateur n’a qu’une copie du voucher. Avoir la validation au moment de l'échange (en magasin) n'est pas une option, il doit donc l'être au moment de l'impression du voucher.

Avez-vous envisagé de personnaliser les impressions, de demander un identifiant (et peut-être une signature) lors de l'utilisation de l'impression dans un magasin, et de laisser au contrat de vente le choix d'utiliser un seul exemplaire? Ensuite, vous aurez besoin d'un traitement final (à un moment ultérieur), pour enregistrer quels vouchers ont été utilisés plusieurs fois, et (menacer de) facturer le client pour cela ... (Cela pourrait même être une chose supplémentaire, à côté d'essayer pour limiter le nombre de tirages.)

Notez que tout le monde n’a pas une imprimante de qualité. Certaines numérisations ou photocopies peuvent sembler meilleures que certaines impressions originales.

En outre, comme @RBerteig l'a déjà indiqué, certains clients peuvent même ne pas avoir d'imprimante ou être à court d'encre. Comment pourraient-ils imprimer chez un voisin ou au travail lorsque votre solution nécessite un logiciel supplémentaire, tel que (l'horrible, selon moi) Adobe Digital Editions? Dans la même veine: à quoi ressemblera le bon électronique? Je pense que vous allez implémenter une validation en ligne lors de l’utilisation dans la prochaine version, pour ceux qui vous montreront un code à barres sur leur smartphone plutôt qu’un voucher papier.

Nous sommes conscients que le concept entier a des défauts fondamentaux, mais nous voulons fondamentalement rendre le plus difficile possible pour Joe moyen d'en imprimer plus d'un.
[..]
Le problème, c'est qu'un concurrent a mis au point un certain nombre de solutions, via des contrôles ActiveX, et des applications dédiées que vous devez installer pour gérer tout cela. Nous essayons simplement de trouver une solution plus élégante.

Ok, il est clair que vous allez éventuellement mettre en place une solution qui ne sera pas très sécurisée. Je suppose que vous aurez une déclaration écrite pour le client sur les risques. Je suggère que dans cette déclaration écrite vous aussi spectacle Le client peut facilement utiliser la solution de ce concurrent pour imprimer plusieurs copies.

Arjan
la source
0

Nous avons fait des choses comme celle-ci avec les filigranes. Le fichier PDF a toujours un filigrane, sauf pour un "événement" donné, qui permettra à l’utilisateur d’imprimer (comme le paiement dans notre cas). Ensuite, nous re-rendons le PDF sans le filigrane.

Pas exactement ce que vous recherchez, mais peut-être que la notion de filigrane pourrait être utile?

Chris_K
la source
Idée intéressante, n'avait pas envisagé quelque chose comme le filigranage. Cependant, le problème sera que, lors de la première impression, sans filigrane, nous ne pourrons pas les empêcher d’imprimer 10 copies, etc. Par conséquent, je me demandais si la spécification PDF contenait quelque chose comme cela?
pauldunlop
Pas que je sache. Alex a un bon lien, mais je ne pense pas qu'il gère le nombre de copies - c'est le travail du pilote d'imprimante local, non?
Chris_K
Ouais c'est ça. Fondamentalement, nous devons d’une manière ou d’une autre contourner la boîte de dialogue de l’imprimante locale et utiliser un autre moyen de contrôler les options que l’utilisateur peut voir. Je soupçonne fortement que cela ne sera pas possible, mais j'effectue des recherches de toute façon juste pour être approfondi.
pauldunlop
Hmm, vous resterez donc toujours les PDF comme étant verrouillés pour l'impression. Ensuite, la seule façon de les imprimer consiste à les envoyer / les transmettre à une autre de vos applications qui peut basculer le verrou. et garder une trace des noms de fichiers et s’ils ont déjà été imprimés. Beurk!
Chris_K
Cela semble trop compliqué pour fonctionner sur quoi que ce soit, sauf une version spécifique de Windows / Acrobat. J'avais un PDF qui m'a été envoyé (acheté) et qui n'a jamais été imprimé. Malheureusement, je ne savais pas quand je l'ai acheté et je voulais imprimer une page de code à afficher à un bureau. Le vendeur ne m'a pas laissé supprimer la restriction, mais j'ai trouvé de nombreux endroits en ligne qui me permettaient de supprimer le blocage. Si vous implémentez cela, il est plus probable que le client perde de son activité que dans le cas présent.
Joshua Nurczyk
0

Essayer ce tutoriel d'Adobe:

Vous pouvez empêcher les utilisateurs d'imprimer un PDF   forme.   Vous pouvez spécifier si le formulaire   peut être imprimé, imprimé avec un minimum   résolution, ou imprimé avec une haute   sortie de résolution.

1.Sélectionnez Fichier & gt; Propriétés du formulaire.

2.Cliquez sur l'onglet Sécurité PDF.

3.Dans la zone Autorisations, sélectionnez Utiliser un mot de passe pour restreindre l'impression et   Edition du document et de son   Les paramètres de sécurité.

4.Dans la liste Impression autorisée, sélectionnez l'une des options suivantes:

•Aucun

• Basse résolution (150 dpi)

•Haute résolution

alex
la source
Lien utile, mais ne me permet pas de limiter le nombre de copies imprimées à un, pour autant que je sache?
pauldunlop
1
Ses ne pas possible d'imprimer une seule fois. Et même si c'était le cas, réfléchis-y; Je donne 3 exemplaires du document (ou je n'en donne qu'un, mais quelqu'un en fait plus). Chaque document serait alors imprimable une fois. Le pdf ne contient pas d'informations sur le nombre de fois qu'il a été imprimé. Et autre chose; Si j'utilise CutePDF (ou similaire) et imprime le document initial au format PDF, je peux alors contourner toutes les restrictions, car le nouveau document ne contient pas les métadonnées initiales.
alex
1
Faites-moi confiance, choisissez un autre mode d’impression ne faisant pas appel aux PDF ou faites simplement en sorte que le client supprime la limite d’impression. Ce n'est pas techniquement possible. Il y a toujours moyen de contourner le problème, surtout s'il y a une faille telle que le fait d'être imprimable une fois.
alex
0

"Hmm", (comme dit Deep Thought), "Tricky"

Qu'en est-il de la distribution de l'accès à un site Web avec une simple exigence de connexion contenant le voucher? Imprimez le bon à partir de la page Web.

Configurez le site de sorte que l'utilisateur ne puisse se connecter qu'une seule fois.

Vous pourrez peut-être configurer le site de sorte que le bon n'apparaisse PAS sur la page Web - bien que je ne sache pas comment faire cela. Si vous y parvenez, vous empêchez l'utilisateur de télécharger et d'imprimer plusieurs copies.

En cas de problème lors de la connexion, fournissez un moyen légitime, mais pas trop facile, d’obtenir une autre connexion.

Bien sûr, vous pouvez toujours envoyer un voucher physique au destinataire.

Si vous êtes préoccupé par les photocopies, il existe des moyens d'éviter ce problème - recherchez un exemple d'ordonnance médicale utilisant du «papier sécurisé».

Kije
la source
N'importe quel type de papier suffisamment fin suffira ... par exemple, les ingénieurs en papier à copier rouge utilisés sont une bonne option pour cela.
Rook
La plupart des mécanismes anti-copie utilisent des motifs / raster haute résolution difficiles à voir qui montrent des interférences lors de la numérisation par une photocopieuse. Pour les coupons imprimés à la maison, je suppose qu'un tel motif pourrait produire des résultats inattendus, en raison de la qualité des imprimantes, qui pourraient (ou ne pourront pas?) Être en mesure d'imprimer correctement ces modèles. Ne serait pas trop bien si l'original imprimé avec le motif visible ... Et @ldigas: au lieu d'envoyer des feuilles de papier vides à l'adresse du domicile du client, j'imagine que l'on pourrait également envoyer le bon lui-même. Problème résolu. ;-)
Arjan
0

Je ne suis pas un technicien en informatique, mais cela vaut peut-être la peine de consulter le site Web «Globe and Mail» (Canada). Il s’agit d’un journal facturant le nombre de copies imprimées, de un à cent. Vous pourrez peut-être adapter ce qu'ils ont fait à votre propre problème. Je regarde ce site parce que je suis sur le point de lancer un site Web et que je veux protéger mon contenu. Bonne chance

Bruce Lynn
la source
1
à moins que leur solution de DRM soit à l'origine ouverte, cela ne sera probablement pas très utile ... et le DRM à source ouverte, est un peu improbable
Journeyman Geek