Schränken Sie Druckkopien auf eine PDF-Datei ein

19402
pauldunlop

Wir haben einen sehr speziellen Anwendungsfall für eine von uns entwickelte Anwendung, bei der einem Benutzer ein PDF-Dokument angezeigt wird, das er ausdrucken kann. Wir müssen das PDF jedoch einschränken können, damit es nur einmal ausgedruckt werden kann. Weiß jemand, ob es eine Möglichkeit gibt, die Anzahl der Ausdrucke eines PDF-Dokuments einzuschränken?

Mir ist bekannt, dass die PDF-Spezifikation viele Sicherheitsfunktionen bietet, aber ich habe bisher noch keinen Hinweis auf etwas Ähnliches gefunden.

7
Torheit dlamblin vor 14 Jahren 6
Erzähl mir davon ;-) Ich habe mir die Möglichkeit angesehen, ein Java-Applet anstelle eines PDFs für das Drucken zu verwenden. Es scheint, dass es einige Optionen auf dieser Route gibt, die aber nicht einfach erscheinen. pauldunlop vor 14 Jahren 0
Am Ende werden wahrscheinlich weder Sie noch Ihr Kunde zufrieden sein, wie sich dies herausstellt. Könnte auch im Vorfeld sein. emgee vor 14 Jahren 8
Einverstanden. Sag ihm einfach, dass es nicht möglich ist. alex vor 14 Jahren 1
Sie sollten die Fragen und Antworten unter http://superuser.com/questions/14224/how-to-explain-drm-cannot-work lesen und verstehen. Chris W. Rea vor 14 Jahren 1
Vielen Dank für Ihre Hilfe. Ich weiß, dass es im Grunde eine unmögliche Situation ist. Es ist gut, Feedback und Ideen von allen zu bekommen. Vielen Dank! pauldunlop vor 14 Jahren 0
Um dem Sarg noch einen weiteren Nagel hinzuzufügen: Was ist mit dem Drucken auf einem Drucker wie dem Microsoft XPS Printer oder einem anderen PDF-Drucker - das gibt mir sowieso eine ungeschützte, digitale Kopie. Michael Stum vor 14 Jahren 0
Noch ein Punkt: Selbst wenn Sie es irgendwie schaffen, den Benutzer auf einen Ausdruck zu beschränken, was hindert ihn daran, nur eine Fotokopie zu erstellen? Eine Fotokopie eines Laserausdrucks entspricht praktisch dem Originalausdruck (es ist sogar mehr oder weniger dieselbe Drucktechnologie). sleske vor 14 Jahren 0
Und ich schieße gerade auf den Printscreen, und dein gesamtes Konzept geht zur Toilette. Fake Name vor 13 Jahren 0

12 Antworten auf die Frage

6
pelms

Adobe verwendet ihren Adobe Content Server zum Schutz von eBooks und PDFs zusammen mit Adobe Digital Editions (dem kostenlosen eBook und PDF-Reader) auf der Clientseite. Dies ermöglicht die Verteilung von PDF-Dateien mit flexibleren Sicherheitsoptionen als das normale Standalone-PDF. Beispielsweise können Dokumente zeitlich begrenzt sein oder nur das Drucken einer bestimmten Anzahl von Seiten zulassen.

Dies ist möglicherweise eine Vorschlaghammerlösung für Ihr Problem, da ich keine Ahnung habe, welche Preise Adobe für dieses Produkt hat oder ob es für eine kleine Anzahl von Dokumenten praktikabel ist. Es wird von Mitgliedern der British Library (bis vor kurzem sowieso) für elektronische Fernleihbestellungen verwendet, die nach 2 Wochen auslaufen und nur einmal gedruckt werden dürfen.

Sehr interessant, ich wusste nicht, dass es diese Lösung gibt. Ich muss das auf jeden Fall überprüfen. Vielen Dank! pauldunlop vor 14 Jahren 0
Ich bin mir sicher, dass die Endbenutzer sehr zufrieden sind, wenn ihrem Drucker während der einzigen Chance zum Drucken die Tinte ausgeht. RBerteig vor 14 Jahren 9
Bei der Arbeit habe ich einmal ein Buch gekauft, das dies erfordert. Ich habe es nie in den Digital Editions von Adobe * gezeigt *. Das liegt möglicherweise an der Website, die mir das Buch verkauft hat, da diese Website Digital Editions irgendwie über die digitalen Rechte informieren muss (vor dem Herunterladen des Buches muss Digital Editions installiert sein). Oder vielleicht waren sogar einige Einschränkungen am Computer des Unternehmens schuld. Trotzdem kaufe ich nichts mehr, für das zusätzliche Software erforderlich ist. Arjan vor 14 Jahren 0
5
Rook

