andreasbartl
Goto Top

PDF automatisch mit fortlaufender Nummer versehen (Wasserzeichen)

Hallo,

ich nutze folgendes Verfahren zur Archivierung von Schriftstücken.

1) jedes zu archivierende Dokument bekommt mittels Paginierstempel eine fortlaufende Nummer
2) Dokument wird gescannt
3) DMS archiviert soweit wie möglich mit Hilfe von OCR, Verschlagwortung etc. Dabei wird auch die aufgestempelte Nummer erfasst.
4) Original wird nach Reihenfolge der Nummer des Paginierstempelaufdrucks abgelegt (Zukünftige Recherche erfolgt also anhand des im im DMS hinterlegten Paginierstempelaufdrucks, der ja fortlaufend ist.

Das funktioniert gut, solange man "echtes" Papier hat und den Paginierstempel vor dem Scannen draufdrücken kann. Nun kommt aber auch jede Menge elektronisch, per Email oder Download - aber fast immer als PDF.

Ich möchte nun folgendes bewerkstelligen:

1) neues Dokument wird in einen Ordner geschoben. Immer, wenn dort ein neues Dokument auftaucht läuft ein Script (oder halt zyklisch 1x pro ??? - ist erstmal egal)
2) Das Script soll das Dokument mit einem Wasserzeichen versehen. Soweit so gut - das ist kein Hexenwerk. Das Wasserzeichen soll aber genau wie der Paginierstempel dynamisch sein und hochzählen, so dass jedes Dokument eine eindeutige Kennung nach dem Muster "DYYxxxx" bekommt, wobei D statisch ist, yy das Jahr, xxxx die hochzählende Nummer.

Hat da jemand eine Idee? Ich hänge im Moment eigentlich an der Frage, wie ich die Wasserzeichen-Datei regelmäßig neu erzeuge und dabei hochzähle. Den Rest kriege ich wahrscheinlich irgendwie hin. Die Wasserzeichen-Datei soll einfach nur oben rechts (A4) die Kennung haben. Dann will ich einfach per pdftk das Wasserzeichen in die Original-PDF-mergen und die fertige Datei ablegen. Das DMS zieht sich die Datei dann automatisch aus dem Ablageordner.

Danke schon mal vorab.

Andreas

Content-Key: 588528

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

Printed on: April 19, 2024 at 20:04 o'clock

Member: Lochkartenstanzer
Lochkartenstanzer Jul 17, 2020 updated at 07:17:11 (UTC)
Goto Top
Moin,

So als Startpunkt:
seq 1 1000000 | xargs -l1 -I XXXX echo "'echo XXXX | pandoc -o testXXXX.pdf'" | xargs -t -l1 sh -c

Erzeugt pdf-dateien mit jeweils der entsprechenden Zahl als Inhalt.

pandoc konvertiert Markup-Formate (PDF, HTML XML, (La)TeX, etc.)

lks
Mitglied: 144705
144705 Jul 17, 2020 at 07:21:26 (UTC)
Goto Top
Member: StefanKittel
StefanKittel Jul 17, 2020 updated at 08:29:19 (UTC)
Goto Top
Hallo,
ich verwende dafür gerade TCPDF in PHP und pdftk.
Stefan

PS: Warum kommen solche Threads eigentlich immer erst wenn man fertig ist?
pandoc ist besser als tcpdf
Member: andreasbartl
andreasbartl Jul 17, 2020 at 09:12:47 (UTC)
Goto Top
Danke für den Tipp mit Pandoc. Damit werde ich mich mal genauer befassen. Erster Test sieht gut aus. Allerdings steht im Dokument immer unten mittig eine Seitennummer und die Position der Dokumentennummer muss ich noch irgendwie nach oben rechts bekommen und bei kurzen Nummern mit Nullen auffüllen, damit es passt. Ich werde mal experimentieren.

Andreas
Member: andreasbartl
andreasbartl Jul 17, 2020 at 09:13:31 (UTC)
Goto Top
Hatte ich schon gesehen. Trotzdem danke.
Die Lösung setzt aber auf Windows/powershell auf, ich möchte es unter Linux haben.

Andreas
Member: Lochkartenstanzer
Lochkartenstanzer Jul 17, 2020 at 09:26:17 (UTC)
Goto Top
Zitat von @andreasbartl:

Danke für den Tipp mit Pandoc.

Gern geschehen.

Erster Test sieht gut aus. Allerdings steht im Dokument immer unten mittig eine Seitennummer und die Position der Dokumentennummer muss ich noch irgendwie nach oben rechts bekommen und bei kurzen Nummern mit Nullen auffüllen, damit es passt.

Das sollte eigentlich mit ein wenig skripting schnell erledigt sein. face-smile

lks
Member: StefanKittel
StefanKittel Jul 17, 2020 updated at 09:28:19 (UTC)
Goto Top
Hallo,

dann ein Skript mit TCPDF in PHP.
Das läuft auch unter Linux.

require_once('tcpdf/tcpdf_include.php');  
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);  
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);
$pdf->SetFont('dejavusans', '', 14, '', true);  
$pdf->AddPage();
$html = "<p>Beleg 2020-1234567890</p>";  
$pdf->writeHTMLCell(65, 0, 140, 5, $html, 1, 1, 0, true, 'C', true);  
$pdf->Output('example_001.pdf', 'F');  
Member: monstermania
monstermania Jul 17, 2020 at 09:31:07 (UTC)
Goto Top
Zitat von @andreasbartl:
ich nutze folgendes Verfahren zur Archivierung von Schriftstücken.

1) jedes zu archivierende Dokument bekommt mittels Paginierstempel eine fortlaufende Nummer
Ich würde den Paginierstempel gegen einen (fortlaufenden) Barcodeaufkleber ersetzten.
1. Die Fehlerquelle beim auslesen des Barcodes geht gegen Null
2. Kannst Du den Barcodeaufkleber gleichzeitig als Dokumententrenner nutzen.
Member: andreasbartl
andreasbartl Jul 17, 2020 at 12:44:20 (UTC)
Goto Top
Erster Test sieht gut aus. Allerdings steht im Dokument immer unten mittig eine Seitennummer und die Position der Dokumentennummer muss ich noch irgendwie nach oben rechts bekommen und bei kurzen Nummern mit Nullen auffüllen, damit es passt.

Das sollte eigentlich mit ein wenig skripting schnell erledigt sein. face-smile

lks

jepp, bin auf dem besten Wege. Das Nummernformat passt jetzt schon, ist nur noch die Position geradezurücken.