← Powrót do listy dostępnych hook'ów Info |
---|
Jeśli masz problem ze zrozumieniem jak działają hook'i, sprawdź opis: Mechanizm hook'ów |
Panel |
---|
title | Podstawowe informacje |
---|
| Dostępny od: 1.0.0 |
Panel |
---|
| Hook pełni funkcję umieszczania znaku wodnego na dokumencie w czasie jego wyświetlania. Jest on zaimplementowany na podstawie definicji hook'a systemowego ReadFileHookAdapter, który umożliwia zmianę strumienia binarnego wyświetlanego dokumentu z archiwum lub w podglądzie w procesie. Konfiguracja hook'a wstawiającego znak wodny jest określana w formacie JSON pod postacią listy i zarządzana jest przez wtyczkę PCM (Plugin Configuration Manager). Znak wodny jest umieszczany na każdej stronie dokumentu i akceptuje tylko format PDF. |
Panel |
---|
title | Parametry konfiguracyjne |
---|
| Nazwa parametru w konfiguracji JSON | Od wersji | Opis | Typ parametru | Uwagi i ograniczenia |
---|
documentClassId* | 1.0.0 | Identyfikator klasy dokumentów wskazuje dla których dokumentów ma być uruchamiany mechanizm wstawiania znaku wodnego. | Całkowity | | type* (watermark)
| 1.0.0 | Określa typ znaku wodnego.
| Tekstowy | Wartość | Znaczenie |
---|
BARCODE | koduje wartość parametru text do postaci kodu kreskowego o określonym formacie zdefiniowanym w parametrze format. Znak wodny umieszczany na dokumencie jest kodem kreskowym. | TEXT | Wartość parametru text jest nanoszona na dokument jako znak wodny w formie jawnej, niezakodowanej. |
| text* (watermark) | 1.0.0 | Przyjmuje wartość tekstową, która jest wykorzystywana do utworzenia znaku wodnego. W celu skorzystania z wartości indeksów dokumentu należy umieścić identyfikator indeksu w nawiasach klamrowych {}. Istnieje możliwość wykorzystania więcej niż jednej wartości indeksu w parametrze. Każdy kolejny indeks musi być opatrzony nawiasami klamrowymi. Przykład. "Numer sprawy: {8}, Data rejestracji: {9}" Tekst znaku wodnego -> Numer sprawy: 433589, Data rejestracji: 13-02-2021 | Tekstowy | Warning |
---|
Wszystkie wpisane identyfikatory indeksów w ciągu tekstowym muszą istnieć w klasie dokumentów podanej w parametrze documentClassId. Jeśli przeglądany dokument nie zawiera wartości indeksu (jest pusty), którego identyfikator został podany w tym parametrze w nawiasach klamrowych, to identyfikator zostanie zastąpiony pustym łańcuchem znaków "". |
| alignment* (watermark) | 1.0.0 | Określa względem którego z czterech rogów strony dokumentu obliczona zostanie pozycja znaku wodnego na podstawie wartości parametrów positionX% oraz positionY%. | Tekstowy | Należy zwrócić uwagę na odpowiednie wartości parametrów positionX% oraz positionY%, ponieważ w zależności od wartości parametru alignment, anchor oraz rozmiarów znaku wodnego, znak wodny może wykraczać poza stronę dokumentu, czyli być częściowo lub wcale niewidoczny. Wartość | Znaczenie |
---|
TOP_LEFT | Pozycja znaku wodnego względem górnego lewego rogu. 
| TOP_RIGHT | Pozycja znaku wodnego względem górnego prawego rogu. 
| BOTTOM_LEFT | Pozycja znaku wodnego względem dolnego lewego rogu. 
| BOTTOM_RIGHT | Pozycja znaku wodnego względem dolnego prawego rogu. 
|
| anchor* (watermark) | 1.0.0 | Określa pozycję znaku wodnego względem odpowiedniego rogu znaku wodnego. | Tekstowy | Wartość | Znaczenie |
---|
BOTTOM_LEFT | Pozycja znaku wodnego względem lewego dolnego rogu znaku wodnego. 
|
| positionX%* (watermark) | 1.0.0 | Wskazuje pozycję procentową X (w poziomie) znaku wodnego względem wymiarów strony dokumentu. Pozycja ustawiana jest na podstawie wybranego rogu strony w parametrze alignment. | Całkowity | Wartość z przedziału 0 - 100. | positionY%* (watermark) | 1.0.0 | Wskazuje pozycję procentową Y (w pionie) znaku wodnego względem wymiarów strony dokumentu. Pozycja ustawiana jest na podstawie wybranego rogu strony w parametrze alignment. | Całkowity | Wartość z przedziału 0 -100. | opacity* (watermark) | 1.0.0 | Określa przezroczystość wstawianego znaku wodnego. | Zmiennoprzecinkowy | Wartość z przedziału 0.0 - 1.0. | format* (watermark.watermarkBarcode) | 1.0.0 | Określa standard kodów kreskowych w postaci jednowymiarowej (zapis informacji w jednej linii, w formie kresek). | Tekstowy | Wartość | Znaczenie |
---|
CODE_39 | Znany też jako "USS Code 39", "Code 3/9", "Kod 3 z 9", "USD-3", "Alpha39") – alfanumeryczny kod kreskowy o stałej szerokości pojedynczego znaku. | CODE_93 | Code 93 został zaprojektowany jako udoskonalenie kodowania Code 39. Podobnie jak swój pierwowzór w wersji podstawowej jest w stanie przechowywać 43 znaki alfanumeryczne. Jednak w stosunku do swojego poprzednika posiada jeszcze 4 dodatkowe znaki sterujące. | CODE_128 | Kod alfanumeryczny o zmiennej długości i wysokiej gęstości. Potrafi kodować znaki z całego zakresu ASCII. |
| codeWidth* (watermark.watermarkBarcode) | 1.0.0 | Definiuje szerokość kodu kreskowego w pikselach. | Całkowity | Określa minimalną szerokość kodu kreskowego. W przypadku, gdy wartość do zakodowania z parametru text okaże się zbyt długa, szerokość zostanie zwiększona. | codeHeight* (watermark.watermarkBarcode) | 1.0.0 | Definiuje wysokość kodu kreskowego w pikselach. | Całkowity | | size* (watermark.watermarkText) | 1.0.0 | Rozmiar tekstu. | Zmiennoprzecinkowy | | fontType (watermark.watermarkText) | 1.0.0 | Rodzaj czcionki tekstu. | Tekstowy | Parametr jest opcjonalny. W przypadku braku jego zdefiniowania, domyślną czcionką będzie HELVETICA. Wartość | Znaczenie |
---|
COURIER | Courier | COURIER_BOLD | Courier Bold | COURIER_OBLIQUE | Courier Oblique | COURIER_BOLDOBLIQUE | Courier Bold Oblique | HELVETICA | Helvetica | HELVETICA_BOLD | Helvetica Bold | HELVETICA_OBLIQUE | Helvetica Oblique | HELVETICA_BOLDOBLIQUE | Helvetica Bold Oblique | SYMBOL | Symbol | TIMES_ROMAN | Times Roman | TIMES_BOLD | Times Bold | TIMES_ITALIC | Times Italic | TIMES_BOLDITALIC | Times Bold Italic | ZAPFDINGBATS | Zapf Dingbats |
| color (watermark.watermarkText) | 1.0.0 | Kolor tekstu. | Tekstowy | Parametr jest opcjonalny. W przypadku braku jego zdefiniowania, domyślnym kolorem będzie LIGHT_GRAY. Wartość | Znaczenie |
---|
WHITE | Biały | LIGHT_GRAY | Jasnoszary | GRAY | Szary | DARK_GRAY | Ciemnoszary | BLACK | Czarny | RED | Czerwony | PINK | Różowy | ORANGE | Pomarańczowy | YELLOW | Żółty | GREEN | Zielony | MAGENTA | Magenta | CYAN | Cyjan | BLUE | Niebieski |
| encoding* (watermark.watermarkText) | 1.0.0 | Kodowanie znaków. | Tekstowy | Wartość | Znaczenie |
---|
CP1250 | Strona kodowa służąca do reprezentacji tekstów w językach środkowoeuropejskich używających alfabetu łacińskiego, na przykład albańskim, chorwackim, czeskim, polskim, rumuńskim, słowackim, słoweńskim, węgierskim. | CP1252 | Strona kodowa służąca do reprezentacji tekstów w językach zachodnioeuropejskich. | CP1257 | Strona kodowa służąca do reprezentacji tekstów w językach estońskim, litewskim, czy łotewskim. Zestaw ten jest w znacznej części kompatybilny z ISO 8859-13, oraz nadaje się do kodowania języka polskiego. | MACROMAN | Kodowanie znaków używane głównie w klasycznym systemie Mac OS do reprezentowania tekstu. Koduje 256 znaków, z których pierwsze 128 jest identyczne z ASCII, a pozostałe znaki obejmują symbole matematyczne, znaki diakrytyczne i dodatkowe znaki interpunkcyjne. Jest odpowiedni dla języka angielskiego i kilku innych języków zachodnich. |
| clockwiseAngle* (watermark.watermarkText) | 1.0.0 | Rotacja znaku wodnego zgodnie z kierunkiem ruchu wskazówki zegara. | Zmiennoprzecinkowy | | groups (permissions) | 1.0.0 | Uprawnienia określające dla jakich zalogowanych użytkowników w systemie przy próbie otwarcia dokumentu zostanie uruchomiony hook. Wskazuje na grupy użytkowników systemowych. | Tablica wartości tekstowych | Parametr opcjonalny, gdy nie jest uzupełniony, to mechanizm wstawiania znaku wodnego działa dla każdego użytkownika. |
Parametr*- pole wymagane |
Panel |
---|
title | Formaty kodu kreskowego |
---|
| Format | Opis |
---|
Code_39 | Jednowymiarowy kod kreskowy zawierający znaki alfanumeryczne o zmiennej długości, w którym występują paski o dwóch różnych szerokościach. Do kodowania CODE_39 używane są 43 znaki plus dodatkowe znaki, które są ogranicznikami i znakami start/stop. Znak start/stop zawsze występuje jako pierwszy i ostatni znak kodu i jest nim znak '*'. Ten format nie pozwala na zakodowanie małych liter. Znak | Wartość | Znak | Wartość | Znak | Wartość | Znak | Wartość |
---|
0 | 0 | B | 11 | M | 22 | X | 33 | 1 | 1 | C | 12 | N | 23 | Y | 34 | 2 | 2 | D | 13 | 1O | 24 | Z | 35 | 3 | 3 | E | 14 | P | 25 | - | 36 | 4 | 4 | F | 15 | Q | 26 | . | 37 | 5 | 5 | G | 16 | R | 27 | space | 38 | 6 | 6 | H | 17 | S | 28 | $ | 39 | 7 | 7 | I | 18 | T | 29 | / | 40 | 8 | 8 | J | 19 | U | 30 | + | 41 | 9 | 9 | K | 20 | V | 31 | % | 42 | A | 10 | L | 21 | W | 32 | | |