Ich würde sagen, das ist nicht nur technisch unmöglich, sondern auch unpraktisch.

Was hält den Benutzer davon ab, das Dokument direkt nach dem Drucken zu kopieren?

Was versuchen Sie damit zu erreichen, abgesehen von einigen neuen Vorschlägen?

Unser Szenario bezieht sich auf das Drucken von Gutscheinen / Coupons. Grundsätzlich muss der Kunde sicherstellen, dass ein Benutzer nur eine Kopie des Gutscheins hat. Eine Validierung bei der Einlösung (im Geschäft) ist keine Option, daher muss es zum Zeitpunkt des Druckens des Gutscheins sein. Grundsätzlich ist das, was Sie über das Fotokopieren usw. gesagt haben, völlig richtig. Die Idee ist fehlerhaft, aber ich mache nur alle möglichen Möglichkeiten aus, bevor ich es sage :-) pauldunlop vor 14 Jahren 2
@Chops - na ja, konnten Sie nicht irgendeine Seriennummer darauf setzen? Um zwischen ihnen zu unterscheiden? Und zerstören Sie sie dann, wenn sie verwendet werden, nachdem Sie die Seriennummer überprüft haben, damit eine mit derselben Nummer nicht zweimal verwendet werden kann? Rook vor 14 Jahren 3
Wir könnten, und in der Tat, die derzeitige Implementierung der Kunden tut dies, aber da sie Gutscheine für mehrere Kunden bereitstellen, haben sie beim Händler keine Serienprüfung beim Kauf, so dass ein Benutzer theoretisch viele Gutscheine drucken kann einlösen, und der Einzelhändler würde es nicht sagen. pauldunlop vor 14 Jahren 0
4
del-boy

Selbst wenn Sie dies tun können, können Sie den Benutzer nicht daran hindern, einen Screenshot zu erstellen und dann ein Bild oder ähnliches zu drucken. Wenn der Benutzer Daten sehen kann, können Sie ihn nicht daran hindern, eine Kopie anzufertigen. Ich empfehle Ihnen "Versuchen Sie es nicht". Machen Sie eine auffällige Warnung, dass PDF nur einmal gedruckt werden soll, und lassen Sie es so, denn wenn der Benutzer es zweimal drucken möchte, wird er den Weg finden.

Ich wünschte, das wäre eine Option. Dies ist etwas für einen Kunden, wir stellen die Anforderungen nicht. Wir sind uns bewusst, dass das gesamte Konzept grundlegende Mängel aufweist, aber im Grunde möchten wir es dem durchschnittlichen Joe so schwer wie möglich machen, mehr als 1 auszudrucken. pauldunlop vor 14 Jahren 0
Wenn Sie ein Berater sind, spricht ein Teil Ihres Jobs dafür, dass Sie Ihre Kunden mit dummen Ideen ausreden. ;-) IMHO, wenn Sie am Ende eine Art von Einschränkung implementieren, die eine einfache Problemumgehung hat (z. B. ein Kopiergerät), wird dies die Endbenutzer nur bis zum möglichen Punkt des Produktabbruchs irritieren. Chris W. Rea vor 14 Jahren 1
Ich bin nicht der Berater für diesen Job, sondern der Entwickler, der bei einem ersten Meeting dabei ist. Haben unseren Vertriebsmitarbeiter bereits geraten, scheint dies eine verlorene Sache zu sein. Das Problem ist, ein Konkurrent hat eine Reihe von Lösungen entwickelt, über ActiveX-Steuerelemente und dedizierte Apps, die Sie installieren müssen, um all dies zu handhaben. Wir versuchen nur, eine elegantere Lösung zu finden. Es lohnt sich nicht, wenn Sie mich fragen, aber danke für Ihren Rat. pauldunlop vor 14 Jahren 0
3
CesarB

