aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/knowcenter/wag/egov/egiz/pdf
diff options
context:
space:
mode:
authornetconomy <netconomy@7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c>2007-09-06 12:18:45 +0000
committernetconomy <netconomy@7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c>2007-09-06 12:18:45 +0000
commit85e574618b04a34d5e41444d17ce7e6d5a93cc5b (patch)
tree1720e8a11493b8175a927e7462687f8ec6848609 /src/main/java/at/knowcenter/wag/egov/egiz/pdf
parent148948fa82b26a78b5c2b7d0a79777474b64e581 (diff)
downloadpdf-as-3-85e574618b04a34d5e41444d17ce7e6d5a93cc5b.tar.gz
pdf-as-3-85e574618b04a34d5e41444d17ce7e6d5a93cc5b.tar.bz2
pdf-as-3-85e574618b04a34d5e41444d17ce7e6d5a93cc5b.zip
Streaming Rückbau
git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/trunk@210 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c
Diffstat (limited to 'src/main/java/at/knowcenter/wag/egov/egiz/pdf')
-rw-r--r--src/main/java/at/knowcenter/wag/egov/egiz/pdf/BinarySignature.java7
-rw-r--r--src/main/java/at/knowcenter/wag/egov/egiz/pdf/EGIZDate.java16
-rw-r--r--src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFUtilities.java15
-rw-r--r--src/main/java/at/knowcenter/wag/egov/egiz/pdf/TextualSignature.java17
4 files changed, 39 insertions, 16 deletions
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 d253393..677990b 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
@@ -689,9 +689,10 @@ public abstract class BinarySignature
// System.out.println("wprinz: STAMPING PDF");
- InputStream is = original_document.createInputStream();
- PdfReader reader = new PdfReader(is);
- is.close();
+ //InputStream is = original_document.createInputStream();
+ byte [] pdf_data = original_document.getAsByteArray();
+ PdfReader reader = new PdfReader(pdf_data);
+ //is.close();
OutputStream baos = written_pdf.createOutputStream("application/pdf");
// ByteArrayOutputStream baos = new ByteArrayOutputStream();
diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/pdf/EGIZDate.java b/src/main/java/at/knowcenter/wag/egov/egiz/pdf/EGIZDate.java
index 8b8475c..b801706 100644
--- a/src/main/java/at/knowcenter/wag/egov/egiz/pdf/EGIZDate.java
+++ b/src/main/java/at/knowcenter/wag/egov/egiz/pdf/EGIZDate.java
@@ -134,9 +134,19 @@ public class EGIZDate {
if (li >= 19) {
date_value = new StringBuffer(date_value).deleteCharAt(li).toString();
}
- if (date_value.endsWith("Z")) {
- date_value = date_value.substring(0, date_value.length()-2) + "UTC";
- }
+ // FIXME: @iaik: wenn man bei UTC+"Z" die letzten -2 Zeichen durch "UTC" ersetzt verliert die Zeit ihre Sekunden-Einerstelle!!!!!!!
+ // alter code:
+// if (date_value.endsWith("Z")) {
+// date_value = date_value.substring(0, date_value.length()-2) + "UTC";
+// }
+ // neuer code:
+ if (date_value.endsWith("ZZ")) {
+ date_value = date_value.substring(0, date_value.length()-2) + "UTC";
+ }
+ if (date_value.endsWith("Z")) {
+ date_value = date_value.substring(0, date_value.length()-1) + "UTC";
+ }
+
} else {
date_value += "UTC";
}
diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFUtilities.java b/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFUtilities.java
index e19c244..b40d129 100644
--- a/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFUtilities.java
+++ b/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFUtilities.java
@@ -23,6 +23,7 @@ import java.io.IOException;
import java.util.List;
import at.gv.egiz.pdfas.framework.input.PdfDataSource;
+import at.gv.egiz.pdfas.impl.input.ByteArrayPdfDataSourceImpl;
import org.pdfbox.pdfparser.PDFParser;
import org.pdfbox.pdmodel.PDDocument;
@@ -47,7 +48,7 @@ public abstract class PDFUtilities
{
//ByteArrayInputStream original_bais = new ByteArrayInputStream(pdf);
//byte [] normalized_pdf = TextualSignature.normalizePDF(original_bais);
- byte [] normalized_pdf = TextualSignature.normalizePDF(pdfDataSource.createInputStream());
+ byte [] normalized_pdf = TextualSignature.normalizePDF(pdfDataSource);
// PERF: The whole PDF normalization process is costy
ByteArrayInputStream bais = new ByteArrayInputStream(normalized_pdf);
@@ -80,12 +81,20 @@ public abstract class PDFUtilities
return calculatePageLength(pdpage, footer_line);
}
+ /**
+ * @deprecated
+ * @param pdf
+ * @param footer_line
+ * @return
+ * @throws PDFDocumentException
+ */
public static float calculateLastPageLength(final byte[] pdf, float footer_line) throws PDFDocumentException
{
try
{
- ByteArrayInputStream original_bais = new ByteArrayInputStream(pdf);
- byte [] normalized_pdf = TextualSignature.normalizePDF(original_bais);
+ //ByteArrayInputStream original_bais = new ByteArrayInputStream(pdf);
+ PdfDataSource dataSource = new ByteArrayPdfDataSourceImpl(pdf);
+ byte [] normalized_pdf = TextualSignature.normalizePDF(dataSource);
ByteArrayInputStream bais = new ByteArrayInputStream(normalized_pdf);
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 668bbcb..04b96fc 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
@@ -25,6 +25,7 @@ import java.io.InputStream;
import at.gv.egiz.pdfas.performance.PerformanceCounters;
import at.gv.egiz.pdfas.exceptions.pdf.TextExtractionException;
+import at.gv.egiz.pdfas.framework.input.PdfDataSource;
import org.apache.log4j.Logger;
import org.pdfbox.pdfparser.PDFParser;
@@ -64,7 +65,7 @@ public class TextualSignature
* @throws PresentableException
* Forwarded exception.
*/
- public static String extractTextTextual(InputStream pdf_stream) throws TextExtractionException
+ public static String extractTextTextual(PdfDataSource pdfDataSource) throws TextExtractionException
{
PerformanceCounters.textExtractions.increment();
@@ -83,8 +84,9 @@ public class TextualSignature
// byte[] bytes = normalizePDF(pdf_stream);
//iText
- PdfReader reader = new PdfReader(pdf_stream);
- pdf_stream.close();
+ byte [] pdf_data = pdfDataSource.getAsByteArray();
+ PdfReader reader = new PdfReader(pdf_data);
+ //pdf_stream.close();
// PERF: PDF normalization needs byte array - this is costy
ByteArrayOutputStream baos = new ByteArrayOutputStream(4096);
@@ -202,11 +204,12 @@ public class TextualSignature
* @throws IOException
* @throws DocumentException
*/
- public static byte[] normalizePDF(InputStream input_pdf) throws IOException, DocumentException
+ public static byte[] normalizePDF(PdfDataSource pdfDataSource) throws IOException, DocumentException
{
- //iText
- PdfReader reader = new PdfReader(input_pdf);
- input_pdf.close();
+ //iText
+ byte [] pdf_data = pdfDataSource.getAsByteArray();
+ PdfReader reader = new PdfReader(pdf_data);
+ //input_pdf.close();
// PERF: PDF Normalization needs byte array
ByteArrayOutputStream baos = new ByteArrayOutputStream();