diff options
author | tknall <tknall@7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c> | 2010-08-12 07:50:58 +0000 |
---|---|---|
committer | tknall <tknall@7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c> | 2010-08-12 07:50:58 +0000 |
commit | ad806535da32c317abba16d29326e65b7c10bf13 (patch) | |
tree | e7f05f795ae9e88e7609203a7fab11f6fc270ef5 /src/main/java/at/knowcenter/wag/egov/egiz/pdf | |
parent | 19049a1a803b1732090487b5b432bea4203b8998 (diff) | |
download | pdf-as-3-ad806535da32c317abba16d29326e65b7c10bf13.tar.gz pdf-as-3-ad806535da32c317abba16d29326e65b7c10bf13.tar.bz2 pdf-as-3-ad806535da32c317abba16d29326e65b7c10bf13.zip |
more logging
new errorcode for invalid signature dictionary (232)
detect invalid signature dictionary
detect errors (invalid glyph mappings) when extracting text
remove useless certificate digest calculation
remove invocation of erroneous getCertDigest method
webapp: hotfix for NPE
adjustments for new mocca (applet) version (layout)
POM: removed deprecated maven elements
git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/trunk@587 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c
Diffstat (limited to 'src/main/java/at/knowcenter/wag/egov/egiz/pdf')
4 files changed, 20 insertions, 2 deletions
diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/pdf/AbsoluteTextSignature.java b/src/main/java/at/knowcenter/wag/egov/egiz/pdf/AbsoluteTextSignature.java index a036772..817eb20 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/pdf/AbsoluteTextSignature.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/pdf/AbsoluteTextSignature.java @@ -311,6 +311,17 @@ public class AbsoluteTextSignature {
potential_block_end = findEndOfValue(text, potential_block_end);
}
+
+ // FIXME: complete HOTFIX
+ /*
+ int extendedValueEnd = potential_block_end;
+ String cv;
+ do {
+ extendedValueEnd = findEndOfValue(text, extendedValueEnd);
+ cv = text.substring(last_caption_index + current_last_caption.length()+1, extendedValueEnd);
+ } while (extendedValueEnd < text.length());
+ */
+
logger.debug("potential_block_end = " + potential_block_end);
List found_keys = PdfAS.findBlockInText(text.substring(0, potential_block_end), block_type, old_style); // findRestKeys(text,
// keys,
diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/pdf/BinarySignature.java b/src/main/java/at/knowcenter/wag/egov/egiz/pdf/BinarySignature.java index 32871e8..ec6f567 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/pdf/BinarySignature.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/pdf/BinarySignature.java @@ -1940,6 +1940,9 @@ public abstract class BinarySignature if (cur_ri == null || !ByteArrayUtils.compareByteArrays(cur_ri.brev, 0, brevs[cur]))
{
+ if (cur >= encodings.length) {
+ throw new PDFDocumentException(ErrorCode.INVALID_SIGNATURE_DICTIONARY, "Invalid EGIZ signature dictionary.");
+ }
cur_ri = new ReplaceInfo();
cur_ri.replaces = new ArrayList();
diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFSignatureObjectIText.java b/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFSignatureObjectIText.java index a843369..39b5daf 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFSignatureObjectIText.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFSignatureObjectIText.java @@ -496,7 +496,6 @@ public class PDFSignatureObjectIText implements PDFSignatureObject {
pdf_cell.setColspan(cell.getColSpan());
}
- // TODO[tknall]: Check if cell nowrap may be used to prevent wrapping of cells containing keys.
if (cell.isNoWrap())
{
pdf_cell.setNoWrap(true);
diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/pdf/TextualSignature.java b/src/main/java/at/knowcenter/wag/egov/egiz/pdf/TextualSignature.java index 85bc4fd..4a9814d 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/pdf/TextualSignature.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/pdf/TextualSignature.java @@ -167,7 +167,12 @@ public class TextualSignature // stripper.setStartPage(4);
// stripper.setEndPage(4);
logger_.debug("TextualSignator extractTextTextual: Begin stripping text");
- String text = stripper.getText(doc, encoding);
+ String text;
+ try {
+ text = stripper.getText(doc, encoding);
+ } catch (Exception e) {
+ throw new PDFDocumentException(ErrorCode.TEXT_EXTRACTION_EXCEPTION, "Unable to extract textual content.", e);
+ }
logger_.debug("TextualSignator extractTextTextual: Stripping text ended");
doc.close();
|