public abstract class AbstractPdfExtractor
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected java.util.List<PdfEintrag> |
buchungsDaten
List of effective dates for entries
|
protected org.apache.pdfbox.pdmodel.PDDocument |
document
Das PDF Document
|
protected java.lang.String |
kartenNummer
Die Kreditkartennummer
|
protected static int |
MAX_ONE_WORD
Threshold PDFBox value for keeping one word in one line.
|
protected static int |
MAX_TWO_WORD
Threshold PDFBox value for keeping 2 words in one line.
|
protected java.text.NumberFormat |
numFormat
Dezimalformatierer des Saldos
|
protected java.lang.String |
rechungsDatum
Date of the bank statement
|
protected static java.lang.String |
WORT_DELIMITER
The delimiter in the return string from the PDFBox extraction separating
the positions and description values.
|
protected static int |
WORT_INFO_LENGTH
Ein extrahiertes Wort muss genau 3 Felder haben: PosX, PosY und das
eigentliche Wort.
|
Constructor and Description |
---|
AbstractPdfExtractor(java.io.InputStream inputStream,
java.lang.String kartenNummer)
Abstracter Konstruktor mit Angabe des PDF inputStreams und der
Kartennummer.
|
Modifier and Type | Method and Description |
---|---|
protected abstract void |
addYear(java.util.List<PdfEintrag> entries)
Adds the year to each entry as this is might be not enclosed in the PDF
bank statement entries.
|
void |
close()
Schließt das PDF Dokument
|
protected abstract AbstractBankPDFPage |
getBankPdfPageEven()
Liefert die PDFPage der geraden Seiten des Auszugs.
|
protected abstract AbstractBankPDFPage |
getBankPdfPageFirst()
Liefert die PDFPage der ersten Seite des Auszugs.
|
protected abstract AbstractBankPDFPage |
getBankPdfPageOdd()
Liefert die PDFPage der ungeraden Seiten des Auszugs.
|
protected java.util.List<PdfEintrag> |
getBetraege(AbstractBankPDFPage textAreas)
Liefert die Beträge der Umsä auf dem PDF
|
java.lang.String |
getBic(AbstractBankPDFPage textAreas)
Liefert die BIC des PDF-Auszuges
|
java.util.List<PdfBuchung> |
getExtract()
Extracts all entries from the PDF bank statement and returns them in as a
PdfBuchung list.
|
protected java.util.List<PdfEintrag> |
getFremdwaehrungen(AbstractBankPDFPage textAreas)
Liefert die Fremdwährungen.
|
protected java.util.List<PdfEintrag> |
getFremdwaehrungsBetraege(AbstractBankPDFPage textAreas)
Liefert den Fremdwährungbetrag.
|
java.lang.String |
getIban(AbstractBankPDFPage textAreas)
Liefert die IBAN des PDF-Auszuges
|
protected java.lang.String |
getKarteninhaber(AbstractBankPDFPage textAreas)
Liefert den Karteninhaber des PDF-Auszuges
|
protected java.lang.String |
getKartenkonto(AbstractBankPDFPage textAreas)
Liefert das Kartenkonto des PDF-Auszuges
|
protected abstract java.text.NumberFormat |
getNumberFormat()
Liefert das NumberFormat zum Parsen des Saldos.
|
protected java.math.BigDecimal |
getSaldo(AbstractBankPDFPage textAreas)
Liefert das Saldo des Auszuges
|
protected abstract AbstractTransactionCreator |
getTransactionCreator()
Liefert den konkreten TransactionCreator der Bank.
|
protected abstract void |
removeAnnotations(java.util.List<PdfEintrag> eintragsListe)
Hier kann eine konkrete Implementierung noch Änderungen an der
anderen Listen vornehmen.
|
protected abstract void |
removeAnnotationsBookingDates(java.util.List<PdfEintrag> buchungenDatum)
Hier kann eine konkrete Implementierung noch Änderungen an der Liste
der Buchungsdaten vornehmen.
|
protected abstract void |
reOrder(java.util.List<PdfBuchung> buchungen)
Here a concrete implementation can add an order mechanism to the
transaction list before the saldo is calculated.
|
protected static final int MAX_ONE_WORD
protected static final int MAX_TWO_WORD
protected static final java.lang.String WORT_DELIMITER
protected static final int WORT_INFO_LENGTH
protected transient java.lang.String rechungsDatum
protected transient java.util.List<PdfEintrag> buchungsDaten
protected final transient java.text.NumberFormat numFormat
protected transient org.apache.pdfbox.pdmodel.PDDocument document
protected final transient java.lang.String kartenNummer
public AbstractPdfExtractor(java.io.InputStream inputStream, java.lang.String kartenNummer)
inputStream
- das PDF als inputStream.kartenNummer
- die Kartennummer gegen die das PDF geprüft wird.public void close()
public java.util.List<PdfBuchung> getExtract() throws InvalidCardNumber
InvalidCardNumber
protected abstract AbstractTransactionCreator getTransactionCreator()
protected abstract java.text.NumberFormat getNumberFormat()
protected abstract AbstractBankPDFPage getBankPdfPageFirst() throws java.io.IOException
java.io.IOException
protected abstract AbstractBankPDFPage getBankPdfPageEven() throws java.io.IOException
java.io.IOException
protected abstract AbstractBankPDFPage getBankPdfPageOdd() throws java.io.IOException
java.io.IOException
protected abstract void removeAnnotationsBookingDates(java.util.List<PdfEintrag> buchungenDatum)
buchungenDatum
- protected abstract void removeAnnotations(java.util.List<PdfEintrag> eintragsListe)
eintragsListe
- protected abstract void addYear(java.util.List<PdfEintrag> entries)
entries
- protected abstract void reOrder(java.util.List<PdfBuchung> buchungen)
buchungen
- protected java.lang.String getKartenkonto(AbstractBankPDFPage textAreas)
textAreas
- die TextArea mit der Kartenkontoprotected java.lang.String getKarteninhaber(AbstractBankPDFPage textAreas)
textAreas
- die TextArea mit dem Karteninhaberprotected java.math.BigDecimal getSaldo(AbstractBankPDFPage textAreas)
textAreas
- die textArea mit dem Saldoprotected java.util.List<PdfEintrag> getFremdwaehrungsBetraege(AbstractBankPDFPage textAreas)
textAreas
- Der Textbereich mit den Fremdwährungsbeträgen.protected java.util.List<PdfEintrag> getFremdwaehrungen(AbstractBankPDFPage textAreas)
textAreas
- Der Textbereich mit den Fremdwährungen.protected java.util.List<PdfEintrag> getBetraege(AbstractBankPDFPage textAreas)
textAreas
- die TextAre ader Beträge.public java.lang.String getIban(AbstractBankPDFPage textAreas)
textAreas
- die Textarea in der die IBAN-Position definiert ist.public java.lang.String getBic(AbstractBankPDFPage textAreas)
textAreas
- die Textarea in der die BIC-Position definiert ist.