Wenn Sie einmal drucken können, können Sie unendlich oft drucken.

Stellen Sie sich einen Netzwerkdrucker vor: Die zu druckenden Rohdaten müssen an ein Remote-Embedded-Gerät gesendet werden, das Ihr Programm nicht einschränken könnte, selbst wenn es irgendwie den Besitz des gesamten Computers des Benutzers übernimmt (was bereits als äußerst anstößig angesehen würde) (siehe Sony-Rootkit-Skandal für die Art der Reaktion).

Wie können Sie feststellen, dass das Gerät, mit dem der Computer des Benutzers spricht, ein echter HP LaserJet ist und nicht etwas, das vorgibt, eines zu sein? anstatt es zu drucken? Da diese Daten ausreichen, um den Auftrag zu drucken, müssen Sie sie nur mehrmals auf einem echten Drucker abspielen, um mehrere Kopien zu erhalten. Sie können auch einen Sniffer (wie in @dlamblin erwähnt) verwenden und sich die Emulation des Druckers ersparen.

Man könnte sich das Verbot von Netzwerkdruckern vorstellen, aber nur Netzwerkdrucker im Büro zu haben (nicht einfache Drucker, die an einen Universal-PC angeschlossen sind, sondern große Drucker, die direkt an den Ethernet-Switch angeschlossen sind) sind nicht ungewöhnlich. Aus diesem Grund könnten einige Ihrer Nutzer (wie viele davon stark von der Zielgruppe abhängen würden) nicht drucken, was keine gute PR darstellt.

Und selbst USB ist nicht unempfindlich (obwohl dazu mehr technisches Wissen und möglicherweise spezielle Hardware erforderlich wäre). Es gibt USB-Sniffer. Und auch ohne sie könnte ein USB-Drucker "Gadget-Treiber" auf einem Embedded-Linux-Gerät ausreichen (beachten Sie jedoch, dass ich zum jetzigen Zeitpunkt keinen USB-Drucker-Gadget-Treiber für Linux kenne).

Dies ist alles vorausgesetzt, das Programm hat es irgendwie geschafft, die vollständige Kontrolle über den Computer des Benutzers zu erlangen. Wie die verschiedenen fehlgeschlagenen Versuche des Kopierschutzes zeigen, ist dies leichter gesagt als getan. Woher wissen Sie, dass der von Ihnen verwendete Druckertreiber nur eine ungewöhnliche Version des Druckertreibers für eine bekannte Druckermarke ist und keine gehackte Version, um den Stream auf der Festplatte zu speichern? Woher wissen Sie, dass sich im Druckstapel kein Treiber befindet, der alle USB-Transaktionen auf der Festplatte protokolliert? Und wie können Sie einen normalen Benutzer von virtuellen Maschinen von jemandem unterscheiden, der sie verwendet, um die Kommunikation mit den USB-Geräten abzufangen?


Alles in allem müssen Sie nicht so weit gehen. Die meisten Leute werden, selbst wenn sie über das technische Know-how verfügen, nicht versuchen, auch die schwächsten Versuche zu umgehen, Doppeldruck zu vermeiden. In der Tat wäre ich nicht überrascht, wenn die meisten Benutzer freiwillig nicht mehr als einmal drucken würden, wenn die Datei nur einmal gedruckt werden muss (dann würden jedoch mehr Fälle versehentlich doppelt gedruckt). Machen Sie also ein einfaches Programm, das einmal druckt und dann die Originaldaten löscht. Weisen Sie den Benutzer darauf hin, dass die Daten nach dem Drucken einmal gelöscht werden. Akzeptieren Sie, dass einige Benutzer mehr Male drucken, als Sie erlaubten, und dass einige Leute weniger als Sie zulassen (Stromstörungen, defekte Drucker, falsch konfigurierte Systeme oder der gefürchtete PC LOAD LETTER)können alle dazu führen, dass der Druck fehlschlägt). Seien Sie darauf vorbereitet.

Für Menschen, die mehrmals drucken als erlaubt, akzeptieren Sie einfach die Verluste. Auf die gleiche Weise muss ein Ladengeschäft akzeptieren, dass ein Bruchteil seines Lagerbestands versehentlich beschädigt wird oder auf irgendeine Weise verloren geht. Haben Sie einen Weg, die größten Täter zu finden und mit ihnen umzugehen (das Rechtssystem scheint eine beliebte Wahl zu sein).

