Można to zrobić przy pomocy Ghostscript plus pdftk, ale wymaga to co najmniej 2 różnych kroków.
AFAIK, nie można bezpośrednio kontrolować umieszczania znaczników pdftk
. Domyślnie umieszcza znaczek na środku strony, a jednocześnie wykonuje operację "skaluj-dopasuj".
Musisz najpierw poprawić pieczęć, aby umieścić ją na pustej stronie, najpierw w żądanym miejscu. Można to osiągnąć za pomocą Ghostscript w pierwszym kroku. Następnie, w drugim kroku, użyj pdftk do scalenia dwóch plików.
Użyjmy przykładu.
Po pierwsze: Utwórz "stamp-small.pdf". (. Trzeba je już, muszę jeden zademonstrować zasadę)
gs \
-o stamp-small.pdf \
-sDEVICE=pdfwrite \
-g3200x500 \
-c "/Helvetica-Bold findfont 36 scalefont setfont" \
-c "0 .8 0 0 setcmykcolor" \
-c "12 12 moveto" \
-c "(This is my stamp) show" \
-c "showpage"
Ten przykład był dla Linux lub Mac OS X. W systemie Windows byś go zmodyfikować tak:
gswin32c.exe^
-o stamp-small.pdf^
-sDEVICE=pdfwrite^
-g3200x500^
-c "/Helvetica-Bold findfont 36 scalefont setfont"^
-c "0 .8 0 0 setcmykcolor"^
-c "12 12 moveto"^
-c "(This is my stamp) show"^
-c "showpage"
(Ty może również umieścić wszystko w jednym wierszu, ale pomija znaki kontynuacji linii dla odpowiedniego systemu operacyjnego). To pierwsze polecenie przekazuje serię prostych instrukcji PostScript do linii poleceń Ghostscript i nakazuje utworzyć małą stronę PDF o wymiarach 320x50 pkt. To powinno symulować twój "mały" znaczek, do którego szukasz miejsca.
drugie: Tworzenie całostronicowych (w moim przypadku formatu A4), plik PDF, które mogą być stosowane w trzecim etapie jako prawdziwego znaczka:
gs \
-o A4-stamp.pdf \
-sDEVICE=pdfwrite \
-g5950x8420 \
-c "<</PageOffset [280 790]>> setpagedevice" \
-f stamp-small.pdf
W systemie Windows:
gswin32c.exe^
-o A4-stamp.pdf^
-sDEVICE=pdfwrite^
-g5950x8420^
-c "<</PageOffset [280 790]>> setpagedevice"^
-f stamp-small.pdf
polecenie to osiągnąć kilka rzeczy:
- zajęło początkowo stworzony „s tamp-small.pdf "jako wejście.
- Użyto płótna o wymiarach 595x842 pkt. (Czyli o rozmiarze strony ISO A4).
- Stosuje małe polecenie PostScript do przesunięcia zawartości wejściowej o 280 punktów w prawo i 790 punktów w górę (współrzędne PostScript i PDF zaczynają się od dolnego lewego rogu).
- Tworzy "A4-stamp.pdf" jako wynik.
Skutecznie, mój oryginalny niewielki ciąg znaczków znajduje się teraz w prawym górnym rogu strony A4.
trzecie: Teraz można zastosować tę nową „pieczęć” do oryginalnego pliku PDF za pomocą pdftk:
pdftk original.pdf stamp A4-stamp.pdf output stamped.pdf
lub stemplowania wszystkich stron wielostronicowego oryginału PDF:
pdftk original.pdf multistamp A4-stamp.pdf output stamped.pdf
Ten przykład powinien dać ci dość wyobrażenia o tym, jak opracować podobną procedurę dla twojego własnego logo.pdf
, co zrobiłem dla mojego stamp-small.pdf
. (Zrobiłem to w prawym górnym rogu, a ty w lewym górnym rogu.)
Dziękuję za odpowiedź. Ten problem został rozwiązany za pomocą skryptu PHP z użyciem FPDI. –
Nie wiem, dlaczego ta odpowiedź nie została otagowana - całkowicie rozwiązał mój problem polegający na niezawodnie umieszczaniu znaczków na stronie A4. Świetne wyjaśnienia! – galactica
Tak, świetnie odpowiedział, nie ma pojęcia, dlaczego OP nie miał przyzwoitości do zaakceptowania. –