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

Printed on: April 25, 2024 at 00:04 o'clock

Member: ashnod
ashnod Nov 03, 2015 at 09:55:33 (UTC)
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 ;)
Member: xXEddiXx
xXEddiXx Nov 03, 2015 at 09:59:41 (UTC)
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.
Member: colinardo
colinardo Nov 03, 2015 updated at 10:30:21 (UTC)
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
Member: xXEddiXx
xXEddiXx Nov 03, 2015 at 10:32:02 (UTC)
Goto Top
Super, genau ds suche ich face-smile und wie bekomm ich das jetzt in mein Dokument? face-smile
Member: colinardo
colinardo Nov 03, 2015 updated at 10:35:11 (UTC)
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.
Member: ashnod
ashnod Nov 03, 2015 updated at 10:40:02 (UTC)
Goto Top
Hatt sich die Lösung ja schnell gefunden ;)
Member: ashnod
ashnod Nov 03, 2015 updated at 10:43:42 (UTC)
Goto Top
DIe verlinkte Datei gibt bei mir eine Malware-Warnung > BehavesLike.PDF.Exploit-DTR
Member: colinardo
colinardo Nov 03, 2015 updated at 11:03:21 (UTC)
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;
}
Member: ashnod
ashnod Nov 03, 2015 at 11:03:43 (UTC)
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.
Member: colinardo
colinardo Nov 03, 2015 updated at 11:18:05 (UTC)
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.
Member: ashnod
ashnod Nov 03, 2015 at 11:52:17 (UTC)
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
Member: xXEddiXx
xXEddiXx Nov 03, 2015 at 12:36:57 (UTC)
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 Nov 03, 2015 at 13:33:38 (UTC)
Goto Top
Member: colinardo
colinardo Nov 03, 2015 updated at 17:09:18 (UTC)
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
Member: colinardo
colinardo Dec 30, 2015 at 18:58:31 (UTC)
Goto Top
Wenns das dann war, den Beitrag bitte noch auf gelöst setzen. Merci.