Für Benutzer, die weniger Zeit als zulässig drucken, wäre etwa eine telefonische Unterstützung, bei der der Benutzer eine neue Kopie anfordern kann, eine Option (dies funktioniert bei Microsoft, oder?). Natürlich missbrauchen manche Leute dies, aber siehe den vorherigen Absatz.

2
RBerteig

Ich weiß, dass viele als PDF ausgelieferte Veranstaltungstickets sich nicht sehr darum kümmern. Stattdessen behaupten sie sehr stark, dass der Veranstaltungsort die Barcodes scannt und dass nur die erste Kopie eines bestimmten Tickets durch die Tür erlaubt wird. Sie neigen auch dazu, den Namen des Käufers auf dem Ticket zu drucken, so dass auch an der Tür ein Ausweis beantragt werden kann.

Grundsätzlich glaube ich nicht, dass es möglich ist, eine einmalige PDF-Datei zu erstellen. Und selbst wenn, wäre ich der Meinung, dass die Kundenbeziehungen durch Druckprobleme und schlechte Mundpropaganda mehr kosten würden.

TurboTax (ein US-amerikanisches Steuergesetz für US-amerikanische und US-amerikanische Bundesstaaten und US-Bundesstaaten) hat vor einigen Jahren etwas Ähnliches versucht. Sie entschieden, dass das Programm nur einmal installiert werden darf, wenn der Druck aktiviert ist, der durch einen Aktivierungscode von seinem Server erzwungen wird. Es stellt sich heraus, dass eine beträchtliche Anzahl ihrer Kunden die Gewohnheit hatte, Steuern zu Hause zu erheben, jedoch eine temporäre Kopie in ihrem Büro installiert, um die verfügbaren Bürodrucker zu nutzen. Es gab auch eine lautstarke Beschwerde von Betroffenen, dass die Software des Jahres später erneut installiert werden könnte, um die Rendite zu korrigieren, falls ein Audit ein Problem aufdeckte.

Die Beschwerden waren laut genug, dass keine nachfolgenden Versionen diese Einschränkungen hatten.

2
hlovdal

Die Idee, dass ein Softwareprogramm steuern kann, dass ein Benutzer nur einmal etwas druckt, ist eine fehlerhafte Idee. Denken Sie an einen Papierstau - nur weil eine Anwendung oder ein Betriebssystem erfolgreich einen Druckauftrag an den Drucker gesendet hat, kann dies nicht garantieren, dass der Benutzer eine Kopie erhält. Was soll der Benutzer dann tun?

Oder was ist mit dem Drucker, der so konfiguriert ist, dass er X Kopien jedes Blattes druckt? Was ist mit Scannern oder Fotokopierern?

Und schließlich, obwohl aus Sicht des Benutzers offensichtlich keine Vorteile für eine solche Anti-Funktion vorhanden sind, habe ich absolut keine Ahnung, was der Vorteil für Ihr Unternehmen sein sollte. Könnten Sie bitte erklären, was genau der Vorteil ist, wenn Sie so etwas tun?

1
dlamblin

Ich kann keine Adobe PDF-Funktion finden, die zählt, wie oft das Dokument gedruckt wird. Ich finde nur das Deaktivieren des Druckens. Dies ist sinnvoll, wenn folgende Aspekte in Betracht gezogen werden:

Wenn ich der PDF-Pirat wäre, für den Sie Angst haben, und Sie dieses schwer fassbare Print-Once-PDF erstellt haben, würde ich es nur einmal an meinen Drucker senden.

Worauf:

Auf einem Mac würde ich vor dem Klicken auf "Drucken" eine Vorschau des Ausdrucks wählen und die erzeugte PDF-Vorschau speichern.

Auf einem PC würde ich den Druckertreiber bitten, den Job auch in eine Datei zu spoolen.

Oder ich würde mich für einen Print-to-File-Treiber entscheiden, von dem viele kostenlos sind.

Wenn mir keine der oben genannten Optionen zur Verfügung steht, könnte ich meinen Druckertreiber für viele Modelle bitten, das PostScript zuerst auf die Festplatte zu spoolen, oder in extremen Fällen den Netzwerkverkehr aus dem Netzwerk zum Drucker auszulesen. Es wird im Allgemeinen nicht authentifiziert oder verschlüsselt. Das PostScript könnte bei Bedarf sogar in PDF zurückdestilliert werden.

