Das Ausführen des folgenden Druckjobs bereitet eine Kette von reproduzierbaren Fehlern beim FreePDF_Multidoc (Vers. 1.4.27)
ID: 1 Printjob-Name: test Batchdatei: /f /s /a /AddIN test
Befehlsausführung unter cmd: C:ProgrammeFreePDF_multidocFreePDF_Multidoc.exe /j test
Folgende Ereigniskette tritt auf nach der Ausführung des Kommandos: 1) Aufforderung der Eingabe des Speicherortes/Dateinamens 2) PDF wird über FreePDF 4.02 im Speicherort erstellt; *.PS Datei aus C:PS gelöscht 3) FEHLERMELDUNG: Fenstertitel: Fehler in Zeile: 160 Fehlernr.:53(Datei nicht gefunden) in Prozedur PageCount von Modul mdlpdftk 4) FEHLERMELDUNG: Fenstertitel: Fehler beim Umbenennen der Datei oder des Ordners Datei kann nicht umbenannt werden: Die Quelldatei oder vom Quelldatenträger kann nicht gelesen werden 5) FEHLERMELDUNG: Fenstertitel: Fehler Verschieben oder Umbenennen der Datei:ProgrammeFreePDF_multidocWatermarktest.pdf ist fehlgeschlagen (=>Hinweis meinerseits: es gibt in dem FreePDF_multidoc-Verzeichnis kein Watermark-Verzeichnis! Von welcher Applikation wird das Verzeichnis erstellt?) [/img]
1. Das Verzeichnis Watermark wird erst beim ersten ausführen des Druckjobs mit dem AddIN automatisch erstellt.
2. Im Programmverzeichnis werden Schreib-Lese-Rechte benötigt.
3. Hast Du auch Wasserzeichen-PDF dem AddIn hinzugefügt und auch Seitenbereiche definiert. Hier noch einmal die Online-Demo: Wasserzeichen-AddIn
4. Ich brauche ein Screenshot vom Reiter 'AddIN' mit dem Code.
5. Stelle bitte auch sicher, dass das Programm PDFtk sich im Programmverzeichnis befindet.
6. Ich habe es eben noch einmal mit dem letzten Update ausprobiert, bei mir funktioniert alles einwandfrei.
Gruß Ahmed
FreePDF_Multidoc (PS2PDF mit vielen Optionen f. FreePDF) File2PDF (komplette Verzeichnisse auf einen Streich umwandeln) findest Du alles hier: http://amTools.de
Du kannst Wasserzeichen nur über einen Druckjob hinzufügen.
Möchtest Du zu einem bestehenden PDF-Dokument nachträglich ein Wasserzeichen hinzufügen, dann benötigst Du dafür mein Programm PDF_ReOrg.
Schau Dir das einfach einmal an.
Gruß Ahmed
FreePDF_Multidoc (PS2PDF mit vielen Optionen f. FreePDF) File2PDF (komplette Verzeichnisse auf einen Streich umwandeln) findest Du alles hier: http://amTools.de
Der Screenshot zeigt, dass eigentlich zwei Wasserzeichen eingebunden werden sollten. Doch es wird, bei n Word-Seiten nur noch die erste Word-Seite in ein PDF mit dem ersten Wasserzeichen umgewandelt.
Ganz klar ist es mir nicht, da die Wasserzeichen einzeln auch über mehrere Seiten erzeugt werden können. Was mache ich hier denn noch falsch?
also mit den Wasserzeichen verhält es sich wie folgt.
Die Wasserzeichendateien dürfen nur 1 Seite enthalten. Daher benötigt man auch 2 Wasserzeichen-Dateien für die Bereiche 1-1 und 2-n.
Die Wasserzeichendateien können in einem Verzeichnis, auch im Netz, gesammelt werden. Jede dieser Dateien werden beim Auswählen sofort in der INI gespeichert und erhalten eine eindeutige ID. In Deinem Fall die ID 1 und ID 2.
Bei der Generierung des AddIN-Codes wird nur auf die ID verwiesen und aus der INI wird dann der Dateiname ausgelesen. Grund für dieses Vorgehen ist, dass der Code so viel übersichtlicher und aus meiner Sicht auch besser lesbar ist.
Beispiel:
Code lt. Bild = 3;1;1-1-1|2-n-2
Bedeutung: 3 = Wasserzeichen-Befehl 1 = nach PDF-Erstellung 1-1 = Seitensequenz , 1 = ID Wasserzeichendatei 1 2-n = Seitensequenz , 2 = ID Wasserzeichendatei 2
Wird jetzt ein Dokument mit x-Seiten gedruckt, wird dieses erst in das Watermark-Verzeichnis kopiert und dort in die Seitenbereiche 1-1, 2-n aufgespalten. Diese erhalten dann das Wasserzeichen.
Zu allerletzt werden diese wieder zusammengefügt und in das Zielverzeichnis verschoben. Ich muss so viele Zwischenschritte machen, da PDFtk nicht im Netz arbeitet.
Ich kann in dem Bild nicht erkennen, ob es auch 2 unterschiedliche Wasserzeichen-Dateien handelt.
Gruß Ahmed
FreePDF_Multidoc (PS2PDF mit vielen Optionen f. FreePDF) File2PDF (komplette Verzeichnisse auf einen Streich umwandeln) findest Du alles hier: http://amTools.de
Also das sieht doch alles ganz gut aus. Ich würde zwar alles in einem Unterverzeichnis packen und nicht auf dem Hauptlaufwerk. Das sollte aber keine Rolle spielen. Auch Leerzeichen sind unerheblich. Habe ich eben noch einmal getestet (3 Wasserzeichen).
Also ich verstehe Dich richtig:
1. Du druckst ein Word-Dokument mit n-Seiten (mehr als eine) 2. Es wird nur für die erste Seite ein Wasserzeichen hinzugefügt. 3. 2-n werden nicht mit einem Wasserzeichen versehen 4. alle Seiten werden wieder zusammengefügt und richtig abgespeichert
Ist das so richtig?
Versuche es doch noch einmal mit einem Unterverzeichnis im Programmpfad und speichere dort die Wasserzeichendateien. Lösche alle Leerzeichen mit einem _-Zeichen.
Vielleicht hilft es.
Was sagt die Logbuch-Datei? Stelle bitte noch einmal das Ergebnis hier rein.
Gruß Ahmed
FreePDF_Multidoc (PS2PDF mit vielen Optionen f. FreePDF) File2PDF (komplette Verzeichnisse auf einen Streich umwandeln) findest Du alles hier: http://amTools.de
a) 1. ich drucke ein Word-Dokument mit n-Seiten (mehr als eine) 2. es soll für die erste Seite das Wasserzeichen das PDF Briefpapier.pdf genommen werden 3. für die Seiten 2-n soll für das Wasserzeichen das PDF NL Briefpapier S2.pdf genommen werden 4. am Ende wäre ein zusammengesetztes Dokument aus 1 + (2-n) Seiten schön
Das Ergebnis sieht leider etwas anders aus: b) 1. es entsteht ein Dokument mit einer, der ersten Seite des Word-Dokumentes 2. es wurde auf der ersten Seite auch das richtige Wasserzeichen Briefpapier.pdf abgebildet. 3. das Log-File zeigt folgendes an: Run: 05.05.2010 09:24:56 | Batchcode: /f /s /o /a /AddIN test Datei: D:DatenmkEigene DateiengatBriefpapier.pdf Status: Ausführung erfolgreich
Bei einem zweiten Versuch, bei dem ich die Leerzeichen mit einem Underline ersetzt habe, bekomme ich das gleiche Ergebnis.
Das Verschieben in den Programmpfad habe ich noch nicht vorgenommen, da ich vermute, dass dies zum gleichen Ergebnis führen wird.
Da du in deinem Beitrag vom 04.05.2010, 15:03 den Funktionsablauf beschrieben hast, in dem du erklärst, dass das Watermark-Verzeichnis zum zerlegen des PDFs genutzt wird, habe dieses Verzeichnis gegen Löschung gesperrt. Zusätzlich habe ich noch eine kleine txt-Datei hineingelegt, um sicherzustellen, dass der Löschaufruf eines anderen Programms zu keinem Erfolg führt - die Datei muss dann ja liegen bleiben.
Bei der Ausführung des Befehls: FreePDF_Multidoc.exe /j gatBriefpapier wird wieder die gatBriefpapier.pdf - Datei angelegt. Im Watermark-Verzeichnis hat sich aber nichts getan - es wurde nichts hineingelegt. Aber eine Fehlermeldung wird generiert, die die Zugriffverweigerung des Löschvorgangs der txt-Datei beschreibt. Nach mehrmaligem Bestätigen verschwindet die Meldung.
Fazit: c) 1. irgendwie wird zumindest die Datei nicht im Watermark Verzeichnis auseinander genommen. Dies habe ich mir auch noch einmal direkt mit der pdftk.exe angeschaut. Und mit Hilfe der Datei über die Split-Funktion das PDF zerteilt (pg_0001.pdf / pg_0002.pdf) - es funktioniert. Auch das Zusammensetzen (Watermark) und "Verkleben" ist ohne Probleme durchführbar. Ich bekomme also, wenn ich das selber händisch, Schritt für Schritt durchführe, das richtige Ergebnis. 2) das Löschen des Inhaltes vom Watermark-Verzeichnis will funktionieren. Ich hatte es nur durch andere Sicherheitsregeln verhindert
Vielleicht fällt dir ja noch eine Kleinigkeit ein, die hier weiterhelfen kann. Ich wollte eigentlich um ein eigenes Programm herumkommen, da du schon so viel Liebe in das Frontend gesteckt hast und es gebührend auch in unserer Firma zur Nutzung kommen sollte.
Tut mir Leid, da weiß ich im Augenblick auch nicht weiter.
Als einzige Lösung könnte ich Dir anbieten, dass Du mir die 3 Dateien, also Word und die beiden PDF-Dateien an meine Mailanschrift zusendest. Nur so kann ich auch hier ein Test richtig durchführen.
Bei mir funktioniert alles einwandfrei. Und mein Programm macht im Grunde ja auch nichts anderes, als dass was Du händisch machst.
-----------
Nachtrag:
Auf welchen Laufwerk befindet sich PDFtk und FreePDF_Multidoc?
Alle Programme müssen lokal sein.
Gruß Ahmed
FreePDF_Multidoc (PS2PDF mit vielen Optionen f. FreePDF) File2PDF (komplette Verzeichnisse auf einen Streich umwandeln) findest Du alles hier: http://amTools.de
Ich habe zum Schluss nochmals versucht, zwei neue PDFs als Watermark in mein Dokument einzubinden. Mit selbigem Erfolg. Diese habe ich noch zusätzlich in das Programmverzeichnis eingefügt, um auch hier ein Problem auszuschließen.
Interessant war nur noch folgender Punkt: 1. das Ereignis bei der Einschränkung beim Löschen hatte ich schon beschrieben. Dies wurde durch die im Verzeichnis schon befindliche txt-Datei verursacht. Ich habe die Einschränkung belassen aber die Datei vorher gelöscht. D. h. dein Programm konnte ein wenig weiter durchlaufen. Nun gab es neue Fehlermeldungen, die auch in deinem Log wie folgt dokumentiert werden.
Run: Fehler-Nr: 70 Fehler-Text: Zugriff verweigert FehlerZeile: 2350 Modul: Prozedur Main von Modul mdlMain
wobei eigentlich die Reihenfolge der Meldungen wie folgt aussieht: 1) Titel: Fehler in Zeile 150 Text: Fehlernr. 70 (Zugriff verweigert) in Prozedur Tipp_Speichern von Modul Funktionen 2) Titel: Fehler in Zeile 0 Text: Fehlernr. 0 () Prozedur Main von Modul mdlMain
=> Der Zusammenhang zwischen den Fehlermeldungen und dem Log-Eintrag ist mir nicht klar.
Fakt ist nur, dass dein Programm nicht zur Erstellung des GetPageCount.bat und abschließend zum PageCount.txt kommt.
Löse ich die Einschränkung des Verzeichnisses auf, entstehen beide Dateien. D. h. dein Programm kommt zum Erstellen des GetPageCount.bat mit folgendem Inhalt:
pdftk "C:ProgrammeFreePDF_MultidocWatermarkMicrosoft Word - Dokument1.pdf" dump_data output PageCount.txt
und dieser muss wohl eine Datei in dem Watermark-Verzeichnis finden, denn sonst dürfte das Ergebnis der Ausführung nicht folgendes anzeigen:
Trotzdem bekomme ich weiterhin das selbe Ergebnis. Irgendwas fehlt in dem Verzeichnis. Oder etwas stimmt nicht mit der Ordnerstruktur. Ich kann nur leider nicht herausfinden, was hier nicht in Ordnung ist.
Ich kann dir natürlich auch die beiden Watermarks zukommen lassen, habe aber wenig Hoffnung, dass dies zur Problemlösung beitragen wird. Es handelt sich hierbei auch nur um einseitige, fast leere PDFs ohne Grafik.
Zitat1) Titel: Fehler in Zeile 150 Text: Fehlernr. 70 (Zugriff verweigert) in Prozedur Tipp_Speichern von Modul Funktionen
passiert beim Speichern der Ziel-PDF. Hier war die PDF-Datei wohl noch geöffnet und konnte nicht gelöscht werden.
Die Fehlermeldung ist auch nicht korrekt. Ich habe das gleich einmal geändert. Mit Tipp_Speichern hat das nichts zu tun. Sorry.
Zur PageCount
Für die Erstellung von Wasserzeichen sind eine Kaskade von Befehlen notwendig. Dazu gehört auch, das Auslesen der Seitenzahlen. Hierfür erstelle ich eine Reihe von Batchdateien, die nach und nach abgearbeitet werden. Das ist zwar nicht die eleganteste Methode, aber mit allen anderen Aufrufarten hatte ich immer wieder Probleme. Der Zeitfaktor ist dabei aber nicht so problematisch.
Die Funktion GetPageCount erstellt mit PDFtk eine txt-Datei PageCount.txt. Hier enthalten sind diverse Infos. So z. B. die Seitenzahlen. Diese extrahiere ich um die Sequenz vernünftig aufzubauen.
Das Problem kann aber so ziemlich alles sein. Das ist schwer zu sagen.
Öffne doch einfach einmal das Watermark-Verzeichnis im Explorer und starte die Konvertierung. Dann kannst Du die einzelne Schritte ein wenig nachvollziehen. Nimm doch bitte für den Test einfach einmal nur immer die Wasserzeichen-Datei 1 (die funktioniert ja) für beide Sequenzen.
Also => 1-1-1 2-n-1
Das Ergebnis würde mich schon interessieren. Aber wie gesagt, ohne die Ausgangsdateien kann ich da auch nicht mehr viel helfen. Schick die mir doch bitte an meine Mail.
Gruß Ahmed
FreePDF_Multidoc (PS2PDF mit vielen Optionen f. FreePDF) File2PDF (komplette Verzeichnisse auf einen Streich umwandeln) findest Du alles hier: http://amTools.de