palio.modules.itext
Class ITextDocument

java.lang.Object
  extended by palio.modules.itext.ITextDocument

public class ITextDocument
extends java.lang.Object

Frontend biblioteki iText do jPalio. Moduł IText jedynie wywołuje funkcje tej klasy, oraz robi różne cuda, których nie warto tutaj implementowa.

Author:
Mateusz Gembarzewski, Remigiusz Dejnarowicz (poprawki)

Constructor Summary
ITextDocument(Instance instance, com.lowagie.text.Rectangle size)
          Tworzy nowy dokument.
ITextDocument(Instance instance, com.lowagie.text.Rectangle size, java.lang.String type)
          Tworzy nowy dokument.
 
Method Summary
 void addDocument(byte[] existingDocument, java.lang.String pageNumberParamName, palio.compiler.PalioCode pageCode)
           
 void addDocument(java.lang.String existingDocument, java.lang.String pageNumberParamName, palio.compiler.PalioCode pageCode)
          Dodaje istniejący dokumant PDF.
 void addImage(java.lang.Object image, java.lang.Object[] extraParams)
          Dodaje obrazek do dokumentu.
 void addListItem(java.lang.Long alignment, java.lang.Object[] extraParams, java.lang.String text)
          Dodaje element do aktualnie tworzonej listy.
 void addPrintDialog()
          Dodaje kawałek kodu otwierający okienko drukowania po otwarciu dokumentu.
 void addTableCell(java.lang.Object[] params, java.lang.String text)
          Dodaje do tabeli komórkę poprzez wstawienie paragrafu z podanym tekstem.
 void addTableRow(java.lang.Object[] params, java.lang.Object[] cells)
          Dodaje wiersz do tabelki.
 void addTemplate(java.lang.Long x, java.lang.Long y, java.lang.Object[] transformMatrix, java.lang.Object template)
          Rysuje na aktualnej stronie dokumentu obiekt typu PdfTemplate, które można uzyskać wczytując inny dokument PDF za pomocą metody readDocument(Object).
 void addText(java.lang.Long x, java.lang.Long y, java.lang.Object[] transformMatrix, java.lang.String text)
          Wstawia podany tekst w dowolnym miejscu dokumentu.
 void addText(java.lang.String text, java.lang.Long textRise)
          Dodaje tekst w zależności od tego jakiego typu element jest aktualnie w kontekście.
 void addTextAligned(java.lang.Long x, java.lang.Long y, java.lang.String text, java.lang.Long alignment, java.lang.Long rotation, java.lang.Boolean kerned)
          Wstawia wyrównany tekst w dowolnym miejscu dokumentu.
 byte[] close()
          Zamyka dokument i zwraca jego zawartość.
static byte[] concatPDFs(java.util.LinkedList streamOfPDFFiles, java.io.OutputStream outputStream, boolean paginate)
           
 java.lang.Object createBarcodeTemplate(java.lang.String code, java.lang.String type, java.lang.Object[] barParams, java.lang.Object[] textParams)
          Tworzy obiekt typu PdfTemplate z kodem kreskowym.
static java.awt.Color extractColor(java.lang.Object value)
          Przykłady dla value: [100, 100, 100], RED, red, BLACK...
 java.lang.String getDefaultFontEncoding()
          Podaje domyślne kodowanie czcionek.
 java.lang.Boolean getFontEmbedding()
          Podaje domyślne zachowanie biblioteki przy zmianie aktywnej czcionki.
 java.lang.Long getPageNumber()
          Zwraca aktualny numer strony.
 java.lang.Long getTableTotalHeight()
          Zwraca aktualna wysokosc tabeli.
 void logEvents(java.lang.String serviceName, java.lang.String documentID)
          Dodaje listenera, który wpisuje do logów wszystkie zdarzenia związane z dokumentem.
