Moin Rainer,
- man kann mit JavaScript Formularfelder auf 'nur lesen' ('read only') setzen
- dementsprechend könntest Du ein JavaScript ins Dokument einbauen, dass alle Felder auf 'nur lesen' setzt
- dieses JavaScript könnte z.B. durch eine Schaltfläche "Eingabe abschließen" (oder wie auch immer Du das dann nennen würdest) aufgerufen werden; evtl. kann man diese Schaltfläche im gleichen Atemzug verbergen ('hide')
- falls der berechtigte Nutzer (also der Techniker) doch noch mal 'ran muss', könnte, z.B. durch Klicken auf die gleiche Schaltfläche, ein JavaScript aufgerufen werden, dass die betr. Felder wieder editierbar macht; damit das wirklich nur der Techniker kann, kann man einen Passwortdialog vorschalten (ein einfacher Texteingabedialog, dessen Eingabe dann geprüft wird, ob es sich um das richtige Passwort handelt)
Wichtig zu wissen:
- geschützte PDFs, die ein Kunde ohne Passwort öffnen kann, kann man im Prinzip immer in jeder Hinsicht 'knacken'
- das o.g. Passwort z.B. wäre letztlich im Klartext im PDF auffindbar (man kann natürlich mit Verschleierungstechniken ('obfuscation') das Herausfinden dieses Passworts mühsamer machen.
Ein anderer Weg (dann kann aber auch der Techniker aber nix mehr ändern, und er müsste mit dem Eingeben von Daten von vorne beginnen), ist das Reinrechnen der Formularfelder in das PDF. Das kann man in Acrobat sogar ebenfalls mit JavaScript machen (schau Dir mal die Funktion 'flattenPages()' an). Oder Du nimmst Acrobat Preflight (oder callas pdfToolbox) und rufst die entsprechende Korrektur auf. Oder Du speicherst Dein PDF als 'optimiertes PDF' und in den Einstellungen wählst Du unter 'Discard Objetcs' → 'Flatten form fields' (sorry, weiss grad nicht, wie das ins Deutsche übersetzt wurde).
Wenn Du diesen Weg wählst, sind die Inhalte der Formularfelder ganz normaler Seiteninhalt geworden, und die Felder als solche gibt es nicht mehr.
Ein weiterer Weg wäre, das PDF einfach in PDF zu drucken und das entstandene PDF dann wieder mit einem Passwort gegen Änderungen etc. zu schützen.
Olaf
als Antwort auf: [#580224]