| Code_93 | Jednowymiarowy kod kreskowy będący udoskonaleniem formatu CODE_39. Występują w nim paski o czterech różnych szerokościach. Podobnie jak swój pierwowzór przechowuje 43 znaki alfanumeryczne, ale dodatkowo posiada 4 znaki sterujące (($), (%), (/), (+)), które są używane do kodowania wszystkich 128 znaków ASCII (CODE_93 Extended). Kod przyjmuje wyłącznie wielkie litery, chyba że zostaną użyte znaki sterujące. Znak | Wartość | Znak | Wartość | Znak | Wartość | Znak | Wartość |
---|
0 | 0 | C | 12 | O | 24 | - | 36 | 1 | 1 | D | 13 | P | 25 | . | 37 | 2 | 2 | E | 14 | Q | 26 | space | 38 | 3 | 3 | F | 15 | R | 27 | $ | 39 | 4 | 4 | G | 16 | S | 28 | / | 40 | 5 | 5 | H | 17 | T | 29 | + | 41 | 6 | 6 | I | 18 | U | 30 | % | 42 | 7 | 7 | J | 19 | V | 31 | ($) | 43 | 8 | 8 | K | 20 | W | 32 | (%) | 44 | 9 | 9 | L | 21 | X | 33 | (/) | 45 | A | 10 | M | 22 | Y | 34 | (+) | 46 | B | 11 | N | 23 | Z | 35 | | |