Bearbeiten:
Selbst mit dem Java-Druck-Applet, das Pitney-Bowes zum Drucken von Porto verwendet, scheint die Vorschauoption deaktiviert zu sein. Ich habe den resultierenden Druckauftrag zum Nachdrucken gespeichert. Ich verwende diese Option jedoch nicht mehr, weil sie einfach nicht auf jedem Papierformat korrekt gedruckt werden kann. Der Barcode wird immer am Rand der Seite gedruckt, selbst wenn ich ihn direkt mit der Print-Once-Intention abspiele .

Ja, ich hatte auch über diese PDF-Datei nachgedacht, um Probleme zu lösen. Daher ist im Idealfall etwas erforderlich, das die eingebauten Betriebssystemdruckereien vollständig umgeht. Was unter OS X speziell ist, bin ich mir nicht sicher, ist möglich. Spaß Spaß! pauldunlop vor 14 Jahren 0
1
Arjan

Unser Szenario bezieht sich auf das Drucken von Gutscheinen / Coupons. Grundsätzlich muss der Kunde sicherstellen, dass ein Benutzer nur eine Kopie des Gutscheins hat. Eine Validierung bei der Einlösung (im Geschäft) ist keine Option, daher muss es zum Zeitpunkt des Druckens des Gutscheins sein.

Haben Sie in Erwägung gezogen, die Drucke zu personalisieren, eine ID (und möglicherweise eine Signatur) zu verwenden, wenn Sie den Druck in einem Geschäft verwenden, und es dem Kaufvertrag überlassen, dass nur eine einzige Kopie verwendet wird? Dann müssten Sie (zu einem späteren Zeitpunkt) eine Endverarbeitung durchführen, um zu registrieren, welche Gutscheine mehrmals verwendet wurden, und dem Kunden (drohen, dies in Rechnung zu stellen) um die Anzahl der Ausdrucke zu begrenzen.)

Beachten Sie, dass nicht jeder einen Qualitätsdrucker hat. Einige Scans oder Fotokopien sehen möglicherweise besser aus als einige Originalausdrucke.

Wie bereits bei @RBerteig erwähnt, verfügen einige Kunden möglicherweise gar nicht über einen Drucker oder haben möglicherweise keine Tinte mehr. Wie würden sie bei einem Nachbarn oder bei der Arbeit drucken, wenn für Ihre Lösung zusätzliche Software erforderlich ist, wie etwa das (meiner Meinung nach schreckliche) Adobe Digital Editions? Darauf aufbauend: Wie wird der elektronische Gutschein aussehen? Ich denke, dass Sie in der nächsten Version einige Online-Validierungen zum Einlösen implementieren werden. Für diejenigen, die Ihnen einen Barcode auf dem Smartphone und nicht einen Papiergutschein zeigen.

Wir wissen, das gesamte Konzept grundlegende Mängel hat, aber wir wollen im Grunde ist es so schwer wie möglich zu machen, für durchschnittlichen Joe mehr auszudrucken als 1.
[..] Das
Problem ist, ein Wettbewerber eine Reihe von Lösungen hervorgebracht hat, durch ActiveX Steuerelemente und dedizierte Apps, die Sie installieren müssen, um all dies zu bewältigen, versuchen wir nur, eine elegantere Lösung zu finden.

Ok, es ist klar, dass Sie letztendlich eine Lösung implementieren werden, die nicht sehr sicher ist. Ich denke, Sie haben eine schriftliche Erklärung für den Kunden über die Risiken. Ich schlage vor, dass Sie dem Kunden in dieser schriftlichen Erklärung auch zeigen, wie einfach die Lösung des Mitbewerbers zum Drucken mehrerer Kopien verwendet werden kann.

0
Chris_K

Wir haben so etwas mit Wasserzeichen gemacht. Die PDF-Datei hat immer ein Wasserzeichen, mit Ausnahme von bestimmten "Ereignissen", die dem Benutzer das Drucken ermöglichen (wie in unserer Situation die Zahlung). Dann rendern wir das PDF ohne Wasserzeichen erneut.

