xxeddixx
Goto Top

Fortlaufende Nummer für Textfeld im PDF Dokument

Hallo,

ist es möglich in einem PDF-Dokument ein Textfeld einzufügen welches bei jedem öffnen oder optimalerweise nach jedem speichern und dann wieder öffnen eine fortlaufende Nummer in ein Textfeld schreibt? Also im prinzip ein Textfeld welches "Projektnummer" heisst, soll nach jedem ausfüllen eine neue (fortlaufende) Projektnummer automatisch generieren.

Ist sowas möglich? Wenn "ja" wie?

Danke im vorraus!

Content-Key: 287367

Url: https://administrator.de/contentid/287367

Ausgedruckt am: 28.03.2024 um 21:03 Uhr

Mitglied: ashnod
ashnod 03.11.2015 um 10:55:33 Uhr
Goto Top
Ahoi ...

Wird immer die selbe PDF-Datei genutzt von einem Einzelnen, oder von mehreren auf einer Netzfeigabe.

Das hochzählen ist nicht der problematische Teil, solange bestimmte Bedingungen eingehalten werden.

Wenn der Zugriff darauf wahlfrei sein soll muss man aber tiefer einsteigen.

Nicht jede Lösung funktioniert auch in allen PDF-Readern, das sollte auch vorher klar sein.

Einfaches hochzählen 1,2,3,4 oder wie soll die Projektnummer gestaltet sein ?

Man kann eine eindeutige Projektnummer aus Datum und Uhrzeit/Sekunden generien.

Mehr Details um deine Frage zu beantworten sind notwendig.

Das wie !? Ein wenig Javascript macht es möglich ;)
Mitglied: xXEddiXx
xXEddiXx 03.11.2015 um 10:59:41 Uhr
Goto Top
Also es soll von mehreren genutzt werden (immer das selbe Dokument), funktionieren muss es nur mit Adobe Acrobat und Acrobat Reader. Die Projektnummer soll 0000001, 0000002...usw. aussehen.
Mitglied: colinardo
colinardo 03.11.2015 aktualisiert um 11:30:21 Uhr
Goto Top
Hallo zusammen,
Also es soll von mehreren genutzt werden (immer das selbe Dokument), funktionieren muss es nur mit Adobe Acrobat und Acrobat Reader. Die Projektnummer soll 0000001, 0000002...usw. aussehen.
Mit einem document-Level JavaScript im Dokument kein Problem:
Das wie !? Ein wenig Javascript macht es möglich ;)
Hier ein Beispiel-Dokument zum Download
lfdnr_287367.pdf

JavaScripts müssen natürlich erlaubt sein ...

Grüße Uwe
Mitglied: xXEddiXx
xXEddiXx 03.11.2015 um 11:32:02 Uhr
Goto Top
Super, genau ds suche ich face-smile und wie bekomm ich das jetzt in mein Dokument? face-smile
Mitglied: colinardo
colinardo 03.11.2015 aktualisiert um 11:35:11 Uhr
Goto Top
Zitat von @xXEddiXx:

Super, genau ds suche ich face-smile und wie bekomm ich das jetzt in mein Dokument? face-smile
Das JavaScript findest du wenn du in Acrobat folgendermaßen navigierst:
Werkzeuge > Formulare > "Bearbeiten"
dann Andere Aufgaben > JavaScripts > Dokument-JavaScripts

Feldname ist natürlich an dein erstelltes readonly-Feld anzupassen.
Mitglied: ashnod
ashnod 03.11.2015 aktualisiert um 11:40:02 Uhr
Goto Top
Hatt sich die Lösung ja schnell gefunden ;)
Mitglied: ashnod
ashnod 03.11.2015 aktualisiert um 11:43:42 Uhr
Goto Top
DIe verlinkte Datei gibt bei mir eine Malware-Warnung > BehavesLike.PDF.Exploit-DTR
Mitglied: colinardo
colinardo 03.11.2015 aktualisiert um 12:03:21 Uhr
Goto Top
DIe verlinnkte Datei gibt bei mir eine Malware-Warnung > BehavesLike.PDF.Exploit-DTR
Das ist normal wenn ein PDF im OpenEvent direkt ausgeführtes JavaScript enthält ! False Positives ...
https://www.virustotal.com/de/url/fcfe10164660a494a4d258a9af4c5e8e1613d5 ...

Folgendes Skript wird beim Starten des Dokuments ausgeführt:

NewProjectNum();

function NewProjectNum()
{
    var fieldname = "lfdnr";  
    var num = this.getField(fieldname).value;
    var newnum = "0000000" + (parseFloat(num) + 1);  
    newnum = newnum.substring(newnum.length - 8);
    this.getField(fieldname).value = newnum;
}
Mitglied: ashnod
ashnod 03.11.2015 um 12:03:43 Uhr
Goto Top
Danke ..