| Code_128 | Kod alfanumeryczny o zmiennej długości i wysokiej gęstości. Potrafi kodować znaki z całego zakresu ASCII. Do kodowania używa się kreski i przerwy o czterech możliwych szerokościach, co czyni go zwartym kodem. Kod 128 może być skanowany w każdym kierunku i nie ma ograniczeń co do długości samego kodu. 
|
|
Panel |
---|
title | Przykładowa konfiguracja |
---|
| Image Modified
Code Block |
---|
language | js |
---|
linenumbers | true |
---|
| [
{
"documentClassId": 4,
"watermark": {
"type": "TEXT",
"text": "Numer sprawy: {8}, Data rejestracji: {9}",
"alignment": "TOP_LEFT",
"anchor": "BOTTOM_LEFT",
"positionX%": 5,
"positionY%": 5,
"opacity": 0.7,
"watermarkText":{
"size": 15,
"fontType": "HELVETICA",
"color": "LIGHT_GRAY",
"encoding": "CP1250",
"clockwiseAngle": 0
}
},
"permissions": {
"groups": ["Users", "Administrators"]
}
},
{
"documentClassId": 4,
"watermark": {
"type": "BARCODE",
"text": "{8}",
"alignment": "TOP_LEFT",
"anchor": "BOTTOM_LEFT",
"positionX%": 80,
"positionY%": 10,
"opacity": 0.5,
"watermarkBarcode":{
"format": "CODE_128",
"codeWidth": 50,
"codeHeight": 15
}
},
"permissions": {
"groups": ["Users", "Administrators"]
}
}
] |
|
Panel |
---|
| Przykład działania dla powyższej konfiguracji JSON'a. Oryginalny dokument: 
Po otwarciu: 
|
|