← 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 |
---|
| Code Block |
---|
| - documentClassId
- watermark
- type
- text
- alignment
- anchor
- positionX%
- positionY%
- opacity
- clockwiseAngle
- watermarkBarcode
- format
- codeWidth
- codeHeight
- textUnderBarcode
- rotationMechanism
- watermarkText
- fontSize
- fontType
- fontColor
- encoding
- backgroundColor
- permissions
- groups
- errorHandling
- removePDFSecurity |
Warning |
---|
Wersja wtyczki 1.0.0 jest niekompatybilna z nowszymi wersjami. Instalowanie wersji wtyczki 1.0.1 lub nowszej spowoduje uruchomienie Upgrader'a, który zaktualizuje plik konfiguracyjny JSON na zgodny z wersją wtyczki 1.0.1. |
|
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ść | ZnaczenieOpis |
---|
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
Możliwe jest również skorzystanie ze specjalnych słów kluczowych zwracających informacje o użytkowniku, identyfikatorze procesu i zadania. Lista wszystkich dostępnych wartości znajduje się w kolumnie obok. Przykład: "Nazwa użytkownika: {USER_NAME}, Data: {CURRENT_DATE}" Tekst znaku wodnego -> "Nazwa użytkownika: admin, Data: 2022-10-21" | 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 "". |
Słowo kluczowe | Opis |
---|
{CURRENT_DATE} | Bieżąca data w formacie yyyy-MM-dd. | {CURRENT_DATE_AND_TIME} | Bieżąca data i czas w formacie yyyy-MM-dd HH-mm-ss. | {PROCESS_ID} | Identyfikator procesu. | {ACTIVITY_ID} | Identyfikator zadania. | {USER_NAME} | Nazwa użytkownika. | {USER_EMAIL} | Email użytkownika. | {USER_FULL_NAME} | Pełna nazwa użytkownika składająca się na imię i nazwisko. | {USER_FIRST_NAME} | Imię użytkownika. | {USER_LAST_NAME} | Nazwisko użytkownika. | {USER_NUMBER} | Numer użytkownika. |
| 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%.
Więcej informacji... | 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śćDostępne wartości | Znaczenie |
---|
TOP_LEFT | Pozycja znaku wodnego względem górnego lewego rogu. Image Removed
| TOP_RIGHT | Pozycja znaku wodnego względem górnego prawego rogu. Image Removed
| BOTTOM_LEFT | Pozycja znaku wodnego względem dolnego lewego rogu. Image Removed
| BOTTOM_RIGHT | Pozycja znaku wodnego względem dolnego prawego rogu. Image Removed
|
| 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. Image Removedpunkt na obwodzie znaku wodnego lub na jego środku, na podstawie którego określane jest położenie znaku wodnego biorąc pod uwagę wartości parametrów positionX% oraz positionY%. Więcej informacji... Tekstowy | Dostępne wartości |
---|
TOP_LEFT | TOP_MIDDLE | TOP_RIGHT | CENTER_LEFT | CENTER_MIDDLE | CENTER_RIGHT | BOTTOM_LEFT | BOTTOM_MIDDLE | BOTTOM_RIGHT |
| 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ść stopień widoczności (nieprzezroczystość) wstawianego znaku wodnego. | Zmiennoprzecinkowy | Element jest w pełni przezroczysty (niewidoczny). .0 - 1.0.Element jest częściowo przezroczysty. Element jest w pełni nieprzezroczysty (jednolity). | clockwiseAngle* (watermark) | 1.0.0 | Rotacja znaku wodnego zgodnie z kierunkiem ruchu wskazówki zegara. | Zmiennoprzecinkowy | | format* (watermark.watermarkBarcode) | 1.0.0 | Określa standard kodów kreskowych w postaci jednowymiarowej (zapis informacji w jednej linii, w formie kresek).kodu kreskowego.
Więcej informacji... | Tekstowy | WartośćDostępne wartościZnaczenie |
---|
AZTEC | CODABAR | 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. | DATA_MATRIX | EAN_8 | EAN_13 | ITF | PDF_417 | QR_CODE | UPC_A | UPC_E |
| 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 | | sizetextUnderBarcode* (watermark.watermarkBarcode) | 1.0.1 | Określa, czy ma być wyświetlany pod kodem kreskowym tekst (wartość parametru text), który został w nim zakodowany. | Logiczny | Tekst ma stały rozmiar czcionki 11 i kolor czarny. | rotationMechanism (watermark.watermarkBarcode) | 1.0.8 | Określa w jaki sposób ma działać rotacja kodu kreskowego. Sposób 1 - (przestarzały) rotacja odbywa się na zasadach podstawowej funkcji biblioteki. Rotacja dla znaku wodnego w formie kodu kreskowego wykonuje się w przeciwnym kierunku do ruchu wskazówek zegara. Sposób 2 (zalecany) - rotacja odbywa się względem punktu znaku wodnego określonego w parametrze anchor. Rotacja kodu kreskowego wykonuje się w kierunku zgodnym do ruchu wskazówek zegara. Parametr jest opcjonalny. Domyślnie stosowana jest wartość METHOD_1. | Tekstowy | Dostępne wartości |
---|
METHOD_1 | METHOD_2 |
| fontSize* (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ść | ZnaczenieOpis |
---|
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 |
| colorfontColor* (watermark.watermarkText) | 1.0.0 | Kolor tekstu. | Tekstowy | Parametr jest opcjonalny. W przypadku braku jego zdefiniowania, domyślnym kolorem będzie LIGHT_GRAY. Wartość | ZnaczenieOpis |
---|
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.
Więcej informacji... | Tekstowy | WartośćDostępne wartości | 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 | | | backgroundColor (watermark.watermarkText) | 1.0.1 | Kolor tła tekstu | | Parametr jest opcjonalny. W przypadku braku jego zdefiniowania, nie zostanie zastosowane tło dla znaku wodnego w formie tekstu. Wartość | Opis |
---|
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 |
| errorHandling* | 1.0.1 | Obsługa błędów. Określa w jaki sposób ma się zachować okno podglądu dokumentu przy wystąpieniu jakiekolwiek błędu np. niepoprawne znaki w tekście użytym do zakodowania kodu kreskowego dla określonego formatu kodu kreskowego. | Tekstowy | Wartość | Opis |
---|
BLOCK | Wyświetlana jest strona HTML z informacją o błędzie. Nie ma możliwości pobrania oryginalnego (bez znaku wodnego) dokumentu. | DISPLAY_ORIGINAL | Wyświetlany jest oryginalny dokument i jest on możliwy do pobrania. |
Warning |
---|
Wartość tego parametru jest brana pod uwagę po deserializacji JSON'a (po wpisaniu poprawnych nazw i wartości parametrów konfiguracji JSON w PCM), stąd jeśli na etapie deserializacji wystąpi błąd, zostanie zastosowana domyślna obsługa błędów BLOCK. |
| 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 | | |
Image Removed
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 | | |
Image Removed
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. Image Removed
| Panel |
---|
title | Przykładowa konfiguracja |
---|
| Image Removed Code Block |
---|
| language | js |
---|
removePDFSecurity | 1.0.2 | Usuwa hasło, zabezpieczenia pliku chroniące przed jego modyfikacją. Wynikowy plik nie posiada żadnych zabezpieczeń w porównaniu z jego pierwotną wersją. Parametr nie uwzględnia usuwania hasła użytkownika (odczytu), które zostało użyte w celu zabezpieczenia dokumentu przed otwarciem. | Logiczny | Parametr opcjonalny, gdy nie jest zdefiniowany, domyślnie przyjmowana jest wartość false zgodnie z kompatybilnością wsteczną. |
Parametr*- pole wymagane
Panel |
---|
title | Przykładowa konfiguracja |
---|
| Image Added
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,
"clockwiseAngle": 0,
"watermarkText":{
"fontSize": 15,
"fontType": "HELVETICA",
"fontColor": "WHITE",
"encoding": "CP1250",
"backgroundColor": "BLACK"
}
},
"permissions": {
"groups": ["Users", "Administrators"]
},
"errorHandling": "BLOCK"
},
{
"documentClassId": 4,
"watermark": {
"type": "BARCODE",
"text": "{8}",
"alignment": "TOP_LEFT",
"anchor": "BOTTOM_LEFT",
"positionX%": 80,
"positionY%": 10,
"opacity": 0.5,
"clockwiseAngle": 0,
"watermarkBarcode":{
"format": "CODE_128",
"codeWidth": 50,
"codeHeight": 15,
"textUnderBarcode": false,
"rotationMechanism": "METHOD_2"
}
},
"permissions": {
"groups": ["Users", "Administrators"]
},
"errorHandling": "BLOCK",
"removePDFSecurity": true
}
] |
|
Panel |
---|
| Expand |
---|
| Code Block |
---|
language | js |
---|
title | Konfiguracja JSON |
---|
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,
"clockwiseAngle": 0,
"watermarkText":{
"fontSize": 15,
"fontType": "HELVETICA",
"fontColor": "LIGHT_GRAY",
"encoding": "CP1250"
}
},
"permissions": {
"groups": ["Users", "Administrators"]
},
"errorHandling": "BLOCK"
},
{
"documentClassId": 4,
"watermark": {
"type": "BARCODE",
"text": "{8}",
"alignment": "TOP_LEFT",
"anchor": "BOTTOM_LEFT",
"positionX%": 80,
"positionY%": 10,
"opacity": 0.5,
"clockwiseAngle": 0,
"watermarkBarcode":{
"format": "CODE_128",
"codeWidth": 50,
"codeHeight": 15,
"textUnderBarcode": false
}
},
"permissions": {
"groups": ["Users", "Administrators"]
},
"errorHandling": "BLOCK"
}
] |
Oryginalny dokument: Image Added
Po otwarciu: Image Added |
Przykład działania dla powyższej konfiguracji JSON'a. Expand |
---|
| Code Block |
---|
language | js |
---|
title | Konfiguracja JSON |
---|
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,
"clockwiseAngle": 0,
"watermarkText":{
" | sizefontSize": 15,
"fontType": "HELVETICA",
" | colorLIGHT_GRAYWHITE",
"encoding": "CP1250",
" | clockwiseAngle0"BLACK"
}
},
"permissions": {
"groups": ["Users", "Administrators"]
},
"errorHandling": "BLOCK"
},
{
"documentClassId": 4,
"watermark": {
"type": "BARCODE",
"text": "{8}",
"alignment": "TOP_LEFT",
"anchor": "BOTTOM_LEFT",
"positionX%": | 8020,
"positionY%": 10,
"opacity": 0. | 59,
"clockwiseAngle": 0,
"watermarkBarcode":{
"format": "CODE_128",
"codeWidth": 50,
"codeHeight": 15,
"textUnderBarcode": true
}
},
"permissions": {
"groups": ["Users", "Administrators"]
},
"errorHandling": "BLOCK",
"removePDFSecurity": true
}
] |
|
| Panel |
---|
| Image Removed Image Added
| Po Image Removed Image Added
|
|
|