static byte[] mergePDFs(java.util.LinkedList<byte[]> pdfs_byte)
          łączenie kilku pdfów w calo
 void newPage()
          Wstawia znacznik nowej linii do dokumentu.
 void open()
          Otwiera dokument umożliwiając wprowadzanie do niego treści.
 java.lang.Object[] readDocument(java.lang.Object existingDocument)
          Wczytuje istniejący dokument PDF i zwraca jego strony w postaci template'ów, które można rysować na aktualnym dokumencie używając metody addTemplate(Long, Long, Object[], Object).
 void setColumnWidths(java.lang.Object[] relativeWidths)
          Ustawia względne szerokości kolumn w tabeli, która jest aktualnym kontekstem dokumentu.
 void setDefaultEncoding(java.lang.String encoding)
          Ustawia domyślne kodowanie czcionek.
 void setFont(java.lang.String fontName, java.lang.String encoding, java.lang.Boolean embedded, java.lang.Long size, java.lang.Long style, java.lang.Object[] color)
          Ustawia czcionkę dla aktualnego kontekstu.
 void setFontEmbedding(java.lang.Boolean embedding)
          Ustawia domyślne zachowanie biblioteki przy zmianie aktywnej czcionki.
 void setMargins(java.lang.Long leftMargin, java.lang.Long rightMargin, java.lang.Long topMargin, java.lang.Long bottomMargin, java.lang.Boolean mirroring)
          Ustawia marginesy dokumentu.
 void setMetaData(java.lang.String author, java.lang.String title, java.lang.String subject, java.lang.String keywords)
          Ustawia meta-dane dokumentu.
 void setStrictImageSequence(boolean strict)
          Ustawia wewnętrzny parametr generatora, który decyduje o tym w którym momencie do danego dokumentu zostanie dodany obrazek niemieszczący się na aktualnej stronie.
 void setTableKeepTogether(java.lang.Boolean keepTogether)
          Ustawia dla tabeli flagę mówiaca o tym czy dana tabela ma byc w miare mozliwosci trzymana na jednej stronie czy nie.
 void setTextBackground(java.lang.Object[] color)
          Ustawia kolor tła dla tekstu w danym kontekście.
 void startFooter(java.lang.Long columCount)
          Ustawia aktualny kontekst na nową tabelkę, która zostanie użyta jako stopka dokumentu.
 void startHeader(java.lang.Long columCount)
          Ustawia aktualny kontekst na nową tabelkę, która zostanie użyta jako nagłówek dokumentu.
 void startList(java.lang.String type, java.lang.Long symbolIndent, java.lang.Object[] extraParams)
          Zaczyna nową listę.
 void startListItem(java.lang.Long alignment, java.lang.Object[] params)
          Ustawia aktualny kontekst na nowy element listy.
 void startParagraph(java.lang.Long alignment, java.lang.Object[] extraParams)
          Zaczyna nowy paragraf do którego można wkładać inne elementy dokumentu (tekst, obrazki..).
 void startTable(java.lang.Long columnCount, java.lang.Long alignment, java.lang.Object[] extraParams)
          Ustawia aktualny kontekst na nową tabelkę.
 void startTableCell(java.lang.Object[] params)
          Ustawia aktualny kontekst na nową komórkę tabeli.
 void stopFooter()
          Zdejmuje tabelkę z aktualnego kontekstu i robi z niej stopkę dokumentu.
 void stopFooter(java.lang.Long numColumns, palio.compiler.PalioCode innerCode)
          Zdejmuje tabelkę z aktualnego kontekstu i robi z niej stopkę dokumentu i zapisuje PalioCode do kolejnego wywoania.
 void stopHeader()
          Zdejmuje tabelkę z aktualnego kontekstu i robi z niej nagłówek dokumentu.
 void stopHeader(java.lang.Long numColumns, palio.compiler.PalioCode innerCode)
          Zdejmuje tabelkę z aktualnego kontekstu i robi z niej nagłówek dokumentu i zapisuje PalioCode dla następnego wywolania.
 void stopList()
          Zamyka aktualną listę.
 void stopListItem()
          Zamyka element listy.
 void stopParagraph()
          Kończy aktualny paragraf.
 void stopTable()
          Zdejmuje tabelkę z aktualnego kontekstu.
 void stopTableCell()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ITextDocument

public ITextDocument(Instance instance,
                     com.lowagie.text.Rectangle size)
              throws com.lowagie.text.DocumentException
Tworzy nowy dokument.

Parameters:
size - wielkością strony dokumentu
Throws:
com.lowagie.text.DocumentException

ITextDocument

public ITextDocument(Instance instance,
                     com.lowagie.text.Rectangle size,
                     java.lang.String type)
              throws com.lowagie.text.DocumentException
Tworzy nowy dokument.

