From 4852f856d9713ec07d1223417932cd5d5070ff8c Mon Sep 17 00:00:00 2001 From: tknall Date: Tue, 19 Jan 2010 21:59:41 +0000 Subject: - handling protected documents improved. - minor web application improvements git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/trunk@557 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c --- .../at/knowcenter/wag/egov/egiz/pdf/TextualSignature.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'src/main/java/at/knowcenter/wag/egov/egiz/pdf/TextualSignature.java') 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 841e2a6..85bc4fd 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 @@ -30,6 +30,7 @@ import org.pdfbox.util.PDFTextStripper; import at.gv.egiz.pdfas.exceptions.ErrorCode; import at.gv.egiz.pdfas.framework.input.PdfDataSource; import at.gv.egiz.pdfas.performance.PerformanceCounters; +import at.gv.egiz.pdfas.utils.PDFASUtils; import at.knowcenter.wag.egov.egiz.cfg.ConfigLogger; import at.knowcenter.wag.egov.egiz.cfg.SettingsReader; import at.knowcenter.wag.egov.egiz.exceptions.PDFDocumentException; @@ -85,11 +86,7 @@ public class TextualSignature byte [] pdf_data = pdfDataSource.getAsByteArray(); PdfReader reader = new PdfReader(pdf_data); - if (!reader.isOpenedWithFullPermissions()) { - // cannot perform modification and extraction - throw new PDFDocumentException(ErrorCode.DOCUMENT_IS_PROTECTED, "Document is protected."); - - } + PDFASUtils.checkReaderPermissions(reader); //pdf_stream.close(); // PERF: PDF normalization needs byte array - this is costy @@ -212,12 +209,14 @@ public class TextualSignature * @return Returns the normalized pdf. * @throws IOException * @throws DocumentException + * @throws PDFDocumentException */ - public static byte[] normalizePDF(PdfDataSource pdfDataSource) throws IOException, DocumentException + public static byte[] normalizePDF(PdfDataSource pdfDataSource) throws IOException, DocumentException, PDFDocumentException { //iText byte [] pdf_data = pdfDataSource.getAsByteArray(); PdfReader reader = new PdfReader(pdf_data); + PDFASUtils.checkReaderPermissions(reader); //input_pdf.close(); // PERF: PDF Normalization needs byte array -- cgit v1.2.3