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.
Réponses:
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.
la source
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?
la source
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.
la source
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.
la source
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.
la source
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?
la source
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. .
la source
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.
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.
la source
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?
la source
Essayer ce tutoriel d'Adobe:
la source
"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é».
la source
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
la source