Parameters:
size - wielkość strony dokumentu
Throws:
com.lowagie.text.DocumentException
Method Detail

addDocument

public void addDocument(byte[] existingDocument,
                        java.lang.String pageNumberParamName,
                        palio.compiler.PalioCode pageCode)
                 throws java.io.IOException,
                        com.lowagie.text.DocumentException,
                        palio.PalioException
Throws:
java.io.IOException
com.lowagie.text.DocumentException
palio.PalioException

addDocument

public void addDocument(java.lang.String existingDocument,
                        java.lang.String pageNumberParamName,
                        palio.compiler.PalioCode pageCode)
                 throws java.io.IOException,
                        com.lowagie.text.DocumentException,
                        palio.PalioException
Dodaje istniejący dokumant PDF. Funkcję należy wywołać bezpośrednio po otwarciu dokumentu open().

Parameters:
existingDocument - URL lub ścieżka do istniejącego dokumentu
pageNumberParamName - nazwa parametru pod którym będzie ustawiony kolejny numer strony wczytywanego dokumentu
pageCode - kod, który jest uruchamiany po wczytaniu każdej strony dokumentu
Throws:
java.io.IOException
com.lowagie.text.DocumentException
palio.PalioException

readDocument

public java.lang.Object[] readDocument(java.lang.Object existingDocument)
                                throws java.io.IOException
Wczytuje istniejący dokument PDF i zwraca jego strony w postaci template'ów, które można rysować na aktualnym dokumencie używając metody addTemplate(Long, Long, Object[], Object).

Parameters:
existingDocument - adres URL, ścieżka lub zawartość istniejącego dokumentu
Returns:
tablica obiektów typu PdfTemplate odpowiadająca kolejnym stronom dokumentu
Throws:
java.io.IOException

addTemplate

public void addTemplate(java.lang.Long x,
                        java.lang.Long y,
                        java.lang.Object[] transformMatrix,
                        java.lang.Object template)
Rysuje na aktualnej stronie dokumentu obiekt typu PdfTemplate, które można uzyskać wczytując inny dokument PDF za pomocą metody readDocument(Object). Położenie template'u określa się względem dolnego lewego rogu strony.

Parameters:
x - położenie w poziomie
y - położenie w pionie
transformMatrix - dodatkowa matryca przekształcenia, jak w addText(Long, Long, Object[], String)
template - obiekt typu PdfTemplate

logEvents

public void logEvents(java.lang.String serviceName,
                      java.lang.String documentID)
Dodaje listenera, który wpisuje do logów wszystkie zdarzenia związane z dokumentem.

