...
Table Excerpt |
---|
...
|
...
|
Wstęp
| |
Dokumentacja starszego PlusBarcodeReader: PlusBarcodeReader |
Podstawowe informacje o projekcie
...
Code Block | ||||
---|---|---|---|---|
| ||||
<dependency>
<groupId>com.suncode.barcode</groupId>
<artifactId>barcode-reader</artifactId>
<version>2.0.10</version>
</dependency> |
...
|
Table of Contents outline true
Wstęp
Info |
---|
Dokumentacja starszego PlusBarcodeReader: [STARSZA WERSJA] PlusBarcodeReader |
Podstawowe pojęcia
- dokument - dokument wejściowy w formacie PDF
- zbiór stron - zbiór stron dokumentu (zawiera wydzielone strony z dokumentu wejściowego)
- klasyfikacja dokumentu - proces przydzielania poszczególnych stron dokumentu do pasujących klas dokumentów
- klasa dokumentów - klasa opisująca zasady przypisywania do niej poszczególnych stron dokumentu
- zestaw klas dokumentów - zestaw klas dokumentów, określający kontekst (podzbiór dokumentu wraz z indeksami) w jakim strony przydzielane są do klas dokumentów w tym zestawie
Instalacja
Dodanie do systemu
Aby dodać Barcode Reader do systemu należy dodać poniższą zależność do systemu:
Code Block | ||
---|---|---|
| ||
<dependency>
<groupId>com.suncode.barcode</groupId>
<artifactId>barcode-reader</artifactId>
<version>2.0.10</version>
</dependency> |
zainstalować wtyczkę, którą można pobrać z lokalizacji BarcodeReader. Od wersji 2.3.0 wtyczka wymaga zainstalowanej bazowej wtyczki Plus Barcode Reader Core.
Jeżeli Barcode Reader był już dodany w systemie za pomocą zależności, wtedy należy usunąć zależność z pom'a. Następnie usunąć barcode-reader.jar z bibliotek systemu i zainstalować wtyczkę.
Zadania zaplanowane utworzone dla wcześniejszej wersji Barcode Readera będą nadal działać.
Instalacja na Windows Server
Przetestowane na Windows Server 2012 R2
1) Zaktualizować system
2) Zainstalować Windows Server Essentials Media Pack https://www.microsoft.com/en-us/download/details.aspx?id=40837
Żeby zainstalować Media Pack wymagana jest instalacja Windows Server Essentials Experience
3) Restart serwera
Uruchomienie przez zadanie zaplanowane
...
Klasa | Metoda | Parametr |
---|---|---|
com.suncode.barcodereader.integration.BarcodeReaderTask | readBarcodes | configPath - ścieżka do pliku konfiguracyjnego |
Dokładny opis zadania zaplanowanego dla wtyczki znajduje się tutaj.
Uruchomienie przez zadanie automatyczne
Dokładny opis zadania automatycznego dla wtyczki znajduje się tutaj.
Uruchomienie ręczne
Code Block | ||
---|---|---|
| ||
// Plik z konfiguracja Barcode Readera File configurationFile = new File( "sample/conf.xml" ); // Sparsowany plik konfiguracyjny Configuration configuration = new ConfigurationParser( configurationFile ).parse(); // Utworzenie instancji Barcode Readera BarcodeReader barcodeReader = new BarcodeReader( configuration ); // Wystartowanie Barcode Readera barcodeReader.start(); |
...
Info |
---|
W wersji 2.0.0 kody kreskowe rozpoznawane są przy użyciu biblioteki ZXing (Zebra Crossing) w wersji 2.2. Zalecany format plików pdf to PDF/A. |
Poprawa rozpoznawania kodów o niskiej jakości (od wersji 2.0.7)
...
- MEDIAN - filtr medianowy, przetwarza piksel na podstawie jego sąsiadów. Ma zastosowanie np.: dla kodów, które są "podziurawione", czyli czarne paski posiadają w środku białe piksele. Jest on nakładany tylko na obrazy czarno-białe i w odcieniach szarości. Dla obrazów kolorowych nie zostanie on nałożony, nawet mimo tego, że zostanie zdefiniowany w konfiguracji.
- AUTOTHRESHOLD - filtr, który automatycznie wyznacza granicę dla danego obrazu, na podstawie której określa jaki odcień danego piksela ma zostać zamieniony na kolor czarny, a jaki na kolor biały. Filtr ten nie jest wykorzystywany dla stron, które już został zeskanowane w czarno-bieli.
- W filtrze możemy podać przesunięcie w atrybucie value. Przesunięcie to działa na takiej zasadzie, że jest ono dodawane do automatycznej wartości thresholdu. Jeżeli wartość nie jest podana, to filtr zostanie nałożony zkolejno z trzema wartościami - automatyczna, automatyczna - 50 oraz automatyczna + 50, która została określona dla danej strony.
- THRESHOLD - filtr, który zamienia dany piksel na kolor czarny lub biały w zależności od podanej wartości.
- W filtrze musimy podać wartość thresholdu w atrybucie value.
...
Code Block | ||
---|---|---|
| ||
<!-- Zostaną wykonane 3 kroki odczytania kodu. Krok 1: Bez zastosowania żadnych filtrów. Krok 2: Z zastosowaniem tylko filtra medianowego. Ten krok wykona się tylko w przypadku, gdy w kroku 1 nie zostanie znaleziony żaden kod pasujący do wzorca. Krok 3: Z zastosowaniem tylko filtra autothreshold. Ten krok wykona się tylko w przypadku, gdy w kroku 1 i kroku 2 nie zostanie znaleziony żaden kod pasujący do wzorca. --> <filters> <step></step> <step> <filter type="median" /> </step> <step> <filter type="autothreshold" /> </step> </filters> |
Użycie filtrów z ustawioną wartością threshold:
No Format |
---|
<filters>
<step>
<filter type="threshold" value="130" />
</step>
<step>
<filter type="median" />
<filter type="autothreshold" />
</step>
</filters> |
Note |
---|
Należy pamiętać, że korzystanie z filtrów wydłuża czas przetwarzania pliku. Szczególnie będzie to widoczne, jeżeli będzie zdefiniowanych kilka kroków, a dokument posiada wiele stron bez żadnych kodów kreskowych. Wtedy dla każdej takiej strony będą musiały być zastosowane wszystkie kroki. W większości przypadków definiowanie filtrów nie będzie w ogóle konieczne. Szczególnie, gdy dokumenty są skanowane w czarno-bieli i mają dobrą jakość. |
...
Code Block | ||||
---|---|---|---|---|
| ||||
<barcodes mutliple="false"> <barcode name="kod" type="CODE_128" pattern="(^KOD.*)" /> </barcodes> <classify> <class-set> set name="Zestaw klas"> <start> <firstpage modifier="+1" /> </start> <end> <lastpage modifier="-1" /> </end> <indexes> <index name="kodIndex" type="barcode">kod</index> </indexes> <class name="Faktury"> ... <indexes> <index name="kodIndex" type="import">kodIndex</index> </indexes> <destination> <filename>${basename}_${kodIndex}.pdf</filename> <directory path="D:/Faktury" /> </destination> ... </class> <class name="Załączniki"> ... </class> </class-set> </classify> |
...
Code Block | ||||
---|---|---|---|---|
| ||||
<barcodes multiple="false">
<barcode name="faktura" type="CODE_128" pattern="(.+)" />
</barcodes>
<classify>
<class name="Faktury">
<start>
<barcode>Faktury</barcode>
</start>
<end>
<barcode>Faktury</barcode>
<lastpage/>
</end>
<indexes>
<index name="Index1" type="barcode">Faktury</index>
</indexes>
<destination>
<filename>${Index1}.pdf</filename>
<directory path="D:/Faktury" />
</destination>
</class>
<class name="Niesklasyfikowane">
<start>
<unclassified />
</start>
<end>
<classified />
<lastpage/>
</end>
<indexes>
</indexes>
<destination>
<filename>BRAK_KODU.pdf</filename>
<directory path="D:/Niesklasyfikowane" />
</destination>
</class>
</classify> |
...
Code Block | ||
---|---|---|
| ||
<actions> <success> <move> <destination> <filename>${filename}</filename> <directory path="D:/success"/> </destination> </move> </success> <error> <copy> <destination> <filename>${filename}</filename> <directory path="D:/error"/> </destination> </copy> </error> </actions> |
Wymagane minimalne wersje systemu
System 4.1 | System 4.2 | ||
Wersja wtyczki | Wersja systemu | Wersja wtyczki | Wersja systemu |
---|---|---|---|
4.0.19 | 4.1.11 | 4.0.19 | 4.1.11 |