Nicht genau das, was Sie suchen, aber vielleicht könnte das Wasserzeichen hilfreich sein?

Interessante Idee, hatte so etwas wie Wasserzeichen nicht in Betracht gezogen. Das Problem wird jedoch sein, dass wir bei diesem ersten Druck ohne Wasserzeichen nicht mehr aufhören können, 10 Kopien usw. zu drucken. Daher habe ich mich gefragt, ob die PDF-Spezifikation so etwas enthielt. pauldunlop vor 14 Jahren 0
Nicht dass ich wüsste. Alex hat eine gute Verbindung, aber ich denke nicht, dass er die Anzahl der Kopien handhabt - das ist die Aufgabe des lokalen Druckertreibers, richtig? Chris_K vor 14 Jahren 0
Ja, ist es. Grundsätzlich müssen wir den lokalen Druckerdialog irgendwie umgehen und etwas anderes verwenden, bei dem wir steuern können, welche Optionen der Benutzer sehen kann. Ich habe den starken Verdacht, dass dies nicht möglich sein wird. pauldunlop vor 14 Jahren 0
Hmm, also rendern Sie die PDFs immer als gesperrt für den Druck. Dann können Sie nur gedruckt werden, indem Sie an eine andere Anwendung von Ihnen gesendet / weitergeleitet werden, die die Sperre umschalten kann, und Dateinamen und, wenn sie zuvor gedruckt wurden, den Überblick behalten. Yikes! Chris_K vor 14 Jahren 0
Klingt zu kompliziert, um an etwas außer einer bestimmten Version von Windows / Acrobat zu arbeiten. Ich hatte mir ein PDF zugesandt (gekauft), das vom Druck ausgeschlossen war. Ich wusste nicht, wann ich es gekauft habe, und wollte eine Codeseite ausdrucken, um an einem Schreibtisch vorbei zu gehen. Der Verkäufer ließ mich die Einschränkung nicht aufheben, aber ich habe im Internet zahlreiche Stellen gefunden, an denen ich die Sperre aufheben konnte. Wenn Sie dies implementieren, ist es wahrscheinlicher, dass der Kunde Geschäfte verliert, als in diesem Fall. Joshua Nurczyk vor 14 Jahren 0
0
alex

Versuchen Sie dieses Tutorial von Adobe:

Sie können verhindern, dass Benutzer ein PDF-Formular drucken. Sie können festlegen, ob das Formular gedruckt, mit minimaler Auflösung oder mit einer Ausgabe mit hoher Auflösung gedruckt werden kann.

1.Wählen Sie Datei> Formulareigenschaften.

2.Klicken Sie auf die Registerkarte PDF-Sicherheit.

3. Wählen Sie im Bereich Berechtigungen die Option Kennwort verwenden, um den Druck und die Bearbeitung des Dokuments und seiner Sicherheitseinstellungen einzuschränken.

4. Wählen Sie in der Liste Drucken erlaubt eine der folgenden Optionen aus:

•Keiner

• Niedrige Auflösung (150 dpi)

•Hohe Auflösung

Nützlicher Link, erlaubt mir aber nicht, die Anzahl der Druckexemplare auf eins zu beschränken, soweit ich das beurteilen kann? pauldunlop vor 14 Jahren 0
Es ist nicht möglich, nur einmal zu drucken. Und selbst wenn es wäre, denke darüber nach; Ich gebe 3 Exemplare des Dokuments weg (oder ich gebe nur eine, aber dann macht jemand mehr). Jedes Dokument kann dann einmal gedruckt werden. Das PDF enthält keine Informationen darüber, wie oft es gedruckt wurde. Und außerdem; Wenn ich CutePDF (oder ähnliches) verwende und das ursprüngliche Dokument als PDF drucke, kann ich alle Einschränkungen umgehen, da das neue Dokument keine ursprünglichen Metadaten enthält. alex vor 14 Jahren 1
Vertrauen Sie mir, entweder wählen Sie eine andere Druckmethode, bei der es sich nicht um PDF-Dateien handelt, oder Sie lassen den Kunden das Drucklimit einfach fallen. Es ist technisch nicht möglich. Es gibt immer einen Umweg, besonders wenn es eine Lücke gibt, zum Beispiel einmal druckbar zu sein. alex vor 14 Jahren 1