Ich kann jetzt grade durch das blocken der Datei das Gesamtwerk nicht einsehen, aber die Funktion zählt doch lediglich diese Datei hoch und umgeht nicht das Poblem das ausgefüllte Varianten gespeichert und weiterverwendet werden, womit die Nummerierung, dann nicht passen würde und es wird bei jedem öffnen hochgezählt !? Andere Nutzer können die Datei kopieren und an anderer Stelle öffnen etc.

Sollte das so sein stell ich mir das für ein Projekt schlecht vor, wenn gespeicherte Projektbeschreibungen verändert werden und wieder hochgezählt wird.

Aber das geht über das vom TO geforderte auch hinaus.
Mitglied: colinardo
colinardo 03.11.2015 aktualisiert um 12:18:05 Uhr
Goto Top
Aber das geht über das vom TO geforderte auch hinaus.
Schon klar, das muss er natürlich an seinen Workflow anpassen, ich würde sowas selbstredend mit der Anbindung einer DB machen, und erst recht kein Acrobat JavaScript dafür verwenden, da Clientabhängig, sondern eine vernünftige Anwendung schreiben die ein passendes PDF generiert.

Vermutlich ist er einfach noch Anfänger in solchen Sachen ohne vorher genau über die Stolperfallen nachgedacht zu haben face-wink

Das PDF erfüllt nur die Anforderung aus der Ursprungsfrage, nicht mehr nicht weniger.
Mitglied: ashnod
ashnod 03.11.2015 um 12:52:17 Uhr
Goto Top
Zitat von @colinardo:

Schon klar, das muss er natürlich an seinen Workflow anpassen, ich würde sowas selbstredend mit der Anbindung einer DB machen, und erst recht kein Acrobat JavaScript dafür verwenden, da Clientabhängig, sondern eine vernünftige Anwendung schreiben die ein passendes PDF generiert.


Das ist die perfekte Lösung, setzt aber natürlich deutlich mehr voraus (Angefangen bei der DB-Anbindung) und natürlich dann gleich die Überlegung nicht gleich das gesamte Projektmanagement in der Datenbank zu pflegen.

Wie du aber richtig sagst muss es hauptsächlich auf den Workflow angepasst werden, dann passt es auch mit der PDF. ;)

LG
Mitglied: xXEddiXx
xXEddiXx 03.11.2015 um 13:36:57 Uhr
Goto Top
Ich habe es jetz so gemacht, das ich dein Script durch eine Schaltfläche auslöse, funktioniert Super! Jetzt noch eine Frage...es Zählt ja dann immer eins hoch, kann ich irgendwie erzwingen das der Wert in dem Textfeld dann bei schließen der Datein automatisch gespeichert wird? Also wenn ich es öffne, den Button betätigen, Wert springt von 00000001 auf 0000002...wenn ich es dann schließe soll der Wert 0000002 da stehen ohne diese "Speicherabfrage".

Ist das umsetzbar?
Mitglied: 114757
114757 03.11.2015 um 14:33:38 Uhr
Goto Top
Mitglied: colinardo
colinardo 03.11.2015 aktualisiert um 18:09:18 Uhr
Goto Top
Zitat von @xXEddiXx:
kann ich irgendwie erzwingen das der Wert in dem Textfeld dann bei schließen der Datein automatisch gespeichert wird? Also wenn ich es öffne, den Button betätigen, Wert springt von 00000001 auf 0000002...wenn ich es dann schließe soll der Wert 0000002 da stehen ohne diese "Speicherabfrage".

Ist das umsetzbar?
Das programmatische Speichern geht aus Sicherheitsgründen nicht. Das geht nur wenn man das Dokument von extern z.B. von einem anderen vertrauenswürdigen PDF aus aufruft, und dann das Dokument mit
doc.disclosed = true;
als vertrauenswürdig markierst. Nur dann funktioniert das, denn ohne erhältst du im JavaScript-Debugger sonst folgende Fehlermeldung:
NotAllowedError: Sicherheitseinstellungen verhindern den Zugriff auf diese Eigenschaft oder Methode.
Doc.saveAs
Etwas ähnliches mit genau diesem Problem hatte ich hier schon mal erläutert:
PDF Formulardaten in anderes Formular übertragen

Grüße Uwe
Mitglied: colinardo
colinardo 30.12.2015 um 19:58:31 Uhr
Goto Top
Wenns das dann war, den Beitrag bitte noch auf gelöst setzen. Merci.