Ist es möglich, in Ghostscript Wasserzeichen hinzufügen, um jede Seite in der PDF
Ich konvertieren PDF -> viele JPEG und viele JPEG -> viele PDF - Verwendung ghostscript
. Ich muss hinzufügen, Wasserzeichen, text auf jeder konvertiert JPEG-Format (PDF -) Seite. Ist es möglich nur mithilfe von Ghostscript und PostScript?
Die einzige Möglichkeit die ich gefunden habe:
gswin32c -q -sDEVICE=pdfwrite -dBATCH -dNOPAUSE -sOutputFile=output.pdf-Wasserzeichen.ps-input.pdf
Aber das wird sich legen watermark.ps
Wasserzeichen auf die erste eigene Seite in output.pdf
.
Kann ich Sie auf die Ausgabe von PDF-Seiten direkt?
Kann ich Sie auf die Ausgabe JPEG-Seiten direkt?
<<
/BeginPage
{ gsave
/Helvetica_Bold 120 selectfont
.85 setgray 130 70 moveto 50 rotate (Sample) show
grestore
} bind
>> setpagedevice
Wenn ich /EndPage
statt /BeginPage
- es sagt setpagedevice
ist nicht anwendbar auf...
Wie ein remake dieses Skript für /EndPage
?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bisschen zu groß für einen Kommentar, so habe ich eine neue Antwort. Die EndPage-Verfahren (siehe Seite 441 PostScript Language Reference Manual) nimmt zwei weitere Parameter auf den stack, die eine Anzahl von Seiten emittiert, so weit, und eine Begründung.
Können Sie die Anzahl der Seiten zu tun, interessante Dinge wie beidseitiges drucken, oder nur die Markierung auch Seiten oder was auch immer, aber ich nehme an, in diesem Fall Sie das nicht wollen, so dass Sie nur 'pop' es aus dem Stapel.
Den Grund-code, der Ihnen sagt, warum die Seite wird abgegeben, wieder Sie wahrscheinlich don ' T care, so dass Sie einfach den Wert.
Schließlich die EndPage muss einen booleschen Wert zurückgeben, um dem interpreter zu sagen, ob oder nicht zu übermitteln, von der Seite (dies können Sie tun, andere interessante Dinge, wie nur drucken die ersten 10 Seiten und so weiter).
So müssen Sie zunächst entfernen Sie die beiden Werte, führen Sie Ihren code und geben einen booleschen Wert zurück. Ziemlich trivial:
Error: /typecheck in --.endpage--
Operand stack: --nostringval-- 2 2 2
if
stattlt
. Es funktioniert. Super!!!Akzeptierte Antwort wurde das einfügen von Seiten für mich. Die Seiten waren leer, abgesehen von den Wasserzeichen. Wenn du dieses versuchen die 2eq bisschen hier
Fand ich die folgende Website, wies mich in die richtige Richtung
http://habjan.blogspot.com/2013/10/how-to-programmatically-add-watermark.html
Hier ist die Aufruf-syntax, wo Sie die Datei gespeichert ist, als Wasserzeichen.ps und gswin32c verweist auf die ghostscript exe
/EndPage
mit/BeginPage
erhalten ein WasserzeichenIch weiß nicht, was du meinst mit "direkt". Seiner möglich, da Sie gefunden haben, haben einen PostScript-interpreter für viele Arten von Dingen auf einer pro-Seite-basis. PostScript ist eine Programmiersprache, nachdem alle.
Ich würde vorschlagen, dass der /BeginPage und/oder /EndPage gibt die Verfahren in die Seite Gerät Wörterbuch wäre der Ort, um zu starten. Diese erlauben die Ausführung beliebigen PostScript-am Anfang oder Ende jeder Seite.
Wenn Sie definieren ein /BeginPage Prozedur dann ausgeführt wird vor jegliche Markierung Operationen aus dem input-Programm, wenn Sie bestimmen eine /EndPage gibt, dann wird es ausgeführt nach die Markierung Operationen aus dem input-Programm (auf einer Seite für Seite basis - (.
Dies ermöglicht Ihnen, Ihre eigenen Marken liegen, "unter" oder "über" die Marken aus dem Programm.