Parameters:
serviceName - nazwa serwisu (jak w Log.info(String, String))
documentID - dodatkowy wyróżnik dokumentu (można podać null

setStrictImageSequence

public void setStrictImageSequence(boolean strict)
Ustawia wewnętrzny parametr generatora, który decyduje o tym w którym momencie do danego dokumentu zostanie dodany obrazek niemieszczący się na aktualnej stronie. Przykładowo:
- jesteśmy przy końcu strony i dodajemy do dokumentu dwa obrazki
- pierw większy (nie zmieści się na tej stronie)
- potem mniejszy (zmieściłby się, gdyby nie ten większy)
- jeżeli strict=true generator przeskoczy do następnej strony i tam doda oba obrazki, w niezmienionej kolejności
- jeżeli strict=false generator doda większy obrazek jak tylko dojdzie do nowej strony, a tymczasem sprawdzi czy nastepne elementy treści się nie zmieszczą jeszcze na tej stronie (i doda mniejszy obrazek).

Parameters:
strict - wartość parametru

open

public void open()
Otwiera dokument umożliwiając wprowadzanie do niego treści.


setMargins

public void setMargins(java.lang.Long leftMargin,
                       java.lang.Long rightMargin,
                       java.lang.Long topMargin,
                       java.lang.Long bottomMargin,
                       java.lang.Boolean mirroring)
Ustawia marginesy dokumentu. Funkcję należy wywołać przed otwarciem dokumentu.

Parameters:
leftMargin - lewy margines
rightMargin - prawy margines
topMargin - górny margines
bottomMargin - dolny margines
mirroring - odbicia lustrzane marginesów (zamiana lewego z prawym na nieparzystych stronach)

setMetaData

public void setMetaData(java.lang.String author,
                        java.lang.String title,
                        java.lang.String subject,
                        java.lang.String keywords)
Ustawia meta-dane dokumentu. Funkcję należy wywołać przed otwarciem dokumentu.

Parameters:
author - autor
title - tytuł
subject - temat
keywords - słowa kluczowe

close

public byte[] close()
Zamyka dokument i zwraca jego zawartość.

Returns:
zawartość dokumentu

addPrintDialog

public void addPrintDialog()
Dodaje kawałek kodu otwierający okienko drukowania po otwarciu dokumentu.


addImage

public void addImage(java.lang.Object image,
                     java.lang.Object[] extraParams)
              throws java.io.IOException,
                     com.lowagie.text.DocumentException,
                     palio.PalioException,
                     java.lang.NoSuchFieldException
Dodaje obrazek do dokumentu. Tablica extraParams, jeżeli nie jest null, zawiera następujące parametry:
  1. String/Long Alignment - wyrównanie obrazka: LEFT (0), MIDDLE (1), RIGHT (2), UNDERLYING (8), TEXTWRAP (4); jeżeli podajemy liczbowo to dwie ostatnie wartości można dosumować do jednej z pozostałych
  2. [Long, Long] AbsolutePosition - bezwzgldne położenie obrazka na stronie podane w punktach (X, Y)
  3. String ScalingMode - tryb skalowania: ABSOLUTE, PROPORTIONAL, PERCENT
  4. [Long, Long] Size - wielkość obrazka w punktach lub procentach, zależnie od trybu skalowania (X, Y)
  5. Long Rotation - obrót podany w stopniach
W miejsce każdego parametru można wstawić wartość null. Tablica nie musi zawierać wszystkich parametrów (może być krótsza).

Parameters:
image - obrazek (byte[]), lub URL do obrazka (String)
extraParams - dodatkowe parametry
Throws:
java.io.IOException
com.lowagie.text.DocumentException
palio.PalioException
java.lang.NoSuchFieldException

addText

public void addText(java.lang.Long x,
                    java.lang.Long y,
                    java.lang.Object[] transformMatrix,
                    java.lang.String text)
Wstawia podany tekst w dowolnym miejscu dokumentu. Punkt 0,0 leży w dolnym lewym rogu dokumentu. Znaczenie kolejnych elementów (typu Number) macierzy przekształcenia:
  1. 1 - normalny, -1 odbicie wzgl. osi pionowej
  2. obrót tekstu (bez obracania liter)
  3. obrót liter
  4. 1 - normalny, -1 - odbicie wzgl. osi poziomej
.
Przykładowe wywołania: [1, 0, 0, 1] - tekst normalny, [1, 1, -1, 1] - tekst obrócony o 45 stopni w lewo.
W tym wywołaniu funkcja setTextBackground(Object[]) nie jest uwzględniana.

Parameters:
x - położenie w poziomie
y - położenie w pionie
transformMatrix - dodatkowa macierz przekształcenia tekstu
text - tekst

addTextAligned

public void addTextAligned(java.lang.Long x,
                           java.lang.Long y,
                           java.lang.String text,
                           java.lang.Long alignment,
                           java.lang.Long rotation,
                           java.lang.Boolean kerned)
Wstawia wyrównany tekst w dowolnym miejscu dokumentu. Punkt 0,0 leży w dolnym lewym rogu dokumentu.
W tym wywołaniu funkcja setTextBackground(Object[]) nie jest uwzględniana.

Parameters:
x - położenie w poziomie
y - położenie w pionie
text - tekst
alignment - wyrównanie tekstu: 0 - do lewej, 1 - do środka, 2 - do prawej
rotation - obrót tekstu podany w stopniach od 0 do 360
kerned - czy ma zostać użyty 'kerning' jako sposób regulacji świateł międzyliterowych

addText

public void addText(java.lang.String text,
                    java.lang.Long textRise)
             throws com.lowagie.text.DocumentException,
                    palio.PalioException
Dodaje tekst w zależności od tego jakiego typu element jest aktualnie w kontekście.

Parameters:
text - tekst do dodania
textRise - przesunięcie tekstu w osi pionowej podane w punktach, umożliwiające tworzenie indeksu górnego i dolnego
Throws:
com.lowagie.text.DocumentException - wyjątek z biblioteki iText
palio.PalioException - jeżeli na szczycie stosu leży element nieznanego typu

newPage

public void newPage()
             throws palio.PalioException,
                    com.lowagie.text.DocumentException
Wstawia znacznik nowej linii do dokumentu.

Throws:
palio.PalioException
com.lowagie.text.DocumentException

setFontEmbedding

public void setFontEmbedding(java.lang.Boolean embedding)
Ustawia domyślne zachowanie biblioteki przy zmianie aktywnej czcionki. Opcja jest początkowo ustawiona na true.

Parameters:
embedding - czy czcionki mają być domyślnie umieszczane wewnątrz dokumentu

getFontEmbedding

public java.lang.Boolean getFontEmbedding()
Podaje domyślne zachowanie biblioteki przy zmianie aktywnej czcionki. Opcja jest początkowo ustawiona na true.


setDefaultEncoding

public void setDefaultEncoding(java.lang.String encoding)
Ustawia domyślne kodowanie czcionek.

Parameters:
encoding - domyślne kodowanie czcionek

getDefaultFontEncoding

public java.lang.String getDefaultFontEncoding()
Podaje domyślne kodowanie czcionek. Początkowo parametr ma wartość Cp1250.


getPageNumber

public java.lang.Long getPageNumber()
Zwraca aktualny numer strony. Nie działa w nagłówku i stopce.


setFont

public void setFont(java.lang.String fontName,
                    java.lang.String encoding,
                    java.lang.Boolean embedded,
                    java.lang.Long size,
                    java.lang.Long style,
                    java.lang.Object[] color)
             throws com.lowagie.text.DocumentException,
                    java.io.IOException
Ustawia czcionkę dla aktualnego kontekstu. Możliwe nazwy standardowych czcionek (standardowe czcionki muszą obsługiwać jedynie kodowanie Cp1252): Courier{-Bold | -Oblique | -BoldOblique}, Helvetica{-Bold | -Oblique | -BoldOblique}, Symbol, Times-Roman, Times-{Bold | Italic | BoldItalic}, ZapfDingbats. Można też podać ścieżkę do czcionki TTF, np: "C://windows/fonts//arial.ttf", "/opt/ttffonts/arial.ttf".

Parameters:
fontName - nazwa czcionki (jeśli null to czcionka w danym kontekście zostanie wyczyszczona)
encoding - kodowanie znaków (wymagany), dla null zostanie użyte domyślne kodowanie
embedded - czy czcionka ma zostać osadzona w dokumencie, dla null zostanie użyta wartość domyślna
size - wielkość w punktach (domyślnie 11)
style - styl {0 - normalna (wartość domyślna), 1 - pogrubiona, 2 - italik, 4 - podkreślona, 8 - przekreślona}
color - kolor czcionki, np.: czerwona = [255, 0, 0] (domyślnie czarny)
Throws:
com.lowagie.text.DocumentException
java.io.IOException

setTextBackground

public void setTextBackground(java.lang.Object[] color)
Ustawia kolor tła dla tekstu w danym kontekście. Jeśli podamy null to kolor zostanie wyczyszczony dla danego kontekstu.

Parameters:
color - kolor, np.: zielony = [0, 255, 0]

startList

public void startList(java.lang.String type,
                      java.lang.Long symbolIndent,
                      java.lang.Object[] extraParams)
Zaczyna nową listę. Tablica extraParams, jeżeli nie jest null, zawiera następujące parametry:
  1. Long/Long/Object First - numer litery w alfabecie od której ma zacząc (np. 3 da "C") / pierwszy numer / symbol listy
  2. Long IndentationLeft - wolne miejsce po lewel stronie listy
  3. Long Indentation right - wolne miejsce po prawej stronie listy
W miejsce każdego parametru można wstawić wartość null. Tablica nie musi zawierać wszystkich parametrów (może być krótsza).

Parameters:
type - typ listy, możliwe wartości to: NUMBERS, LETTERS, LETTERS_SMALL, SYMBOLS
symbolIndent - miejsce na symbole listy (w punktach)
extraParams - dodatkowe parametry, opisane powyżej

addListItem

public void addListItem(java.lang.Long alignment,
                        java.lang.Object[] extraParams,
                        java.lang.String text)
                 throws palio.PalioException
Dodaje element do aktualnie tworzonej listy. Tablica extraParams, jeżeli nie jest null, zawiera następujące parametry (typu Long):
  1. Leading
  2. FirstLineIndent
  3. SpacingBefore
  4. SpacingAfter
  5. IndentationLeft
  6. IndentationRight
W miejsce każdego parametru można wstawić wartość null. Tablica nie musi zawierać wszystkich parametrów (może być krótsza).

Parameters:
alignment - wyrównanie {0 - do lewej, 1 - do środka, 2 - do prawej, 3 - wyjustowany, 4 - wyjustowany razem z ostatnią linią}
extraParams - dodatkowe parametry elementu listy (opisane powyżej)
text - treść elementu listy
Throws:
palio.PalioException

startListItem

public void startListItem(java.lang.Long alignment,
                          java.lang.Object[] params)
                   throws palio.PalioException
Ustawia aktualny kontekst na nowy element listy.

Throws:
palio.PalioException

stopListItem

public void stopListItem()
                  throws palio.PalioException
Zamyka element listy.

Throws:
palio.PalioException

stopList

public void stopList()
              throws com.lowagie.text.DocumentException,
                     palio.PalioException
Zamyka aktualną listę.

Throws:
com.lowagie.text.DocumentException
palio.PalioException

startParagraph

public void startParagraph(java.lang.Long alignment,
                           java.lang.Object[] extraParams)
Zaczyna nowy paragraf do którego można wkładać inne elementy dokumentu (tekst, obrazki..). Tablica extraParams, jeżeli nie jest null, zawiera następujące parametry (typu Long):
  1. Leading
  2. FirstLineIndent
  3. SpacingBefore
  4. SpacingAfter
  5. IndentationLeft
  6. IndentationRight
W miejsce każdego parametru można wstawić wartość null. Tablica nie musi zawierać wszystkich parametrów (może być krótsza).

Parameters:
alignment - wyrównanie {0 - do lewej, 1 - do środka, 2 - do prawej, 3 - wyjustowany, 4 - wyjustowany razem z ostatnią linią}
extraParams - dodatkowe parametry elementu listy (opisane powyżej)

stopParagraph

public void stopParagraph()
                   throws com.lowagie.text.DocumentException,
                          palio.PalioException
Kończy aktualny paragraf.

Throws:
com.lowagie.text.DocumentException - wewnętrzny wyjątek biblioteki iText
palio.PalioException - jeżeli aktualnym kontekstem nie jest paragraf

startHeader

public void startHeader(java.lang.Long columCount)
Ustawia aktualny kontekst na nową tabelkę, która zostanie użyta jako nagłówek dokumentu.

Parameters:
columCount - ilość kolumn w tabeli

stopHeader

public void stopHeader()
                throws palio.PalioException
Zdejmuje tabelkę z aktualnego kontekstu i robi z niej nagłówek dokumentu.

Throws:
palio.PalioException

stopHeader

public void stopHeader(java.lang.Long numColumns,
                       palio.compiler.PalioCode innerCode)
                throws palio.PalioException
Zdejmuje tabelkę z aktualnego kontekstu i robi z niej nagłówek dokumentu i zapisuje PalioCode dla następnego wywolania.

Throws:
palio.PalioException

startFooter

public void startFooter(java.lang.Long columCount)
Ustawia aktualny kontekst na nową tabelkę, która zostanie użyta jako stopka dokumentu.

Parameters:
columCount - ilość kolumn w tabeli

stopFooter

public void stopFooter()
                throws palio.PalioException
Zdejmuje tabelkę z aktualnego kontekstu i robi z niej stopkę dokumentu.

Throws:
palio.PalioException

stopFooter

public void stopFooter(java.lang.Long numColumns,
                       palio.compiler.PalioCode innerCode)
                throws palio.PalioException
Zdejmuje tabelkę z aktualnego kontekstu i robi z niej stopkę dokumentu i zapisuje PalioCode do kolejnego wywoania.

Throws:
palio.PalioException

startTable

public void startTable(java.lang.Long columnCount,
                       java.lang.Long alignment,
                       java.lang.Object[] extraParams)
Ustawia aktualny kontekst na nową tabelkę. Tablica extraParams, jeśli nie jest null, zawiera następujące parametry:
  1. Long WidthPercentage - szerokość tabeli w procentach
  2. Long TotalWidth - szerokość tabeli w punktach
  3. Long SpacingBefore - wolne miejsce przed tabelką
  4. Long SpacingAfter - wolne miejsce za tabelką
  5. Boolean SplitRow - czy wiersze mogą być dzielone gdy tabelka nie mieści się w całości na stronie
  6. Boolean SplitLate - wiersz będzie dzielony tylko jeśli jest pierwszy na pustej stronie
  7. Long HeaderRows - ile początkowych wierszy ma być traktowanych jako nagłówek (będą powtarzane na każdej stronie)
  8. Long FooterRows - ile końcowych wierszy ma być traktowanych jako stopka (będą powtarzane na każdej stronie)
W miejsce każdego parametru można wstawić wartość null. Tablica nie musi zawierać wszystkich parametrów (może być krótsza).

Parameters:
alignment - wyrównanie {0 - do lewej, 1 - do środka, 2 - do prawej
columnCount - ilość kolumn w tabeli
extraParams - tablica dodatkowych parametrów

setColumnWidths

public void setColumnWidths(java.lang.Object[] relativeWidths)
                     throws palio.PalioException,
                            com.lowagie.text.DocumentException
Ustawia względne szerokości kolumn w tabeli, która jest aktualnym kontekstem dokumentu. Jeżeli mamy 3 kolumny i chcemy, żeby pierwsza z nich była dwa razy szersza od pozostałych to wywołujemy funkcję z tablicą [2, 1, 1].

Parameters:
relativeWidths - tablica względnych szerokości kolumn
Throws:
palio.PalioException
com.lowagie.text.DocumentException

setTableKeepTogether

public void setTableKeepTogether(java.lang.Boolean keepTogether)
                          throws palio.PalioException,
                                 com.lowagie.text.DocumentException
Ustawia dla tabeli flagę mówiaca o tym czy dana tabela ma byc w miare mozliwosci trzymana na jednej stronie czy nie. Standardowo wartosc tej flagi to false, przez co tabela bedzie lamana i kontynuoowana od nastepnej strony jesli tylko wiersz sie nie miesci na danej stronie.

Parameters:
keepTogether - wartosc flagi
Throws:
palio.PalioException
com.lowagie.text.DocumentException

getTableTotalHeight

public java.lang.Long getTableTotalHeight()
                                   throws palio.PalioException,
                                          com.lowagie.text.DocumentException
Zwraca aktualna wysokosc tabeli.

Throws:
palio.PalioException
com.lowagie.text.DocumentException

stopTable

public void stopTable()
               throws com.lowagie.text.DocumentException,
                      palio.PalioException
Zdejmuje tabelkę z aktualnego kontekstu.

Throws:
com.lowagie.text.DocumentException
palio.PalioException

addTableCell

public void addTableCell(java.lang.Object[] params,
                         java.lang.String text)
                  throws palio.PalioException
Dodaje do tabeli komórkę poprzez wstawienie paragrafu z podanym tekstem. Czcionka i kolor tła ustawiane według aktualnego kontekstu. Tablica params, jeśli nie jest null, zawiera następujące parametry:
  1. Long Border - suma kodów poszczególnych elementów ramki {1 - górny, 2 - dolny, 4 - lewy, 8 - prawy}
  2. Long BorderWidth - szerokość ramki w punktach
  3. Long Colspan - na ile komórek ma się rozciągać dana komórka
  4. Long HorizontalAlignment - wyrównanie zawartości w poziomie {0 - do lewej, 1 - do środka, 2 - do prawej}
  5. Long VerticalAlignment - wyrównanie zawartości w pionie {4 - do góry, 5 - do środka, 6 - do dołu}
  6. Long FixedHeight - stała wysokość komórki
  7. Long MinimumHeight - minimalna wysokość komórki
  8. Boolean NoWrap - niezawijanie treści
  9. Long Padding - przerwa między ramką a zawartością
  10. Long Leading - przerwa między liniami tekstu
  11. [Long,Long,Long] BorderColor - kolor ramki
W miejsce każdego parametru można wstawić wartość null. Tablica nie musi zawierać wszystkich parametrów (może być krótsza).

Parameters:
text - tekst do wstawienia
params - tablica dodatkowych parametrów
Throws:
palio.PalioException - jeśli aktualnym kontekstem nie jest tabela

addTableRow

public void addTableRow(java.lang.Object[] params,
                        java.lang.Object[] cells)
                 throws palio.PalioException
Dodaje wiersz do tabelki. Jeśli podano mniej wartości niż liczba kolumn w tabeli to pozostałe komórki zostaną dodane z wartością null. Jeżeli podano więcej wartości to zostanie dodanych tylko tyle ile jest kolumn w tabeli.

Parameters:
params - parametry komórek
cells - tablica obiektów z treścią komórek [cells[i].toString()], dopuszcza wartości null
Throws:
palio.PalioException

startTableCell

public void startTableCell(java.lang.Object[] params)
                    throws palio.PalioException
Ustawia aktualny kontekst na nową komórkę tabeli.

Throws:
palio.PalioException

stopTableCell

public void stopTableCell()
                   throws palio.PalioException
Throws:
palio.PalioException

createBarcodeTemplate

public java.lang.Object createBarcodeTemplate(java.lang.String code,
                                              java.lang.String type,
                                              java.lang.Object[] barParams,
                                              java.lang.Object[] textParams)
                                       throws palio.PalioException
Tworzy obiekt typu PdfTemplate z kodem kreskowym. Utworzony w ten sposób obiekt umieszczamy w dokumencie za pomocą funkcji addTemplate(Long, Long, Object[], Object). Możliwe typy kodów: CODABAR, CODE128, CODE128_UCC, CODE128_RAW, EAN8, EAN13, UPCA, UPCE, SUPP2, SUPP5, PLANET, POSTNET, INTER25, CODE39, CODE39_EXT.

Tablica barParams, jeśli nie jest null, zawiera następujące parametry kodu kreskowego:

  1. (definicja koloru) BarColor - kolor kresek
  2. Long/BigDecimal BarHeight - wysokość kresek w punktach
  3. Long/BigDecimal X - minimalna szerokość kreski
  4. Long/BigDecimal N - mnożnik szerokości szerszej kreski lub odstęp pomiędzy kreskami (PLANET i POSTNET)
  5. Long/BigDecimal InkSpreading
  6. Boolean GuardBars
  7. Boolean GenerateChecksum - wygenerowanie sumy kontrolnej
W miejsce każdego parametru można wstawić wartość null. Tablica nie musi zawierać wszystkich parametrów (może być krótsza).

Tablica textParams, jeśli nie jest null, zawiera następujące parametry tekstu:

  1. (definicja koloru) TextColor - kolor tekstu
  2. Long TextAlignment - wyrównanie tekstu względem kodu {0 - po lewej, 1 - po środku, 2 - po prawej}
  3. Long/BigDecimal Size - wielkość czcionki
  4. Long/BigDecimal Baseline - odległość od kresek (pod lub nad, zależnie od znaku liczby)
  5. Boolean StartStopText - początkowa i końcowa gwiazdka *
  6. Boolean ChecksumText - wypisanie sumy kontrolnej
W miejsce każdego parametru można wstawić wartość null. Tablica nie musi zawierać wszystkich parametrów (może być krótsza). Jeżeli w kontekście dokumentu nie ma ustawionej czcionki to zostaną wygenerowane same kreski kodu.

Definicja koloru: tablica komponentów koloru (wartości od 0 do 255): [czerwony, zielony, niebieski], lub nazwa (dla kolorów podstawowych): RED, BLUE, YELLOW...

Parameters:
code - kod do wygenerowania
type - typ kodu
barParams - parametry kodu
textParams - parametry tekstu
Throws:
palio.PalioException

extractColor

public static java.awt.Color extractColor(java.lang.Object value)
                                   throws palio.PalioException
Przykłady dla value: [100, 100, 100], RED, red, BLACK...

Throws:
palio.PalioException

mergePDFs

public static byte[] mergePDFs(java.util.LinkedList<byte[]> pdfs_byte)
                        throws palio.PalioException
łączenie kilku pdfów w calo

Throws:
palio.PalioException

concatPDFs

public static byte[] concatPDFs(java.util.LinkedList streamOfPDFFiles,
                                java.io.OutputStream outputStream,
                                boolean paginate)
                         throws palio.PalioException
Throws:
palio.PalioException