diff options
Diffstat (limited to 'pdf-as-lib')
134 files changed, 7176 insertions, 4110 deletions
| diff --git a/pdf-as-lib/build.gradle b/pdf-as-lib/build.gradle index 43e31242..9e440fb8 100644 --- a/pdf-as-lib/build.gradle +++ b/pdf-as-lib/build.gradle @@ -1,5 +1,6 @@  apply plugin: 'java'  apply plugin: 'eclipse' +apply plugin: 'java-library-distribution'  jar {  	manifest { @@ -129,6 +130,17 @@ test {  	systemProperties 'property': 'value'  } +distributions { +    main { +        contents { +            from { '../docs' } +	    from('../doc/') { +	       include '*.pdf' +	    }  +        } +    } +} +  uploadArchives {  	repositories {  		flatDir { diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/dsig/ObjectFactory.java b/pdf-as-lib/src/main/java/at/gv/egiz/dsig/ObjectFactory.java index 49eec607..b5018435 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/dsig/ObjectFactory.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/dsig/ObjectFactory.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/dsig/X509DataType.java b/pdf-as-lib/src/main/java/at/gv/egiz/dsig/X509DataType.java index 2ecfa62d..41be7577 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/dsig/X509DataType.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/dsig/X509DataType.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/dsig/X509IssuerSerialType.java b/pdf-as-lib/src/main/java/at/gv/egiz/dsig/X509IssuerSerialType.java index 650ba68c..6f5366fb 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/dsig/X509IssuerSerialType.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/dsig/X509IssuerSerialType.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/dsig/util/DsigMarschaller.java b/pdf-as-lib/src/main/java/at/gv/egiz/dsig/util/DsigMarschaller.java index 17770737..3b2308f5 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/dsig/util/DsigMarschaller.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/dsig/util/DsigMarschaller.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.dsig.util;  import java.io.InputStream; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/moa/ByteArrayDataSource.java b/pdf-as-lib/src/main/java/at/gv/egiz/moa/ByteArrayDataSource.java index 4c3a2c6e..1e5dd918 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/moa/ByteArrayDataSource.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/moa/ByteArrayDataSource.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.moa;  import java.io.ByteArrayInputStream; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/moa/MOAFault.java b/pdf-as-lib/src/main/java/at/gv/egiz/moa/MOAFault.java index 3de2c135..c37b5983 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/moa/MOAFault.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/moa/MOAFault.java @@ -1,4 +1,26 @@ - +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  /**   * MOAFault.java   * @@ -40,4 +62,4 @@ public class MOAFault extends java.lang.Exception{         return faultMessage;      }  } -    
\ No newline at end of file +     diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/moa/SignatureCreationServiceCallbackHandler.java b/pdf-as-lib/src/main/java/at/gv/egiz/moa/SignatureCreationServiceCallbackHandler.java index 18fe872e..78c4987a 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/moa/SignatureCreationServiceCallbackHandler.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/moa/SignatureCreationServiceCallbackHandler.java @@ -1,4 +1,26 @@ - +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  /**   * SignatureCreationServiceCallbackHandler.java   * @@ -79,4 +101,4 @@      } -    
\ No newline at end of file +     diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/moa/SignatureCreationServiceStub.java b/pdf-as-lib/src/main/java/at/gv/egiz/moa/SignatureCreationServiceStub.java index f543978f..10bdbb43 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/moa/SignatureCreationServiceStub.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/moa/SignatureCreationServiceStub.java @@ -1,4 +1,26 @@ - +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  /**   * SignatureCreationServiceStub.java   * @@ -71256,4 +71278,4 @@     } -   
\ No newline at end of file +    diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/moa/SignatureVerificationServiceCallbackHandler.java b/pdf-as-lib/src/main/java/at/gv/egiz/moa/SignatureVerificationServiceCallbackHandler.java index 25d1424c..875e18e5 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/moa/SignatureVerificationServiceCallbackHandler.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/moa/SignatureVerificationServiceCallbackHandler.java @@ -1,4 +1,26 @@ - +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  /**   * SignatureVerificationServiceCallbackHandler.java   * @@ -79,4 +101,4 @@      } -    
\ No newline at end of file +     diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/moa/SignatureVerificationServiceStub.java b/pdf-as-lib/src/main/java/at/gv/egiz/moa/SignatureVerificationServiceStub.java index 133d04db..26ca3994 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/moa/SignatureVerificationServiceStub.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/moa/SignatureVerificationServiceStub.java @@ -1,4 +1,26 @@ - +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  /**   * SignatureVerificationServiceStub.java   * @@ -71256,4 +71278,4 @@     } -   
\ No newline at end of file +    diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/ByteArrayDataSink.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/ByteArrayDataSink.java index a8931963..b7c14dbf 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/ByteArrayDataSink.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/ByteArrayDataSink.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.api;  import java.io.ByteArrayOutputStream; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/ByteArrayDataSource.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/ByteArrayDataSource.java index 6adfde51..fdf175c7 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/ByteArrayDataSource.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/ByteArrayDataSource.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.api;  /** diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/Configuration.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/Configuration.java index d2f00a59..54046e39 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/Configuration.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/Configuration.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.api;  /** diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/DataSink.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/DataSink.java index 258141b5..89dfd8c5 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/DataSink.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/DataSink.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.api;  import java.io.OutputStream; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/DataSource.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/DataSource.java index 093a3777..9bb2f7fc 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/DataSource.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/DataSource.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.api;  /** diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/IConfigurationConstants.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/IConfigurationConstants.java index 21f8c81e..127120d2 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/IConfigurationConstants.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/IConfigurationConstants.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.api;  public interface IConfigurationConstants { diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/PdfAs.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/PdfAs.java index 3ae329cf..15227c55 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/PdfAs.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/PdfAs.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.api;  import java.util.List; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/PdfAsFactory.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/PdfAsFactory.java index 02d217c2..6f84e9bc 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/PdfAsFactory.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/PdfAsFactory.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.api;  import iaik.security.ec.provider.ECCelerate; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/PdfAsParameter.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/PdfAsParameter.java index 0ef5f876..3f37eebb 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/PdfAsParameter.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/PdfAsParameter.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.api;  public interface PdfAsParameter { diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/SignaturePosition.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/SignaturePosition.java index 477d798f..f3107e99 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/SignaturePosition.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/SignaturePosition.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.api;  public interface SignaturePosition { diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/StatusRequest.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/StatusRequest.java index 2c283900..42bd79c6 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/StatusRequest.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/StatusRequest.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.api;  import java.security.cert.CertificateException; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/sign/IPlainSigner.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/sign/IPlainSigner.java index 70945678..8ab770e7 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/sign/IPlainSigner.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/sign/IPlainSigner.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.api.sign;  import iaik.x509.X509Certificate; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/sign/SignParameter.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/sign/SignParameter.java index 0b4fb389..905b8c2a 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/sign/SignParameter.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/sign/SignParameter.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.api.sign;  import at.gv.egiz.pdfas.lib.api.DataSink; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/sign/SignResult.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/sign/SignResult.java index d994c3e1..0af34121 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/sign/SignResult.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/sign/SignResult.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.api.sign;  import java.security.cert.X509Certificate; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/verify/SignatureCheck.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/verify/SignatureCheck.java index a021eb2a..2a1698c6 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/verify/SignatureCheck.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/verify/SignatureCheck.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.api.verify;  public interface SignatureCheck { diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/verify/VerifyParameter.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/verify/VerifyParameter.java index cd973146..3523c268 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/verify/VerifyParameter.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/verify/VerifyParameter.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.api.verify;  import java.util.Date; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/verify/VerifyResult.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/verify/VerifyResult.java index 7aa391b5..40e82c91 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/verify/VerifyResult.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/verify/VerifyResult.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.api.verify;  import iaik.x509.X509Certificate; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java index d477ee0f..a2ad3575 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl;  import java.io.ByteArrayInputStream; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsParameterImpl.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsParameterImpl.java index d4bb44e6..c9e8ef54 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsParameterImpl.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsParameterImpl.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl;  import at.gv.egiz.pdfas.lib.api.Configuration; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/SignParameterImpl.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/SignParameterImpl.java index acf1f7da..ddf2eaef 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/SignParameterImpl.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/SignParameterImpl.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl;  import at.gv.egiz.pdfas.lib.api.Configuration; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/SignResultImpl.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/SignResultImpl.java index 28a2a33b..87fb2881 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/SignResultImpl.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/SignResultImpl.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl;  import java.security.cert.X509Certificate; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/SignaturePositionImpl.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/SignaturePositionImpl.java index 7ad8174b..80f6078e 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/SignaturePositionImpl.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/SignaturePositionImpl.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl;  import at.gv.egiz.pdfas.lib.api.SignaturePosition; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/StatusRequestImpl.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/StatusRequestImpl.java index 71e5cb4e..86b8325e 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/StatusRequestImpl.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/StatusRequestImpl.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl;  import iaik.x509.X509Certificate; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/VerifyParameterImpl.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/VerifyParameterImpl.java index d754c032..b7b81761 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/VerifyParameterImpl.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/VerifyParameterImpl.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl;  import java.util.Date; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/ConfigurationImpl.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/ConfigurationImpl.java index 9303036f..c767b990 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/ConfigurationImpl.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/ConfigurationImpl.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl.configuration;  import java.util.HashMap; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/GlobalConfiguration.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/GlobalConfiguration.java index 2124f63e..78bde7ec 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/GlobalConfiguration.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/GlobalConfiguration.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl.configuration;  import at.gv.egiz.pdfas.common.settings.ISettings; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/PlaceholderConfiguration.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/PlaceholderConfiguration.java index 7d3beb5c..ec030388 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/PlaceholderConfiguration.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/PlaceholderConfiguration.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl.configuration;  import at.gv.egiz.pdfas.common.settings.ISettings; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/SignatureProfileConfiguration.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/SignatureProfileConfiguration.java index b2d5207d..a7dd3138 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/SignatureProfileConfiguration.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/SignatureProfileConfiguration.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl.configuration;  import at.gv.egiz.pdfas.common.settings.ISettings; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/SpecificBaseConfiguration.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/SpecificBaseConfiguration.java index 88c7b3d7..e2c1eb5e 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/SpecificBaseConfiguration.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/SpecificBaseConfiguration.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl.configuration;  import at.gv.egiz.pdfas.common.settings.ISettings; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/placeholder/SignaturePlaceholderContext.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/placeholder/SignaturePlaceholderContext.java index 28a34f6a..f09202ae 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/placeholder/SignaturePlaceholderContext.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/placeholder/SignaturePlaceholderContext.java @@ -1,72 +1,95 @@ -/**
 - * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
 - * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
 - * joint initiative of the Federal Chancellery Austria and Graz University of
 - * Technology.
 - *
 - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
 - * the European Commission - subsequent versions of the EUPL (the "Licence");
 - * You may not use this work except in compliance with the Licence.
 - * You may obtain a copy of the Licence at:
 - * http://www.osor.eu/eupl/
 - *
 - * Unless required by applicable law or agreed to in writing, software
 - * distributed under the Licence is distributed on an "AS IS" basis,
 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 - * See the Licence for the specific language governing permissions and
 - * limitations under the Licence.
 - *
 - * This product combines work with different licenses. See the "NOTICE" text
 - * file for details on the various modules and licenses.
 - * The "NOTICE" text file is part of the distribution. Any derivative works
 - * that you distribute must include a readable copy of the "NOTICE" text file.
 - */
 -package at.gv.egiz.pdfas.lib.impl.placeholder;
 -
 -/**
 - * Store and retrieve {@link SignaturePlaceholderData} in/from a thread local context.
 - * 
 - * @author exthex
 - *
 - */
 -public class SignaturePlaceholderContext {
 -   
 -   private ThreadLocal sigHolder = new ThreadLocal();
 -   
 -   private static SignaturePlaceholderContext instance = new SignaturePlaceholderContext();
 -   
 -   /**
 -    * Constructor. Private because this is a singleton.
 -    */
 -   private SignaturePlaceholderContext() {
 -      
 -   }
 -
 -   /**
 -    * Get the {@link SignaturePlaceholderData} which is currently bound to this thread.
 -    * Might be null.
 -    * 
 -    * @return
 -    */
 -   public static SignaturePlaceholderData getSignaturePlaceholderData(){
 -      return (SignaturePlaceholderData)instance.sigHolder.get();
 -   }
 -
 -   /**
 -    * 
 -    * @return true if there is currently a {@link SignaturePlaceholderData} bound to this thread, false otherwise.
 -    */
 -   public static boolean isSignaturePlaceholderDataSet() {
 -      return instance.sigHolder.get() != null;
 -   }
 -
 -   /**
 -    * Bind a {@link SignaturePlaceholderData} to this thread.
 -    * If the given data is null, the context will be cleared.
 -    * 
 -    * @param data if null, clears the ThreadLocal, else binds the data to the current thread.
 -    */
 -   public static void setSignaturePlaceholderData(SignaturePlaceholderData data) {
 -      instance.sigHolder.set(data);
 -   }
 -}
 +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/ +/** + * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.gv.egiz.pdfas.lib.impl.placeholder; + +/** + * Store and retrieve {@link SignaturePlaceholderData} in/from a thread local context. + *  + * @author exthex + * + */ +public class SignaturePlaceholderContext { +    +   private ThreadLocal sigHolder = new ThreadLocal(); +    +   private static SignaturePlaceholderContext instance = new SignaturePlaceholderContext(); +    +   /** +    * Constructor. Private because this is a singleton. +    */ +   private SignaturePlaceholderContext() { +       +   } + +   /** +    * Get the {@link SignaturePlaceholderData} which is currently bound to this thread. +    * Might be null. +    *  +    * @return +    */ +   public static SignaturePlaceholderData getSignaturePlaceholderData(){ +      return (SignaturePlaceholderData)instance.sigHolder.get(); +   } + +   /** +    *  +    * @return true if there is currently a {@link SignaturePlaceholderData} bound to this thread, false otherwise. +    */ +   public static boolean isSignaturePlaceholderDataSet() { +      return instance.sigHolder.get() != null; +   } + +   /** +    * Bind a {@link SignaturePlaceholderData} to this thread. +    * If the given data is null, the context will be cleared. +    *  +    * @param data if null, clears the ThreadLocal, else binds the data to the current thread. +    */ +   public static void setSignaturePlaceholderData(SignaturePlaceholderData data) { +      instance.sigHolder.set(data); +   } +} diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/placeholder/SignaturePlaceholderData.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/placeholder/SignaturePlaceholderData.java index d068104a..333e581b 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/placeholder/SignaturePlaceholderData.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/placeholder/SignaturePlaceholderData.java @@ -1,152 +1,175 @@ -/**
 - * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
 - * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
 - * joint initiative of the Federal Chancellery Austria and Graz University of
 - * Technology.
 - *
 - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
 - * the European Commission - subsequent versions of the EUPL (the "Licence");
 - * You may not use this work except in compliance with the Licence.
 - * You may obtain a copy of the Licence at:
 - * http://www.osor.eu/eupl/
 - *
 - * Unless required by applicable law or agreed to in writing, software
 - * distributed under the Licence is distributed on an "AS IS" basis,
 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 - * See the Licence for the specific language governing permissions and
 - * limitations under the Licence.
 - *
 - * This product combines work with different licenses. See the "NOTICE" text
 - * file for details on the various modules and licenses.
 - * The "NOTICE" text file is part of the distribution. Any derivative works
 - * that you distribute must include a readable copy of the "NOTICE" text file.
 - */
 -package at.gv.egiz.pdfas.lib.impl.placeholder;
 -
 -import at.knowcenter.wag.egov.egiz.pdf.TablePos;
 -
 -/**
 - * This class represents all the data which can be extracted from a placeholder image.
 - * 
 - * @author exthex
 - *
 - */
 -public class SignaturePlaceholderData {
 -
 -   public static final String ID_KEY = "id";
 -
 -   public static final String PROFILE_KEY = "profile";
 -
 -   public static final String TYPE_KEY = "type";
 -
 -   public static final String SIG_KEY_KEY = "key";
 -
 -   private String profile;
 -
 -   private String type;
 -
 -   private String key;
 -
 -   private String id;
 -
 -   private TablePos tablePos;
 -
 -   private String placeholderName;
 -
 -   /**
 -    * 
 -    * @param profile
 -    * @param type
 -    * @param sigKey
 -    * @param id 
 -    */
 -   public SignaturePlaceholderData(String profile, String type, String sigKey, String id) {
 -      this.profile = profile;
 -      this.type = type;
 -      this.key = sigKey;
 -      this.id = id;
 -   }
 -
 -   /**
 -    * Get the table position for the signature block.<br/>
 -    * The table position is created from the page number, the upper left corner and the width of the placeholder image.
 -    * 
 -    * @return
 -    */
 -   public TablePos getTablePos() {
 -      return tablePos;
 -   }
 -
 -   void setTablePos(TablePos tablePos) {
 -      this.tablePos = tablePos;
 -   }
 -
 -   /**
 -    * The profile name. Might be null if not included in the qr-code.
 -    * 
 -    * @return
 -    */
 -   public String getProfile() {
 -      return profile;
 -   }
 -
 -   void setProfile(String profile) {
 -      this.profile = profile;
 -   }
 -
 -   /**
 -    * The signature type: "textual" or "binary". Might be null if not included in the qr-code.
 -    * @return
 -    */
 -   public String getType() {
 -      return type;
 -   }
 -
 -   void setType(String type) {
 -      this.type = type;
 -   }
 -
 -   /**
 -    * The key identifier for MOA signature. Might be null if not included in the qr-code.
 -    * 
 -    * @return
 -    */
 -   public String getKey() {
 -      return key;
 -   }
 -
 -   void setKey(String key) {
 -      this.key = key;
 -   }
 -
 -   public String toString() {
 -      return getClass().toString() + ": profile=" + profile + "; type=" + type + "; sigKey=" + key + "; table pos=" + tablePos;
 -   }
 -
 -   void setPlaceholderName(String name) {
 -      this.placeholderName = name;
 -   }
 -
 -   /**
 -    * The name of the placeholder image.
 -    * 
 -    * @return
 -    */
 -   public String getPlaceholderName() {
 -      return placeholderName;
 -   }
 -
 -   /**
 -    * The id associated with this placeholder.
 -    * 
 -    * @return
 -    */
 -   public String getId() {
 -      return id;
 -   }
 -
 -   void setId(String id) {
 -      this.id = id;
 -   }
 -
 -}
 +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/ +/** + * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.gv.egiz.pdfas.lib.impl.placeholder; + +import at.knowcenter.wag.egov.egiz.pdf.TablePos; + +/** + * This class represents all the data which can be extracted from a placeholder image. + *  + * @author exthex + * + */ +public class SignaturePlaceholderData { + +   public static final String ID_KEY = "id"; + +   public static final String PROFILE_KEY = "profile"; + +   public static final String TYPE_KEY = "type"; + +   public static final String SIG_KEY_KEY = "key"; + +   private String profile; + +   private String type; + +   private String key; + +   private String id; + +   private TablePos tablePos; + +   private String placeholderName; + +   /** +    *  +    * @param profile +    * @param type +    * @param sigKey +    * @param id  +    */ +   public SignaturePlaceholderData(String profile, String type, String sigKey, String id) { +      this.profile = profile; +      this.type = type; +      this.key = sigKey; +      this.id = id; +   } + +   /** +    * Get the table position for the signature block.<br/> +    * The table position is created from the page number, the upper left corner and the width of the placeholder image. +    *  +    * @return +    */ +   public TablePos getTablePos() { +      return tablePos; +   } + +   void setTablePos(TablePos tablePos) { +      this.tablePos = tablePos; +   } + +   /** +    * The profile name. Might be null if not included in the qr-code. +    *  +    * @return +    */ +   public String getProfile() { +      return profile; +   } + +   void setProfile(String profile) { +      this.profile = profile; +   } + +   /** +    * The signature type: "textual" or "binary". Might be null if not included in the qr-code. +    * @return +    */ +   public String getType() { +      return type; +   } + +   void setType(String type) { +      this.type = type; +   } + +   /** +    * The key identifier for MOA signature. Might be null if not included in the qr-code. +    *  +    * @return +    */ +   public String getKey() { +      return key; +   } + +   void setKey(String key) { +      this.key = key; +   } + +   public String toString() { +      return getClass().toString() + ": profile=" + profile + "; type=" + type + "; sigKey=" + key + "; table pos=" + tablePos; +   } + +   void setPlaceholderName(String name) { +      this.placeholderName = name; +   } + +   /** +    * The name of the placeholder image. +    *  +    * @return +    */ +   public String getPlaceholderName() { +      return placeholderName; +   } + +   /** +    * The id associated with this placeholder. +    *  +    * @return +    */ +   public String getId() { +      return id; +   } + +   void setId(String id) { +      this.id = id; +   } + +} diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/placeholder/SignaturePlaceholderExtractor.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/placeholder/SignaturePlaceholderExtractor.java index 0f6a31cd..52e25781 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/placeholder/SignaturePlaceholderExtractor.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/placeholder/SignaturePlaceholderExtractor.java @@ -1,351 +1,374 @@ -/**
 - * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
 - * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
 - * joint initiative of the Federal Chancellery Austria and Graz University of
 - * Technology.
 - *
 - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
 - * the European Commission - subsequent versions of the EUPL (the "Licence");
 - * You may not use this work except in compliance with the Licence.
 - * You may obtain a copy of the Licence at:
 - * http://www.osor.eu/eupl/
 - *
 - * Unless required by applicable law or agreed to in writing, software
 - * distributed under the Licence is distributed on an "AS IS" basis,
 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 - * See the Licence for the specific language governing permissions and
 - * limitations under the Licence.
 - *
 - * This product combines work with different licenses. See the "NOTICE" text
 - * file for details on the various modules and licenses.
 - * The "NOTICE" text file is part of the distribution. Any derivative works
 - * that you distribute must include a readable copy of the "NOTICE" text file.
 - */
 -package at.gv.egiz.pdfas.lib.impl.placeholder;
 -
 -import java.awt.geom.AffineTransform;
 -import java.awt.geom.NoninvertibleTransformException;
 -import java.awt.image.BufferedImage;
 -import java.io.IOException;
 -import java.io.InputStream;
 -import java.util.Hashtable;
 -import java.util.Iterator;
 -import java.util.List;
 -import java.util.Map;
 -import java.util.Vector;
 -
 -import org.apache.commons.logging.Log;
 -import org.apache.commons.logging.LogFactory;
 -import org.apache.pdfbox.cos.COSName;
 -import org.apache.pdfbox.exceptions.WrappedIOException;
 -import org.apache.pdfbox.pdmodel.PDDocument;
 -import org.apache.pdfbox.pdmodel.PDPage;
 -import org.apache.pdfbox.pdmodel.graphics.xobject.PDXObject;
 -import org.apache.pdfbox.pdmodel.graphics.xobject.PDXObjectImage;
 -import org.apache.pdfbox.util.Matrix;
 -import org.apache.pdfbox.util.PDFOperator;
 -import org.apache.pdfbox.util.PDFStreamEngine;
 -import org.apache.pdfbox.util.ResourceLoader;
 -
 -import at.gv.egiz.pdfas.common.exceptions.PDFIOException;
 -import at.gv.egiz.pdfas.common.exceptions.PdfAsException;
 -import at.gv.egiz.pdfas.common.exceptions.PlaceholderExtractionException;
 -import at.knowcenter.wag.egov.egiz.pdf.TablePos;
 -
 -import com.google.zxing.BarcodeFormat;
 -import com.google.zxing.BinaryBitmap;
 -import com.google.zxing.DecodeHintType;
 -import com.google.zxing.LuminanceSource;
 -import com.google.zxing.MultiFormatReader;
 -import com.google.zxing.NotFoundException;
 -import com.google.zxing.ReaderException;
 -import com.google.zxing.Result;
 -import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
 -import com.google.zxing.common.HybridBinarizer;
 -
 -//////
 -
 -
 -
 -/**
 - * Extract all relevant information from a placeholder image.
 - *
 - * @author exthex
 - *
 - */
 -public class SignaturePlaceholderExtractor extends PDFStreamEngine {
 -   /**
 -    * The log.
 -    */
 -   private static Log log = LogFactory.getLog(SignaturePlaceholderExtractor.class);
 -
 -   public static final String QR_PLACEHOLDER_IDENTIFIER = "PDF-AS-POS";
 -   public static final int PLACEHOLDER_MATCH_MODE_STRICT = 0;
 -   public static final int PLACEHOLDER_MATCH_MODE_MODERATE = 1;
 -   public static final int PLACEHOLDER_MATCH_MODE_LENIENT = 2;
 -   
 -   private List placeholders = new Vector();
 -   private int currentPage = 0;
 -
 -   private SignaturePlaceholderExtractor(String placeholderId, int placeholderMatchMode) throws IOException {
 -      super(ResourceLoader.loadProperties("placeholder/pdfbox-reader.properties",
 -            true));
 -   }
 -
 -   /**
 -    * Search the document for placeholder images and possibly included
 -    * additional info.<br/>
 -    * Searches only for the first placeholder page after page from top.
 -    *
 -    * @param inputStream
 -    * @return all available info from the first found placeholder.
 -    * @throws PDFDocumentException if the document could not be read.
 -    * @throws PlaceholderExtractionException if STRICT matching mode was requested and no suitable placeholder could be found.
 -    */
 -   public static SignaturePlaceholderData extract(InputStream inputStream, String placeholderId, int matchMode)
 -         throws PdfAsException {
 -      SignaturePlaceholderContext.setSignaturePlaceholderData(null);
 -      PDDocument doc = null;
 -      try
 -      {
 -         try {
 -            doc = PDDocument.load(inputStream);
 -         } catch (IOException e) {
 -            throw new PDFIOException("error.pdf.io.04", e);
 -         }
 -         SignaturePlaceholderExtractor extractor;
 -         try
 -         {
 -            extractor = new SignaturePlaceholderExtractor(placeholderId, matchMode);
 -         } catch (IOException e2) {
 -            throw new PDFIOException("error.pdf.io.04", e2);
 -         }
 -         List pages = doc.getDocumentCatalog().getAllPages();
 -         Iterator iter = pages.iterator();
 -         int pageNr = 0;
 -         while (iter.hasNext()) {
 -            pageNr++;
 -            PDPage page = (PDPage) iter.next();
 -            try {
 -               extractor.setCurrentPage(pageNr);
 -               extractor.processStream( page, page.findResources(), page.getContents().getStream() );
 -               SignaturePlaceholderData ret = matchPlaceholderPage(extractor.placeholders, placeholderId, matchMode);
 -               if (ret != null){
 -            	   SignaturePlaceholderContext.setSignaturePlaceholderData(ret);
 -                  return ret;
 -               }
 -            } catch (IOException e1) {
 -            	throw new PDFIOException("error.pdf.io.04", e1);
 -            }
 -
 -         }
 -         if (extractor.placeholders.size() > 0){
 -        	SignaturePlaceholderData ret = matchPlaceholderDocument(extractor.placeholders, placeholderId, matchMode);
 -            SignaturePlaceholderContext.setSignaturePlaceholderData(ret);
 -            return ret;
 -         }
 -         // no placeholders found, apply strict mode if set
 -         if (matchMode == PLACEHOLDER_MATCH_MODE_STRICT) {
 -            throw new PlaceholderExtractionException("error.pdf.stamp.09");
 -         }
 -
 -         return null;
 -      } finally {
 -         if (doc != null)
 -            try {
 -               doc.close();
 -            } catch (IOException e) {
 -               log.debug("Could not close document.", e);
 -            }
 -      }
 -
 -   }
 -
 -   private static SignaturePlaceholderData matchPlaceholderDocument(
 -         List placeholders, String placeholderId, int matchMode) throws PlaceholderExtractionException {
 -
 -      if (matchMode == PLACEHOLDER_MATCH_MODE_STRICT)
 -         throw new PlaceholderExtractionException("error.pdf.stamp.09");
 -
 -      if (placeholders.size() == 0)
 -         return null;
 -
 -      for (int i = 0; i < placeholders.size(); i++)
 -      {
 -         SignaturePlaceholderData spd = (SignaturePlaceholderData)placeholders.get(i);
 -         if (spd.getId() == null)
 -            return spd;
 -      }
 -
 -      if (matchMode == PLACEHOLDER_MATCH_MODE_LENIENT)
 -         return (SignaturePlaceholderData)placeholders.get(0);
 -
 -      return null;
 -   }
 -
 -   private static SignaturePlaceholderData matchPlaceholderPage(List placeholders,
 -         String placeholderId, int matchMode) {
 -      if (placeholders.size() == 0)
 -         return null;
 -      for (int i = 0; i < placeholders.size(); i++)
 -      {
 -         SignaturePlaceholderData data = (SignaturePlaceholderData)placeholders.get(i);
 -         if (placeholderId != null && placeholderId.equals(data.getId()))
 -            return data;
 -         if (placeholderId == null && data.getId() == null)
 -            return data;
 -      }
 -      return null;
 -   }
 -
 -   private void setCurrentPage(int pageNr) {
 -      this.currentPage = pageNr;
 -   }
 -
 -   protected void processOperator( PDFOperator operator, List arguments ) throws IOException
 -   {
 -	   String operation = operator.getOperation();
 -	  if( operation.equals( "Do" ) )
 -       {
 -		   COSName objectName = (COSName)arguments.get( 0 );
 -           Map xobjects = getResources().getXObjects();
 -           PDXObject xobject = (PDXObject)xobjects.get( objectName.getName() );
 -           if( xobject instanceof PDXObjectImage )
 -           {
 -        	   try
 -               {
 -                   PDXObjectImage image = (PDXObjectImage)xobject;
 -                   SignaturePlaceholderData data = checkImage(image);
 -                   if (data != null)
 -                   {
 -                      PDPage page = getCurrentPage();
 -                      Matrix ctm = getGraphicsState().getCurrentTransformationMatrix();
 -                      double rotationInRadians = (page.findRotation() * Math.PI)/180;
 -
 -                      AffineTransform rotation = new AffineTransform();
 -                      rotation.setToRotation( rotationInRadians );
 -                      AffineTransform rotationInverse = rotation.createInverse();
 -                      Matrix rotationInverseMatrix = new Matrix();
 -                      rotationInverseMatrix.setFromAffineTransform( rotationInverse );
 -                      Matrix rotationMatrix = new Matrix();
 -                      rotationMatrix.setFromAffineTransform( rotation );
 -
 -                      Matrix unrotatedCTM = ctm.multiply( rotationInverseMatrix );
 -
 -                      float x = unrotatedCTM.getXPosition();
 -                      float y = unrotatedCTM.getYPosition() + unrotatedCTM.getYScale();
 -                      float w = unrotatedCTM.getXScale();
 -
 -                      String posString = "p:" + currentPage + ";x:" + x + ";y:" + y + ";w:" + w;
 -                      try
 -                      {
 -                         data.setTablePos(new TablePos(posString));
 -                         data.setPlaceholderName(objectName.getName());
 -                         placeholders.add(data);
 -                      } catch (PdfAsException e) {
 -                         throw new WrappedIOException(e);
 -                      }
 -                   }
 -               }
 -               catch( NoninvertibleTransformException e )
 -               {
 -                   throw new WrappedIOException( e );
 -               }
 -           }
 -       }
 -       else
 -       {
 -    	   super.processOperator( operator, arguments );
 -       }
 -   }
 -
 -   /**
 -    * Checks an image if it is a placeholder for a signature.
 -    *
 -    * @param image
 -    * @return
 -    * @throws IOException
 -    */
 -   private SignaturePlaceholderData checkImage(PDXObjectImage image) throws IOException {
 -	  BufferedImage bimg = image.getRGBImage();
 -      if (bimg == null) {
 -         String type = image.getSuffix();
 -         if (type != null) {
 -            type = type.toUpperCase() + " images";
 -         } else {
 -            type = "Image type";
 -         }
 -         log.info("Unable to extract image for QRCode analysis. " + type + " not supported. Add additional JAI Image filters to your classpath. Refer to https://jai.dev.java.net. Skipping image.");
 -         return null;
 -      }
 -      if(bimg.getHeight() < 10 || bimg.getWidth() < 10) {
 -         log.debug("Image too small for QRCode. Skipping image.");
 -         return null;
 -      }
 -
 -      LuminanceSource source = new BufferedImageLuminanceSource(bimg);
 -      BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
 -      Result result;
 -      long before = System.currentTimeMillis();
 -      try {
 -    	 Hashtable hints = new Hashtable();
 -         Vector formats = new Vector();
 -         formats.add(BarcodeFormat.QR_CODE);
 -         hints.put(DecodeHintType.POSSIBLE_FORMATS, formats);
 -         result = new MultiFormatReader().decode(bitmap, hints);
 -
 -         String text = result.getText();
 -         String profile = null;
 -         String type = null;
 -         String sigKey = null;
 -         String id = null;
 -         if (text != null) {
 -            if (text.startsWith(QR_PLACEHOLDER_IDENTIFIER)) {
 -               String[] data = text.split(";");
 -               if (data.length > 1) {
 -            	  for (int i = 1; i < data.length; i++) {
 -                     String kvPair = data[i];
 -                     String[] kv = kvPair.split("=");
 -                     if (kv.length != 2) {
 -                        log.debug("Invalid parameter in placeholder data: " + kvPair);
 -                     } else {
 -                        if (kv[0].equalsIgnoreCase(SignaturePlaceholderData.ID_KEY)) {
 -                           id = kv[1];
 -                        } else if (kv[0].equalsIgnoreCase(SignaturePlaceholderData.PROFILE_KEY)) {
 -                           profile = kv[1];
 -                        } else if (kv[0]
 -                              .equalsIgnoreCase(SignaturePlaceholderData.SIG_KEY_KEY)) {
 -                           sigKey = kv[1];
 -                        } else if (kv[0]
 -                              .equalsIgnoreCase(SignaturePlaceholderData.TYPE_KEY)) {
 -                           type = kv[1];
 -                        }
 -                     }
 -                  }
 -               }
 -               return new SignaturePlaceholderData(profile, type, sigKey, id);
 -            } else {
 -               log.warn("QR-Code found but does not start with \"" + QR_PLACEHOLDER_IDENTIFIER + "\". Ignoring QR placeholder.");
 -            }
 -         }
 -      } catch (ReaderException re) {
 -         if (log.isDebugEnabled()) {
 -            log.debug("Could not decode - not a placeholder. needed: "
 -                  + (System.currentTimeMillis() - before));
 -         }
 -         if (!(re instanceof NotFoundException)){
 -            if (log.isInfoEnabled()) {
 -               log.info("Failed to decode image", re);
 -            }
 -         }
 -      } catch(ArrayIndexOutOfBoundsException e){
 -         if (log.isInfoEnabled()) {
 -            log.info("Failed to decode image. Probably a zxing bug", e);
 -         }
 -      }
 -      return null;
 -   }
 -
 -}
 -
 -
 +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/ +/** + * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.gv.egiz.pdfas.lib.impl.placeholder; + +import java.awt.geom.AffineTransform; +import java.awt.geom.NoninvertibleTransformException; +import java.awt.image.BufferedImage; +import java.io.IOException; +import java.io.InputStream; +import java.util.Hashtable; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Vector; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.pdfbox.cos.COSName; +import org.apache.pdfbox.exceptions.WrappedIOException; +import org.apache.pdfbox.pdmodel.PDDocument; +import org.apache.pdfbox.pdmodel.PDPage; +import org.apache.pdfbox.pdmodel.graphics.xobject.PDXObject; +import org.apache.pdfbox.pdmodel.graphics.xobject.PDXObjectImage; +import org.apache.pdfbox.util.Matrix; +import org.apache.pdfbox.util.PDFOperator; +import org.apache.pdfbox.util.PDFStreamEngine; +import org.apache.pdfbox.util.ResourceLoader; + +import at.gv.egiz.pdfas.common.exceptions.PDFIOException; +import at.gv.egiz.pdfas.common.exceptions.PdfAsException; +import at.gv.egiz.pdfas.common.exceptions.PlaceholderExtractionException; +import at.knowcenter.wag.egov.egiz.pdf.TablePos; + +import com.google.zxing.BarcodeFormat; +import com.google.zxing.BinaryBitmap; +import com.google.zxing.DecodeHintType; +import com.google.zxing.LuminanceSource; +import com.google.zxing.MultiFormatReader; +import com.google.zxing.NotFoundException; +import com.google.zxing.ReaderException; +import com.google.zxing.Result; +import com.google.zxing.client.j2se.BufferedImageLuminanceSource; +import com.google.zxing.common.HybridBinarizer; + +////// + + + +/** + * Extract all relevant information from a placeholder image. + * + * @author exthex + * + */ +public class SignaturePlaceholderExtractor extends PDFStreamEngine { +   /** +    * The log. +    */ +   private static Log log = LogFactory.getLog(SignaturePlaceholderExtractor.class); + +   public static final String QR_PLACEHOLDER_IDENTIFIER = "PDF-AS-POS"; +   public static final int PLACEHOLDER_MATCH_MODE_STRICT = 0; +   public static final int PLACEHOLDER_MATCH_MODE_MODERATE = 1; +   public static final int PLACEHOLDER_MATCH_MODE_LENIENT = 2; +    +   private List placeholders = new Vector(); +   private int currentPage = 0; + +   private SignaturePlaceholderExtractor(String placeholderId, int placeholderMatchMode) throws IOException { +      super(ResourceLoader.loadProperties("placeholder/pdfbox-reader.properties", +            true)); +   } + +   /** +    * Search the document for placeholder images and possibly included +    * additional info.<br/> +    * Searches only for the first placeholder page after page from top. +    * +    * @param inputStream +    * @return all available info from the first found placeholder. +    * @throws PDFDocumentException if the document could not be read. +    * @throws PlaceholderExtractionException if STRICT matching mode was requested and no suitable placeholder could be found. +    */ +   public static SignaturePlaceholderData extract(InputStream inputStream, String placeholderId, int matchMode) +         throws PdfAsException { +      SignaturePlaceholderContext.setSignaturePlaceholderData(null); +      PDDocument doc = null; +      try +      { +         try { +            doc = PDDocument.load(inputStream); +         } catch (IOException e) { +            throw new PDFIOException("error.pdf.io.04", e); +         } +         SignaturePlaceholderExtractor extractor; +         try +         { +            extractor = new SignaturePlaceholderExtractor(placeholderId, matchMode); +         } catch (IOException e2) { +            throw new PDFIOException("error.pdf.io.04", e2); +         } +         List pages = doc.getDocumentCatalog().getAllPages(); +         Iterator iter = pages.iterator(); +         int pageNr = 0; +         while (iter.hasNext()) { +            pageNr++; +            PDPage page = (PDPage) iter.next(); +            try { +               extractor.setCurrentPage(pageNr); +               extractor.processStream( page, page.findResources(), page.getContents().getStream() ); +               SignaturePlaceholderData ret = matchPlaceholderPage(extractor.placeholders, placeholderId, matchMode); +               if (ret != null){ +            	   SignaturePlaceholderContext.setSignaturePlaceholderData(ret); +                  return ret; +               } +            } catch (IOException e1) { +            	throw new PDFIOException("error.pdf.io.04", e1); +            } + +         } +         if (extractor.placeholders.size() > 0){ +        	SignaturePlaceholderData ret = matchPlaceholderDocument(extractor.placeholders, placeholderId, matchMode); +            SignaturePlaceholderContext.setSignaturePlaceholderData(ret); +            return ret; +         } +         // no placeholders found, apply strict mode if set +         if (matchMode == PLACEHOLDER_MATCH_MODE_STRICT) { +            throw new PlaceholderExtractionException("error.pdf.stamp.09"); +         } + +         return null; +      } finally { +         if (doc != null) +            try { +               doc.close(); +            } catch (IOException e) { +               log.debug("Could not close document.", e); +            } +      } + +   } + +   private static SignaturePlaceholderData matchPlaceholderDocument( +         List placeholders, String placeholderId, int matchMode) throws PlaceholderExtractionException { + +      if (matchMode == PLACEHOLDER_MATCH_MODE_STRICT) +         throw new PlaceholderExtractionException("error.pdf.stamp.09"); + +      if (placeholders.size() == 0) +         return null; + +      for (int i = 0; i < placeholders.size(); i++) +      { +         SignaturePlaceholderData spd = (SignaturePlaceholderData)placeholders.get(i); +         if (spd.getId() == null) +            return spd; +      } + +      if (matchMode == PLACEHOLDER_MATCH_MODE_LENIENT) +         return (SignaturePlaceholderData)placeholders.get(0); + +      return null; +   } + +   private static SignaturePlaceholderData matchPlaceholderPage(List placeholders, +         String placeholderId, int matchMode) { +      if (placeholders.size() == 0) +         return null; +      for (int i = 0; i < placeholders.size(); i++) +      { +         SignaturePlaceholderData data = (SignaturePlaceholderData)placeholders.get(i); +         if (placeholderId != null && placeholderId.equals(data.getId())) +            return data; +         if (placeholderId == null && data.getId() == null) +            return data; +      } +      return null; +   } + +   private void setCurrentPage(int pageNr) { +      this.currentPage = pageNr; +   } + +   protected void processOperator( PDFOperator operator, List arguments ) throws IOException +   { +	   String operation = operator.getOperation(); +	  if( operation.equals( "Do" ) ) +       { +		   COSName objectName = (COSName)arguments.get( 0 ); +           Map xobjects = getResources().getXObjects(); +           PDXObject xobject = (PDXObject)xobjects.get( objectName.getName() ); +           if( xobject instanceof PDXObjectImage ) +           { +        	   try +               { +                   PDXObjectImage image = (PDXObjectImage)xobject; +                   SignaturePlaceholderData data = checkImage(image); +                   if (data != null) +                   { +                      PDPage page = getCurrentPage(); +                      Matrix ctm = getGraphicsState().getCurrentTransformationMatrix(); +                      double rotationInRadians = (page.findRotation() * Math.PI)/180; + +                      AffineTransform rotation = new AffineTransform(); +                      rotation.setToRotation( rotationInRadians ); +                      AffineTransform rotationInverse = rotation.createInverse(); +                      Matrix rotationInverseMatrix = new Matrix(); +                      rotationInverseMatrix.setFromAffineTransform( rotationInverse ); +                      Matrix rotationMatrix = new Matrix(); +                      rotationMatrix.setFromAffineTransform( rotation ); + +                      Matrix unrotatedCTM = ctm.multiply( rotationInverseMatrix ); + +                      float x = unrotatedCTM.getXPosition(); +                      float y = unrotatedCTM.getYPosition() + unrotatedCTM.getYScale(); +                      float w = unrotatedCTM.getXScale(); + +                      String posString = "p:" + currentPage + ";x:" + x + ";y:" + y + ";w:" + w; +                      try +                      { +                         data.setTablePos(new TablePos(posString)); +                         data.setPlaceholderName(objectName.getName()); +                         placeholders.add(data); +                      } catch (PdfAsException e) { +                         throw new WrappedIOException(e); +                      } +                   } +               } +               catch( NoninvertibleTransformException e ) +               { +                   throw new WrappedIOException( e ); +               } +           } +       } +       else +       { +    	   super.processOperator( operator, arguments ); +       } +   } + +   /** +    * Checks an image if it is a placeholder for a signature. +    * +    * @param image +    * @return +    * @throws IOException +    */ +   private SignaturePlaceholderData checkImage(PDXObjectImage image) throws IOException { +	  BufferedImage bimg = image.getRGBImage(); +      if (bimg == null) { +         String type = image.getSuffix(); +         if (type != null) { +            type = type.toUpperCase() + " images"; +         } else { +            type = "Image type"; +         } +         log.info("Unable to extract image for QRCode analysis. " + type + " not supported. Add additional JAI Image filters to your classpath. Refer to https://jai.dev.java.net. Skipping image."); +         return null; +      } +      if(bimg.getHeight() < 10 || bimg.getWidth() < 10) { +         log.debug("Image too small for QRCode. Skipping image."); +         return null; +      } + +      LuminanceSource source = new BufferedImageLuminanceSource(bimg); +      BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source)); +      Result result; +      long before = System.currentTimeMillis(); +      try { +    	 Hashtable hints = new Hashtable(); +         Vector formats = new Vector(); +         formats.add(BarcodeFormat.QR_CODE); +         hints.put(DecodeHintType.POSSIBLE_FORMATS, formats); +         result = new MultiFormatReader().decode(bitmap, hints); + +         String text = result.getText(); +         String profile = null; +         String type = null; +         String sigKey = null; +         String id = null; +         if (text != null) { +            if (text.startsWith(QR_PLACEHOLDER_IDENTIFIER)) { +               String[] data = text.split(";"); +               if (data.length > 1) { +            	  for (int i = 1; i < data.length; i++) { +                     String kvPair = data[i]; +                     String[] kv = kvPair.split("="); +                     if (kv.length != 2) { +                        log.debug("Invalid parameter in placeholder data: " + kvPair); +                     } else { +                        if (kv[0].equalsIgnoreCase(SignaturePlaceholderData.ID_KEY)) { +                           id = kv[1]; +                        } else if (kv[0].equalsIgnoreCase(SignaturePlaceholderData.PROFILE_KEY)) { +                           profile = kv[1]; +                        } else if (kv[0] +                              .equalsIgnoreCase(SignaturePlaceholderData.SIG_KEY_KEY)) { +                           sigKey = kv[1]; +                        } else if (kv[0] +                              .equalsIgnoreCase(SignaturePlaceholderData.TYPE_KEY)) { +                           type = kv[1]; +                        } +                     } +                  } +               } +               return new SignaturePlaceholderData(profile, type, sigKey, id); +            } else { +               log.warn("QR-Code found but does not start with \"" + QR_PLACEHOLDER_IDENTIFIER + "\". Ignoring QR placeholder."); +            } +         } +      } catch (ReaderException re) { +         if (log.isDebugEnabled()) { +            log.debug("Could not decode - not a placeholder. needed: " +                  + (System.currentTimeMillis() - before)); +         } +         if (!(re instanceof NotFoundException)){ +            if (log.isInfoEnabled()) { +               log.info("Failed to decode image", re); +            } +         } +      } catch(ArrayIndexOutOfBoundsException e){ +         if (log.isInfoEnabled()) { +            log.info("Failed to decode image. Probably a zxing bug", e); +         } +      } +      return null; +   } + +} + + diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/positioning/Positioning.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/positioning/Positioning.java index e0be68ee..c8c2f99f 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/positioning/Positioning.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/positioning/Positioning.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl.positioning;  import at.gv.egiz.pdfas.common.exceptions.PdfAsException; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/IPdfSigner.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/IPdfSigner.java index 38c6530a..98ade583 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/IPdfSigner.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/IPdfSigner.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl.signing;  import at.gv.egiz.pdfas.common.exceptions.PdfAsException; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/PdfSignerFactory.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/PdfSignerFactory.java index 469ea174..947574ba 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/PdfSignerFactory.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/PdfSignerFactory.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl.signing;  import at.gv.egiz.pdfas.lib.impl.signing.pdfbox.PADESPDFBOXSigner; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PADESPDFBOXSigner.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PADESPDFBOXSigner.java index 40b274a8..d93ff5e1 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PADESPDFBOXSigner.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PADESPDFBOXSigner.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl.signing.pdfbox;  import java.io.ByteArrayInputStream; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PdfboxSignerWrapper.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PdfboxSignerWrapper.java index 8000d8a0..4fe2ba6c 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PdfboxSignerWrapper.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PdfboxSignerWrapper.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl.signing.pdfbox;  import java.io.IOException; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/sig_interface/PDFASSignatureInterface.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/sig_interface/PDFASSignatureInterface.java index 43f0014d..c4ace1d7 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/sig_interface/PDFASSignatureInterface.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/sig_interface/PDFASSignatureInterface.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl.signing.sig_interface;  import java.util.Calendar; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/sig_interface/SignatureDataExtractor.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/sig_interface/SignatureDataExtractor.java index 4b7afa6c..32cfb410 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/sig_interface/SignatureDataExtractor.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/sig_interface/SignatureDataExtractor.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl.signing.sig_interface;  import iaik.x509.X509Certificate; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/sig_interface/SignatureDataInjector.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/sig_interface/SignatureDataInjector.java index cc120717..3308f784 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/sig_interface/SignatureDataInjector.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/sig_interface/SignatureDataInjector.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl.signing.sig_interface;  import iaik.x509.X509Certificate; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/CertificateResolver.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/CertificateResolver.java index f5a89741..0aacb1b0 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/CertificateResolver.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/CertificateResolver.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl.stamping;  import iaik.x509.X509Certificate; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/IPDFStamper.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/IPDFStamper.java index 5c84acfe..6de356ed 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/IPDFStamper.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/IPDFStamper.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl.stamping;  import at.gv.egiz.pdfas.common.exceptions.PdfAsException; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/IPDFVisualObject.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/IPDFVisualObject.java index fd7cac5c..f4e1cdf4 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/IPDFVisualObject.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/IPDFVisualObject.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl.stamping;  public interface IPDFVisualObject { diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/IResolver.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/IResolver.java index 921d9eca..4ba365fa 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/IResolver.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/IResolver.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl.stamping;  import at.gv.egiz.pdfas.common.settings.SignatureProfileSettings; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/StamperFactory.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/StamperFactory.java index e215e07d..05bccc89 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/StamperFactory.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/StamperFactory.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl.stamping;  import at.gv.egiz.pdfas.common.exceptions.PdfAsException; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/TableFactory.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/TableFactory.java index 9d574af7..cbda8e95 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/TableFactory.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/TableFactory.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl.stamping;  import at.gv.egiz.pdfas.common.settings.IProfileConstants; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/ValueResolver.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/ValueResolver.java index fa90afa3..dc24f40f 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/ValueResolver.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/ValueResolver.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl.stamping;  import java.text.SimpleDateFormat; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/OperationStatus.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/OperationStatus.java index 2f7b67e7..0796078f 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/OperationStatus.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/OperationStatus.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl.status;  import java.io.Serializable; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/PDFObject.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/PDFObject.java index df496f3f..514d0fa3 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/PDFObject.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/PDFObject.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl.status;  public class PDFObject { diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/RequestedSignature.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/RequestedSignature.java index 0d551c8b..63f6a0d7 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/RequestedSignature.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/RequestedSignature.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl.status;  import iaik.x509.X509Certificate; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/FilterEntry.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/FilterEntry.java index 59b20c97..83ef17e6 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/FilterEntry.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/FilterEntry.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl.verify;  import org.apache.pdfbox.cos.COSName; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/IVerifyFilter.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/IVerifyFilter.java index a13e384f..6f6a58b0 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/IVerifyFilter.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/IVerifyFilter.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl.verify;  import java.util.Date; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/SignatureCheckImpl.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/SignatureCheckImpl.java index 6daf4735..2ce74e6a 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/SignatureCheckImpl.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/SignatureCheckImpl.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl.verify;  import at.gv.egiz.pdfas.lib.api.verify.SignatureCheck; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/VerifierDispatcher.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/VerifierDispatcher.java index e0b57262..509494b2 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/VerifierDispatcher.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/VerifierDispatcher.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl.verify;  import java.util.HashMap; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/VerifyResultImpl.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/VerifyResultImpl.java index 5a67d807..5eb40662 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/VerifyResultImpl.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/VerifyResultImpl.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.impl.verify;  import iaik.x509.X509Certificate; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/package-info.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/package-info.java index e6ebd1d8..a1bd53c7 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/package-info.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/package-info.java @@ -1,4 +1,27 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  /**   * PDF-AS 4.0 Main package name   */ -package at.gv.egiz.pdfas.lib;
\ No newline at end of file +package at.gv.egiz.pdfas.lib; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/util/CertificateUtils.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/util/CertificateUtils.java index 2f4fbe10..c9cc4cf6 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/util/CertificateUtils.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/util/CertificateUtils.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.pdfas.lib.util;  import iaik.asn1.structures.AlgorithmID; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/AllSignatoriesType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/AllSignatoriesType.java index 6951073c..964ebe9e 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/AllSignatoriesType.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/AllSignatoriesType.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/AnyChildrenType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/AnyChildrenType.java index cebf21ae..20f12838 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/AnyChildrenType.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/AnyChildrenType.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/AnyMixedChildrenType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/AnyMixedChildrenType.java index 03afc871..b0684e59 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/AnyMixedChildrenType.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/AnyMixedChildrenType.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/Base64ContentType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/Base64ContentType.java index 7bbb4448..374fe703 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/Base64ContentType.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/Base64ContentType.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/Base64OptRefContentType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/Base64OptRefContentType.java index 44094a72..6a1bc6a4 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/Base64OptRefContentType.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/Base64OptRefContentType.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/Base64XMLContentType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/Base64XMLContentType.java index dd0055a6..2463ce97 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/Base64XMLContentType.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/Base64XMLContentType.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/BindingType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/BindingType.java index 55baaa94..6ca1d301 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/BindingType.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/BindingType.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/CMSDataObjectOptionalMetaType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/CMSDataObjectOptionalMetaType.java index 36ae9398..4e8c2527 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/CMSDataObjectOptionalMetaType.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/CMSDataObjectOptionalMetaType.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/CMSDataObjectRequiredMetaType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/CMSDataObjectRequiredMetaType.java index 87440ef3..46cf6f11 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/CMSDataObjectRequiredMetaType.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/CMSDataObjectRequiredMetaType.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/CreateCMSSignatureRequestType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/CreateCMSSignatureRequestType.java index 8d5599e6..5209ffd8 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/CreateCMSSignatureRequestType.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/CreateCMSSignatureRequestType.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/CreateCMSSignatureResponseType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/CreateCMSSignatureResponseType.java index d5a68de8..a6828c33 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/CreateCMSSignatureResponseType.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/CreateCMSSignatureResponseType.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/ErrorResponseType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/ErrorResponseType.java index 2a30b430..4d57a06a 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/ErrorResponseType.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/ErrorResponseType.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/ExcludedByteRangeType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/ExcludedByteRangeType.java index bc1bc303..a3da1bac 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/ExcludedByteRangeType.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/ExcludedByteRangeType.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetPropertiesRequest.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetPropertiesRequest.java index 448a45d5..0ce919b5 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetPropertiesRequest.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetPropertiesRequest.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetPropertiesRequestType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetPropertiesRequestType.java index 5a455ab0..7427a998 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetPropertiesRequestType.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetPropertiesRequestType.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetPropertiesResponseType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetPropertiesResponseType.java index 4fa8a9c4..73e92432 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetPropertiesResponseType.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetPropertiesResponseType.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetStatusRequestType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetStatusRequestType.java index 78a6d941..e60fd77a 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetStatusRequestType.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetStatusRequestType.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetStatusResponseType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetStatusResponseType.java index 5c4fa9e4..4fb33163 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetStatusResponseType.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetStatusResponseType.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxAssocArrayPairType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxAssocArrayPairType.java index 4745f0df..d53e0cd7 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxAssocArrayPairType.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxAssocArrayPairType.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadDataAssocArrayType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadDataAssocArrayType.java index 489c9656..ae71c629 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadDataAssocArrayType.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadDataAssocArrayType.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadParamsAssocArrayType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadParamsAssocArrayType.java index fd238971..24b01f4d 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadParamsAssocArrayType.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadParamsAssocArrayType.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadParamsBinaryFileType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadParamsBinaryFileType.java index 18e25614..d59404f6 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadParamsBinaryFileType.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadParamsBinaryFileType.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadRequestType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadRequestType.java index b39dcb2f..81a4744f 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadRequestType.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadRequestType.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadResponseType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadResponseType.java index fe8a6db4..cca0d73f 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadResponseType.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadResponseType.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/MetaInfoType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/MetaInfoType.java index 72080288..f0b69ef7 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/MetaInfoType.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/MetaInfoType.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/NullOperationRequestType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/NullOperationRequestType.java index 69b2f060..029a6908 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/NullOperationRequestType.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/NullOperationRequestType.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/NullOperationResponseType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/NullOperationResponseType.java index c7d3132e..70017337 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/NullOperationResponseType.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/NullOperationResponseType.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/ObjectFactory.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/ObjectFactory.java index 3e9ca0d3..a7b826d5 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/ObjectFactory.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/ObjectFactory.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/QualifiedBoxIdentifierType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/QualifiedBoxIdentifierType.java index 97908a88..2f7e6ebc 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/QualifiedBoxIdentifierType.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/QualifiedBoxIdentifierType.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/TokenStatusType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/TokenStatusType.java index a9f5e513..80a3fc91 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/TokenStatusType.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/TokenStatusType.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/VerifyCMSSignatureRequestType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/VerifyCMSSignatureRequestType.java index 8ed1bc03..5138240d 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/VerifyCMSSignatureRequestType.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/VerifyCMSSignatureRequestType.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/XMLContentType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/XMLContentType.java index 6d1342fc..22ca67e9 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/XMLContentType.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/XMLContentType.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/package-info.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/package-info.java index 6e4f6072..6266c1ed 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/package-info.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/package-info.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  //  // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>  diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/BKUSLConnector.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/BKUSLConnector.java index 080a16a7..95be4512 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/BKUSLConnector.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/BKUSLConnector.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.sl.util;  import java.io.BufferedReader; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/BaseSLConnector.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/BaseSLConnector.java index 8772239c..0001d855 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/BaseSLConnector.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/BaseSLConnector.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.sl.util;  import java.math.BigInteger; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/ISLConnector.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/ISLConnector.java index 3c0c1b84..779787eb 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/ISLConnector.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/ISLConnector.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.sl.util;  import at.gv.egiz.pdfas.common.exceptions.PDFIOException; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/ISignatureConnector.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/ISignatureConnector.java index 8830db5c..e39398a6 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/ISignatureConnector.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/ISignatureConnector.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.sl.util;  import iaik.x509.X509Certificate; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/ISignatureConnectorSLWrapper.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/ISignatureConnectorSLWrapper.java index 75b10c4c..edd7555e 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/ISignatureConnectorSLWrapper.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/ISignatureConnectorSLWrapper.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.sl.util;  import iaik.cms.CMSException; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/MOAConnector.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/MOAConnector.java index bd8f5d8d..71e7181a 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/MOAConnector.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/MOAConnector.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.sl.util;  import iaik.x509.X509Certificate; diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/SLMarschaller.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/SLMarschaller.java index 8f1b3cc5..b62dbfc0 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/SLMarschaller.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/SLMarschaller.java @@ -1,3 +1,26 @@ +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/  package at.gv.egiz.sl.util;  import java.io.InputStream; diff --git a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFPage.java b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFPage.java index b5928406..cdfedcc9 100644 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFPage.java +++ b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFPage.java @@ -1,502 +1,525 @@ -/**
 - * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
 - * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
 - * joint initiative of the Federal Chancellery Austria and Graz University of
 - * Technology.
 - *
 - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
 - * the European Commission - subsequent versions of the EUPL (the "Licence");
 - * You may not use this work except in compliance with the Licence.
 - * You may obtain a copy of the Licence at:
 - * http://www.osor.eu/eupl/
 - *
 - * Unless required by applicable law or agreed to in writing, software
 - * distributed under the Licence is distributed on an "AS IS" basis,
 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 - * See the Licence for the specific language governing permissions and
 - * limitations under the Licence.
 - *
 - * This product combines work with different licenses. See the "NOTICE" text
 - * file for details on the various modules and licenses.
 - * The "NOTICE" text file is part of the distribution. Any derivative works
 - * that you distribute must include a readable copy of the "NOTICE" text file.
 - *
 - * $Id: PDFPage.java,v 1.5 2006/10/31 08:09:33 wprinz Exp $
 - */
 -package at.knowcenter.wag.egov.egiz.pdf;
 -
 -import at.knowcenter.wag.egov.egiz.pdf.operator.path.construction.*;
 -import at.knowcenter.wag.egov.egiz.pdf.operator.path.painting.*;
 -
 -import org.apache.commons.lang3.math.NumberUtils;
 -import org.apache.pdfbox.cos.COSName;
 -import org.apache.pdfbox.cos.COSStream;
 -import org.apache.pdfbox.pdmodel.PDPage;
 -import org.apache.pdfbox.pdmodel.PDResources;
 -import org.apache.pdfbox.pdmodel.common.PDRectangle;
 -import org.apache.pdfbox.pdmodel.common.PDStream;
 -import org.apache.pdfbox.pdmodel.graphics.xobject.PDXObject;
 -import org.apache.pdfbox.pdmodel.graphics.xobject.PDXObjectForm;
 -import org.apache.pdfbox.util.Matrix;
 -import org.apache.pdfbox.util.PDFOperator;
 -import org.apache.pdfbox.util.PDFTextStripper;
 -import org.apache.pdfbox.util.TextPosition;
 -import org.apache.pdfbox.util.operator.OperatorProcessor;
 -import org.slf4j.Logger;
 -import org.slf4j.LoggerFactory;
 -
 -import java.awt.*;
 -import java.awt.geom.GeneralPath;
 -import java.io.IOException;
 -import java.io.Writer;
 -import java.util.List;
 -import java.util.Map;
 -
 -/**
 - * PDFPage is an inner class that is used to calculate the page length of a PDF
 - * Document page. It extends the PDFTextStripper class and implement one
 - * interested method: {@link at.knowcenter.wag.egov.egiz.pdf.PDFPage#showCharacter(TextPosition)}<br>
 - * This method is called when processing the FileStream. By calling the method
 - * {@link org.apache.pdfbox.util.PDFStreamEngine#processStream(org.apache.pdfbox.pdmodel.PDPage, org.apache.pdfbox.pdmodel.PDResources, org.pdfbox.cos.COSStream)}
 - * the implemented method showCharacter is called.
 - * 
 - * @author wlackner
 - * @see PDFTextStripper
 - */
 -public class PDFPage extends PDFTextStripper {
 -	/**
 -	 * The logger definition.
 -	 */
 -    private static final Logger logger = LoggerFactory.getLogger(PDFPage.class);
 -
 -	/**
 -	 * The maximum (lowest) y position of a character.
 -	 */
 -	protected float max_character_ypos = Float.NEGATIVE_INFINITY;
 -
 -	/**
 -	 * The maximum (lowest y position of an image.
 -	 */
 -	protected float max_image_ypos = Float.NEGATIVE_INFINITY;
 -
 -	/**
 -	 * The effective page height.
 -	 */
 -	protected float effectivePageHeight;
 -
 -	/**
 -	 * The path currently being constructed.
 -	 */
 -	private GeneralPath currentPath = new GeneralPath();
 -
 -	/**
 -	 * The lowest position of a drawn path (originating from top).
 -	 */
 -	private float maxPathRelatedYPositionFromTop = Float.NEGATIVE_INFINITY;
 -
 -	/**
 -	 * Constructor.
 -	 * 
 -	 * @param effectivePageHeight
 -	 *            The height of the page to be evaluated. PDF elements outside
 -	 *            this height will not be considered.
 -	 * 
 -	 * @throws java.io.IOException
 -	 */
 -	public PDFPage(float effectivePageHeight, boolean legacy32) throws IOException {
 -		super();
 -
 -		this.effectivePageHeight = effectivePageHeight;
 -
 -		OperatorProcessor newInvoke = new MyInvoke(this);
 -		newInvoke.setContext(this);
 -        this.registerOperatorProcessor("Do", newInvoke);
 -        
 -		if (!legacy32) {
 -			registerCustomPathOperators();
 -		}
 -	}
 -
 -	/**
 -	 * Registers operators responsible for path construction and painting in
 -	 * order to fix auto positioning on pages with path elements.
 -	 * 
 -	 * @author Datentechnik Innovation GmbH
 -	 */
 -	@SuppressWarnings("unchecked")
 -	private void registerCustomPathOperators() {
 -
 -		// *** path construction
 -
 -        this.registerOperatorProcessor("m", new MoveTo(this));
 -        this.registerOperatorProcessor("l", new LineTo(this));
 -        this.registerOperatorProcessor("c", new CurveTo(this));
 -        this.registerOperatorProcessor("y", new CurveToReplicateFinalPoint(this));
 -        this.registerOperatorProcessor("v", new CurveToReplicateInitialPoint(this));
 -        this.registerOperatorProcessor("h", new ClosePath(this));
 -
 -		// *** path painting
 -
 -		// "S": stroke path
 -        this.registerOperatorProcessor("S", new StrokePath(this));
 -        this.registerOperatorProcessor("s", new CloseAndStrokePath(this));
 -        this.registerOperatorProcessor("f", new FillPathNonZeroWindingNumberRule(this));
 -        this.registerOperatorProcessor("F", new FillPathNonZeroWindingNumberRule(this));
 -        this.registerOperatorProcessor("f*", new FillPathEvenOddRule(this));
 -        this.registerOperatorProcessor("b", new CloseFillNonZeroAndStrokePath(this));
 -        this.registerOperatorProcessor("B", new FillNonZeroAndStrokePath(this));
 -        this.registerOperatorProcessor("b*", new CloseFillEvenOddAndStrokePath(this));
 -        this.registerOperatorProcessor("B*", new FillEvenOddAndStrokePath(this));
 -        this.registerOperatorProcessor("n", new EndPath(this));
 -
 -		// Note: The graphic context
 -		// (org.pdfbox.pdmodel.graphics.PDGraphicsState) of the underlying
 -		// pdfbox library does
 -		// not yet support clipping. This prevents feasible usage of clipping
 -		// operators (W, W*).
 -		// operators.put("W", new ...(this));
 -		// operators.put("W*", new ...(this));
 -
 -	}
 -
 -	/**
 -	 * Returns the path currently being constructed.
 -	 * 
 -	 * @return The path currently being constructed.
 -	 */
 -	public GeneralPath getCurrentPath() {
 -		return currentPath;
 -	}
 -
 -	/**
 -	 * Sets the current path.
 -	 * 
 -	 * @param currentPath
 -	 *            The new current path.
 -	 */
 -	public void setCurrentPath(GeneralPath currentPath) {
 -		this.currentPath = currentPath;
 -	}
 -
 -	/**
 -	 * Registers a rectangle that bounds the path currently being drawn.
 -	 * 
 -	 * @param bounds
 -	 *            A rectangle depicting the bounds (coordinates originating from
 -	 *            bottom left).
 -	 * @author Datentechnik Innovation GmbH
 -	 */
 -	public void registerPathBounds(Rectangle bounds) {
 -		if (!bounds.isEmpty()) {
 -			logger.debug("Registering path bounds: " + bounds);
 -
 -			// vertical start of rectangle (counting from top of page)
 -			float upperBoundYPositionFromTop;
 -
 -			// vertical end of rectangle (counting from top of page)
 -			// this depicts the current end of path-related page content
 -			float lowerBoundYPositionFromTop;
 -
 -			PDRectangle boundaryBox = this.getCurrentPage().findMediaBox();
 -			float pageHeight;
 -
 -			switch (this.getCurrentPage().findRotation()) {
 -			case 90: // CW
 -				pageHeight = boundaryBox.getWidth();
 -				upperBoundYPositionFromTop = (float) bounds.getMinX();
 -				lowerBoundYPositionFromTop = (float) bounds.getMaxX();
 -				break;
 -			case 180:
 -				pageHeight = boundaryBox.getHeight();
 -				upperBoundYPositionFromTop = (float) bounds.getMinY();
 -				lowerBoundYPositionFromTop = (float) bounds.getMaxY();
 -				break;
 -			case 270: // CCW
 -				pageHeight = boundaryBox.getWidth();
 -				upperBoundYPositionFromTop = pageHeight
 -						- (float) bounds.getMaxX();
 -				lowerBoundYPositionFromTop = pageHeight
 -						- (float) bounds.getMinX();
 -				break;
 -			default:
 -				pageHeight = boundaryBox.getHeight();
 -				upperBoundYPositionFromTop = pageHeight
 -						- (float) bounds.getMaxY();
 -				lowerBoundYPositionFromTop = pageHeight
 -						- (float) bounds.getMinY();
 -				break;
 -			}
 -
 -			// new maximum ?
 -			if (lowerBoundYPositionFromTop > maxPathRelatedYPositionFromTop) {
 -				// Is the rectangle (at least partly) located above the footer
 -				// line?
 -				// (effective page height := page height - footer line)
 -				if (upperBoundYPositionFromTop <= effectivePageHeight) {
 -					// yes: update current end of path-related page content
 -					maxPathRelatedYPositionFromTop = lowerBoundYPositionFromTop;
 -					logger.trace("New max path related y position (from top): "
 -							+ maxPathRelatedYPositionFromTop);
 -				} else {
 -					// no: rectangle is fully located below the footer line ->
 -					// ignore
 -					logger.trace("Ignoring path bound below the footer line.");
 -				}
 -			}
 -		}
 -	}
 -
 -	protected void processOperator(PDFOperator operator, List arguments)
 -			throws IOException {
 -		logger.trace("operator = " + operator);
 -		super.processOperator(operator, arguments);
 -	}
 -
 -	@Override
 -	protected void processTextPosition(TextPosition text) {
 -		showCharacter(text);
 -	}
 -	
 -	// exthex
 -	/**
 -	 * A method provided as an event interface to allow a subclass to perform
 -	 * some specific functionality when a character needs to be displayed. This
 -	 * method is used to calculate the latest position of a text in the page.
 -	 * Sorry for this missinterpretation of the method, but it is the only way
 -	 * to do this (provided by PDFBox)!!!
 -	 * 
 -	 * @param text
 -	 *            the character to be displayed -> calculate there y position.
 -	 */
 -	protected void showCharacter(TextPosition text) {
 -		float current_y = text.getY();
 -		final String character = text.getCharacter();
 -
 -		int pageRotation = this.getCurrentPage().findRotation();
 -		// logger_.debug("PageRotation = " + pageRotation);
 -		if (pageRotation == 0) {
 -			current_y = text.getY();
 -		}
 -		if (pageRotation == 90) {
 -			current_y = text.getX();
 -		}
 -		if (pageRotation == 180) {
 -			float page_height = this.getCurrentPage().findMediaBox().getHeight();
 -			current_y = page_height - text.getY();
 -		}
 -		if (pageRotation == 270) {
 -			float page_height = this.getCurrentPage().findMediaBox().getHeight();
 -			current_y = page_height - text.getX();
 -		}
 -
 -		if (current_y > this.effectivePageHeight) {
 -			// logger_.debug("character is below footer_line. footer_line = " +
 -			// this.footer_line + ", text.character=" + character + ", y=" +
 -			// current_y);
 -			return;
 -		}
 -
 -		// store ypos of the char if it is not empty
 -		if (!character.equals(" ") && current_y > this.max_character_ypos) {
 -			this.max_character_ypos = current_y;
 -		}
 -
 -	}
 -
 -	// use this funtion getting an unsorted text output
 -	// public void showString(byte[] string) {
 -	// logger_.debug(new String(string));
 -	// }
 -
 -	/**
 -	 * Returns the calculated page length.
 -	 * 
 -	 * @return the max page length value
 -	 */
 -	public float getMaxPageLength() {
 -		if (logger.isDebugEnabled()) {
 -			logger.debug("Determining page content length: text="
 -					+ max_character_ypos + ", image=" + max_image_ypos
 -					+ ", path=" + maxPathRelatedYPositionFromTop);
 -		}
 -		return NumberUtils.max(max_character_ypos, max_image_ypos,
 -                maxPathRelatedYPositionFromTop);
 -	}
 -
 -	public class MyInvoke extends OperatorProcessor {
 -
 -        private PDFPage mypage;
 -
 -        public MyInvoke(PDFPage page) {
 -            this.mypage = page;
 -        }
 -
 -		public void process(PDFOperator operator, List arguments)
 -				throws IOException {
 -			COSName name = (COSName) arguments.get(0);
 -
 -			// PDResources res = context.getResources();
 -
 -			Map xobjects = context.getXObjects();
 -			PDXObject xobject = (PDXObject) xobjects.get(name.getName());
 -
 -			PDStream stream = xobject.getPDStream();
 -			COSStream cos_stream = stream.getStream();
 -
 -			COSName subtype = (COSName) cos_stream
 -					.getDictionaryObject(COSName.SUBTYPE);
 -			if (subtype.equals(COSName.IMAGE)) {
 -				logger.debug("XObject Image");
 -
 -				Matrix ctm = context.getGraphicsState()
 -						.getCurrentTransformationMatrix();
 -                logger.debug("ctm = " + ctm);
 -
 -				Pos[] coordinates = new Pos[] { new Pos(0, 0, 1),
 -						new Pos(1, 0, 1), new Pos(0, 1, 1), new Pos(1, 1, 1) };
 -
 -				Pos[] transformed_coordinates = transtormCoordinates(
 -						coordinates, ctm);
 -
 -				/**********************************************************
 -				 * pdf-as fix: calculating min and max point of an image to look
 -				 * where the signature should be placed fix solves problems with
 -				 * footer and images and placement of the signature in an image
 -				 * only pdf document
 -				 **********************************************************/
 -
 -				float actual_lowest_point = Float.NaN;
 -				float actual_starting_point = Float.NaN;
 -
 -				int pageRotation = this.mypage.getCurrentPage().findRotation();
 -				logger.debug("PageRotation = " + pageRotation);
 -				if (pageRotation == 0) {
 -					float min_y = findMinY(transformed_coordinates);
 -                    logger.debug("min_y = " + min_y);
 -					float page_height = this.mypage.getCurrentPage().findMediaBox().getHeight();
 -                    logger.debug("page_height = " + page_height);
 -
 -					actual_lowest_point = page_height - min_y;
 -					actual_starting_point = page_height
 -							- findMaxY(transformed_coordinates);
 -				}
 -				if (pageRotation == 90) {
 -					float max_x = findMaxX(transformed_coordinates);
 -                    logger.debug("max_x = " + max_x);
 -					float page_width = this.mypage.getCurrentPage().findMediaBox().getWidth();
 -                    logger.debug("page_width = " + page_width);
 -
 -					actual_lowest_point = max_x;
 -					actual_starting_point = findMinX(transformed_coordinates);
 -				}
 -				if (pageRotation == 180) {
 -					float min_y = findMinY(transformed_coordinates);
 -                    logger.debug("min_y = " + min_y);
 -					float page_height = this.mypage.getCurrentPage().findMediaBox().getHeight();
 -					actual_lowest_point = page_height
 -							- findMaxY(transformed_coordinates);
 -					actual_starting_point = page_height - min_y;
 -				}
 -				if (pageRotation == 270) {
 -					float min_x = findMinX(transformed_coordinates);
 -                    logger.debug("min_x = " + min_x);
 -
 -					float page_width = this.mypage.getCurrentPage().findMediaBox().getWidth();
 -                    logger.debug("page_width = " + page_width);
 -
 -					actual_lowest_point = page_width - min_x;
 -					actual_starting_point = page_width
 -							- findMaxX(transformed_coordinates);
 -				}
 -
 -                logger.debug("actual_lowest_point = " + actual_lowest_point);
 -
 -				if (actual_lowest_point > PDFPage.this.effectivePageHeight
 -						&& actual_starting_point > PDFPage.this.effectivePageHeight) {
 -                    logger.debug("image is below footer_line");
 -					return;
 -				}
 -
 -				if (actual_lowest_point > PDFPage.this.max_image_ypos) {
 -					PDFPage.this.max_image_ypos = actual_lowest_point;
 -				}
 -
 -				return;
 -			}
 -
 -			if (xobject instanceof PDXObjectForm) {
 -				PDXObjectForm form = (PDXObjectForm) xobject;
 -				COSStream invoke = (COSStream) form.getCOSObject();
 -				PDResources pdResources = form.getResources();
 -				PDPage page = context.getCurrentPage();
 -				if (pdResources == null) {
 -					pdResources = page.findResources();
 -				}
 -
 -				getContext().processSubStream(page, pdResources, invoke);
 -			}
 -		}
 -	}
 -
 -	public static Pos[] transtormCoordinates(Pos[] coordinates, Matrix m) {
 -		Pos[] transformed = new Pos[coordinates.length];
 -		for (int i = 0; i < coordinates.length; i++) {
 -			transformed[i] = transtormCoordinate(coordinates[i], m);
 -		}
 -		return transformed;
 -	}
 -
 -	public static Pos transtormCoordinate(Pos pos, Matrix m) {
 -		Pos transformed = new Pos();
 -		transformed.x = pos.x * m.getValue(0, 0) + pos.y * m.getValue(1, 0)
 -				+ pos.z * m.getValue(2, 0);
 -		transformed.y = pos.x * m.getValue(0, 1) + pos.y * m.getValue(1, 1)
 -				+ pos.z * m.getValue(2, 1);
 -		transformed.z = pos.x * m.getValue(0, 2) + pos.y * m.getValue(1, 2)
 -				+ pos.z * m.getValue(2, 2);
 -
 -        logger.debug(" transformed " + pos + " --> " + transformed);
 -		return transformed;
 -	}
 -
 -	public static float findMinY(Pos[] coordinates) {
 -		float min = Float.POSITIVE_INFINITY;
 -		for (int i = 0; i < coordinates.length; i++) {
 -			if (coordinates[i].y < min) {
 -				min = coordinates[i].y;
 -			}
 -		}
 -		return min;
 -	}
 -
 -	public static float findMaxY(Pos[] coordinates) {
 -		float max = 0;
 -		for (int i = 0; i < coordinates.length; i++) {
 -			if (coordinates[i].y > max) {
 -				max = coordinates[i].y;
 -			}
 -		}
 -		return max;
 -	}
 -
 -	public static float findMaxX(Pos[] coordinates) {
 -		float max = Float.NEGATIVE_INFINITY;
 -		for (int i = 0; i < coordinates.length; i++) {
 -			if (coordinates[i].x > max) {
 -				max = coordinates[i].x;
 -			}
 -		}
 -		return max;
 -	}
 -
 -	public static float findMinX(Pos[] coordinates) {
 -		float min = Float.POSITIVE_INFINITY;
 -		for (int i = 0; i < coordinates.length; i++) {
 -			if (coordinates[i].x < min) {
 -				min = coordinates[i].x;
 -			}
 -		}
 -		return min;
 -	}
 -
 -}
\ No newline at end of file +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/ +/** + * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + * + * $Id: PDFPage.java,v 1.5 2006/10/31 08:09:33 wprinz Exp $ + */ +package at.knowcenter.wag.egov.egiz.pdf; + +import at.knowcenter.wag.egov.egiz.pdf.operator.path.construction.*; +import at.knowcenter.wag.egov.egiz.pdf.operator.path.painting.*; + +import org.apache.commons.lang3.math.NumberUtils; +import org.apache.pdfbox.cos.COSName; +import org.apache.pdfbox.cos.COSStream; +import org.apache.pdfbox.pdmodel.PDPage; +import org.apache.pdfbox.pdmodel.PDResources; +import org.apache.pdfbox.pdmodel.common.PDRectangle; +import org.apache.pdfbox.pdmodel.common.PDStream; +import org.apache.pdfbox.pdmodel.graphics.xobject.PDXObject; +import org.apache.pdfbox.pdmodel.graphics.xobject.PDXObjectForm; +import org.apache.pdfbox.util.Matrix; +import org.apache.pdfbox.util.PDFOperator; +import org.apache.pdfbox.util.PDFTextStripper; +import org.apache.pdfbox.util.TextPosition; +import org.apache.pdfbox.util.operator.OperatorProcessor; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.awt.*; +import java.awt.geom.GeneralPath; +import java.io.IOException; +import java.io.Writer; +import java.util.List; +import java.util.Map; + +/** + * PDFPage is an inner class that is used to calculate the page length of a PDF + * Document page. It extends the PDFTextStripper class and implement one + * interested method: {@link at.knowcenter.wag.egov.egiz.pdf.PDFPage#showCharacter(TextPosition)}<br> + * This method is called when processing the FileStream. By calling the method + * {@link org.apache.pdfbox.util.PDFStreamEngine#processStream(org.apache.pdfbox.pdmodel.PDPage, org.apache.pdfbox.pdmodel.PDResources, org.pdfbox.cos.COSStream)} + * the implemented method showCharacter is called. + *  + * @author wlackner + * @see PDFTextStripper + */ +public class PDFPage extends PDFTextStripper { +	/** +	 * The logger definition. +	 */ +    private static final Logger logger = LoggerFactory.getLogger(PDFPage.class); + +	/** +	 * The maximum (lowest) y position of a character. +	 */ +	protected float max_character_ypos = Float.NEGATIVE_INFINITY; + +	/** +	 * The maximum (lowest y position of an image. +	 */ +	protected float max_image_ypos = Float.NEGATIVE_INFINITY; + +	/** +	 * The effective page height. +	 */ +	protected float effectivePageHeight; + +	/** +	 * The path currently being constructed. +	 */ +	private GeneralPath currentPath = new GeneralPath(); + +	/** +	 * The lowest position of a drawn path (originating from top). +	 */ +	private float maxPathRelatedYPositionFromTop = Float.NEGATIVE_INFINITY; + +	/** +	 * Constructor. +	 *  +	 * @param effectivePageHeight +	 *            The height of the page to be evaluated. PDF elements outside +	 *            this height will not be considered. +	 *  +	 * @throws java.io.IOException +	 */ +	public PDFPage(float effectivePageHeight, boolean legacy32) throws IOException { +		super(); + +		this.effectivePageHeight = effectivePageHeight; + +		OperatorProcessor newInvoke = new MyInvoke(this); +		newInvoke.setContext(this); +        this.registerOperatorProcessor("Do", newInvoke); +         +		if (!legacy32) { +			registerCustomPathOperators(); +		} +	} + +	/** +	 * Registers operators responsible for path construction and painting in +	 * order to fix auto positioning on pages with path elements. +	 *  +	 * @author Datentechnik Innovation GmbH +	 */ +	@SuppressWarnings("unchecked") +	private void registerCustomPathOperators() { + +		// *** path construction + +        this.registerOperatorProcessor("m", new MoveTo(this)); +        this.registerOperatorProcessor("l", new LineTo(this)); +        this.registerOperatorProcessor("c", new CurveTo(this)); +        this.registerOperatorProcessor("y", new CurveToReplicateFinalPoint(this)); +        this.registerOperatorProcessor("v", new CurveToReplicateInitialPoint(this)); +        this.registerOperatorProcessor("h", new ClosePath(this)); + +		// *** path painting + +		// "S": stroke path +        this.registerOperatorProcessor("S", new StrokePath(this)); +        this.registerOperatorProcessor("s", new CloseAndStrokePath(this)); +        this.registerOperatorProcessor("f", new FillPathNonZeroWindingNumberRule(this)); +        this.registerOperatorProcessor("F", new FillPathNonZeroWindingNumberRule(this)); +        this.registerOperatorProcessor("f*", new FillPathEvenOddRule(this)); +        this.registerOperatorProcessor("b", new CloseFillNonZeroAndStrokePath(this)); +        this.registerOperatorProcessor("B", new FillNonZeroAndStrokePath(this)); +        this.registerOperatorProcessor("b*", new CloseFillEvenOddAndStrokePath(this)); +        this.registerOperatorProcessor("B*", new FillEvenOddAndStrokePath(this)); +        this.registerOperatorProcessor("n", new EndPath(this)); + +		// Note: The graphic context +		// (org.pdfbox.pdmodel.graphics.PDGraphicsState) of the underlying +		// pdfbox library does +		// not yet support clipping. This prevents feasible usage of clipping +		// operators (W, W*). +		// operators.put("W", new ...(this)); +		// operators.put("W*", new ...(this)); + +	} + +	/** +	 * Returns the path currently being constructed. +	 *  +	 * @return The path currently being constructed. +	 */ +	public GeneralPath getCurrentPath() { +		return currentPath; +	} + +	/** +	 * Sets the current path. +	 *  +	 * @param currentPath +	 *            The new current path. +	 */ +	public void setCurrentPath(GeneralPath currentPath) { +		this.currentPath = currentPath; +	} + +	/** +	 * Registers a rectangle that bounds the path currently being drawn. +	 *  +	 * @param bounds +	 *            A rectangle depicting the bounds (coordinates originating from +	 *            bottom left). +	 * @author Datentechnik Innovation GmbH +	 */ +	public void registerPathBounds(Rectangle bounds) { +		if (!bounds.isEmpty()) { +			logger.debug("Registering path bounds: " + bounds); + +			// vertical start of rectangle (counting from top of page) +			float upperBoundYPositionFromTop; + +			// vertical end of rectangle (counting from top of page) +			// this depicts the current end of path-related page content +			float lowerBoundYPositionFromTop; + +			PDRectangle boundaryBox = this.getCurrentPage().findMediaBox(); +			float pageHeight; + +			switch (this.getCurrentPage().findRotation()) { +			case 90: // CW +				pageHeight = boundaryBox.getWidth(); +				upperBoundYPositionFromTop = (float) bounds.getMinX(); +				lowerBoundYPositionFromTop = (float) bounds.getMaxX(); +				break; +			case 180: +				pageHeight = boundaryBox.getHeight(); +				upperBoundYPositionFromTop = (float) bounds.getMinY(); +				lowerBoundYPositionFromTop = (float) bounds.getMaxY(); +				break; +			case 270: // CCW +				pageHeight = boundaryBox.getWidth(); +				upperBoundYPositionFromTop = pageHeight +						- (float) bounds.getMaxX(); +				lowerBoundYPositionFromTop = pageHeight +						- (float) bounds.getMinX(); +				break; +			default: +				pageHeight = boundaryBox.getHeight(); +				upperBoundYPositionFromTop = pageHeight +						- (float) bounds.getMaxY(); +				lowerBoundYPositionFromTop = pageHeight +						- (float) bounds.getMinY(); +				break; +			} + +			// new maximum ? +			if (lowerBoundYPositionFromTop > maxPathRelatedYPositionFromTop) { +				// Is the rectangle (at least partly) located above the footer +				// line? +				// (effective page height := page height - footer line) +				if (upperBoundYPositionFromTop <= effectivePageHeight) { +					// yes: update current end of path-related page content +					maxPathRelatedYPositionFromTop = lowerBoundYPositionFromTop; +					logger.trace("New max path related y position (from top): " +							+ maxPathRelatedYPositionFromTop); +				} else { +					// no: rectangle is fully located below the footer line -> +					// ignore +					logger.trace("Ignoring path bound below the footer line."); +				} +			} +		} +	} + +	protected void processOperator(PDFOperator operator, List arguments) +			throws IOException { +		logger.trace("operator = " + operator); +		super.processOperator(operator, arguments); +	} + +	@Override +	protected void processTextPosition(TextPosition text) { +		showCharacter(text); +	} +	 +	// exthex +	/** +	 * A method provided as an event interface to allow a subclass to perform +	 * some specific functionality when a character needs to be displayed. This +	 * method is used to calculate the latest position of a text in the page. +	 * Sorry for this missinterpretation of the method, but it is the only way +	 * to do this (provided by PDFBox)!!! +	 *  +	 * @param text +	 *            the character to be displayed -> calculate there y position. +	 */ +	protected void showCharacter(TextPosition text) { +		float current_y = text.getY(); +		final String character = text.getCharacter(); + +		int pageRotation = this.getCurrentPage().findRotation(); +		// logger_.debug("PageRotation = " + pageRotation); +		if (pageRotation == 0) { +			current_y = text.getY(); +		} +		if (pageRotation == 90) { +			current_y = text.getX(); +		} +		if (pageRotation == 180) { +			float page_height = this.getCurrentPage().findMediaBox().getHeight(); +			current_y = page_height - text.getY(); +		} +		if (pageRotation == 270) { +			float page_height = this.getCurrentPage().findMediaBox().getHeight(); +			current_y = page_height - text.getX(); +		} + +		if (current_y > this.effectivePageHeight) { +			// logger_.debug("character is below footer_line. footer_line = " + +			// this.footer_line + ", text.character=" + character + ", y=" + +			// current_y); +			return; +		} + +		// store ypos of the char if it is not empty +		if (!character.equals(" ") && current_y > this.max_character_ypos) { +			this.max_character_ypos = current_y; +		} + +	} + +	// use this funtion getting an unsorted text output +	// public void showString(byte[] string) { +	// logger_.debug(new String(string)); +	// } + +	/** +	 * Returns the calculated page length. +	 *  +	 * @return the max page length value +	 */ +	public float getMaxPageLength() { +		if (logger.isDebugEnabled()) { +			logger.debug("Determining page content length: text=" +					+ max_character_ypos + ", image=" + max_image_ypos +					+ ", path=" + maxPathRelatedYPositionFromTop); +		} +		return NumberUtils.max(max_character_ypos, max_image_ypos, +                maxPathRelatedYPositionFromTop); +	} + +	public class MyInvoke extends OperatorProcessor { + +        private PDFPage mypage; + +        public MyInvoke(PDFPage page) { +            this.mypage = page; +        } + +		public void process(PDFOperator operator, List arguments) +				throws IOException { +			COSName name = (COSName) arguments.get(0); + +			// PDResources res = context.getResources(); + +			Map xobjects = context.getXObjects(); +			PDXObject xobject = (PDXObject) xobjects.get(name.getName()); + +			PDStream stream = xobject.getPDStream(); +			COSStream cos_stream = stream.getStream(); + +			COSName subtype = (COSName) cos_stream +					.getDictionaryObject(COSName.SUBTYPE); +			if (subtype.equals(COSName.IMAGE)) { +				logger.debug("XObject Image"); + +				Matrix ctm = context.getGraphicsState() +						.getCurrentTransformationMatrix(); +                logger.debug("ctm = " + ctm); + +				Pos[] coordinates = new Pos[] { new Pos(0, 0, 1), +						new Pos(1, 0, 1), new Pos(0, 1, 1), new Pos(1, 1, 1) }; + +				Pos[] transformed_coordinates = transtormCoordinates( +						coordinates, ctm); + +				/********************************************************** +				 * pdf-as fix: calculating min and max point of an image to look +				 * where the signature should be placed fix solves problems with +				 * footer and images and placement of the signature in an image +				 * only pdf document +				 **********************************************************/ + +				float actual_lowest_point = Float.NaN; +				float actual_starting_point = Float.NaN; + +				int pageRotation = this.mypage.getCurrentPage().findRotation(); +				logger.debug("PageRotation = " + pageRotation); +				if (pageRotation == 0) { +					float min_y = findMinY(transformed_coordinates); +                    logger.debug("min_y = " + min_y); +					float page_height = this.mypage.getCurrentPage().findMediaBox().getHeight(); +                    logger.debug("page_height = " + page_height); + +					actual_lowest_point = page_height - min_y; +					actual_starting_point = page_height +							- findMaxY(transformed_coordinates); +				} +				if (pageRotation == 90) { +					float max_x = findMaxX(transformed_coordinates); +                    logger.debug("max_x = " + max_x); +					float page_width = this.mypage.getCurrentPage().findMediaBox().getWidth(); +                    logger.debug("page_width = " + page_width); + +					actual_lowest_point = max_x; +					actual_starting_point = findMinX(transformed_coordinates); +				} +				if (pageRotation == 180) { +					float min_y = findMinY(transformed_coordinates); +                    logger.debug("min_y = " + min_y); +					float page_height = this.mypage.getCurrentPage().findMediaBox().getHeight(); +					actual_lowest_point = page_height +							- findMaxY(transformed_coordinates); +					actual_starting_point = page_height - min_y; +				} +				if (pageRotation == 270) { +					float min_x = findMinX(transformed_coordinates); +                    logger.debug("min_x = " + min_x); + +					float page_width = this.mypage.getCurrentPage().findMediaBox().getWidth(); +                    logger.debug("page_width = " + page_width); + +					actual_lowest_point = page_width - min_x; +					actual_starting_point = page_width +							- findMaxX(transformed_coordinates); +				} + +                logger.debug("actual_lowest_point = " + actual_lowest_point); + +				if (actual_lowest_point > PDFPage.this.effectivePageHeight +						&& actual_starting_point > PDFPage.this.effectivePageHeight) { +                    logger.debug("image is below footer_line"); +					return; +				} + +				if (actual_lowest_point > PDFPage.this.max_image_ypos) { +					PDFPage.this.max_image_ypos = actual_lowest_point; +				} + +				return; +			} + +			if (xobject instanceof PDXObjectForm) { +				PDXObjectForm form = (PDXObjectForm) xobject; +				COSStream invoke = (COSStream) form.getCOSObject(); +				PDResources pdResources = form.getResources(); +				PDPage page = context.getCurrentPage(); +				if (pdResources == null) { +					pdResources = page.findResources(); +				} + +				getContext().processSubStream(page, pdResources, invoke); +			} +		} +	} + +	public static Pos[] transtormCoordinates(Pos[] coordinates, Matrix m) { +		Pos[] transformed = new Pos[coordinates.length]; +		for (int i = 0; i < coordinates.length; i++) { +			transformed[i] = transtormCoordinate(coordinates[i], m); +		} +		return transformed; +	} + +	public static Pos transtormCoordinate(Pos pos, Matrix m) { +		Pos transformed = new Pos(); +		transformed.x = pos.x * m.getValue(0, 0) + pos.y * m.getValue(1, 0) +				+ pos.z * m.getValue(2, 0); +		transformed.y = pos.x * m.getValue(0, 1) + pos.y * m.getValue(1, 1) +				+ pos.z * m.getValue(2, 1); +		transformed.z = pos.x * m.getValue(0, 2) + pos.y * m.getValue(1, 2) +				+ pos.z * m.getValue(2, 2); + +        logger.debug(" transformed " + pos + " --> " + transformed); +		return transformed; +	} + +	public static float findMinY(Pos[] coordinates) { +		float min = Float.POSITIVE_INFINITY; +		for (int i = 0; i < coordinates.length; i++) { +			if (coordinates[i].y < min) { +				min = coordinates[i].y; +			} +		} +		return min; +	} + +	public static float findMaxY(Pos[] coordinates) { +		float max = 0; +		for (int i = 0; i < coordinates.length; i++) { +			if (coordinates[i].y > max) { +				max = coordinates[i].y; +			} +		} +		return max; +	} + +	public static float findMaxX(Pos[] coordinates) { +		float max = Float.NEGATIVE_INFINITY; +		for (int i = 0; i < coordinates.length; i++) { +			if (coordinates[i].x > max) { +				max = coordinates[i].x; +			} +		} +		return max; +	} + +	public static float findMinX(Pos[] coordinates) { +		float min = Float.POSITIVE_INFINITY; +		for (int i = 0; i < coordinates.length; i++) { +			if (coordinates[i].x < min) { +				min = coordinates[i].x; +			} +		} +		return min; +	} + +} diff --git a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFUtilities.java b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFUtilities.java index 15a42deb..9bc9d38c 100644 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFUtilities.java +++ b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFUtilities.java @@ -1,72 +1,95 @@ -/**
 - * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
 - * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
 - * joint initiative of the Federal Chancellery Austria and Graz University of
 - * Technology.
 - *
 - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
 - * the European Commission - subsequent versions of the EUPL (the "Licence");
 - * You may not use this work except in compliance with the Licence.
 - * You may obtain a copy of the Licence at:
 - * http://www.osor.eu/eupl/
 - *
 - * Unless required by applicable law or agreed to in writing, software
 - * distributed under the Licence is distributed on an "AS IS" basis,
 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 - * See the Licence for the specific language governing permissions and
 - * limitations under the Licence.
 - *
 - * This product combines work with different licenses. See the "NOTICE" text
 - * file for details on the various modules and licenses.
 - * The "NOTICE" text file is part of the distribution. Any derivative works
 - * that you distribute must include a readable copy of the "NOTICE" text file.
 - *
 - * $Id: PDFUtilities.java,v 1.3 2006/10/31 08:09:33 wprinz Exp $
 - */
 -package at.knowcenter.wag.egov.egiz.pdf;
 -
 -import java.io.IOException;
 -import java.util.List;
 -
 -import at.gv.egiz.pdfas.common.exceptions.PDFIOException;
 -import org.apache.pdfbox.cos.COSStream;
 -import org.apache.pdfbox.pdmodel.PDDocument;
 -import org.apache.pdfbox.pdmodel.PDPage;
 -import org.apache.pdfbox.pdmodel.PDResources;
 -import org.apache.pdfbox.pdmodel.interactive.pagenavigation.PDThreadBead;
 -
 -
 -/**
 - * Contains useful helpers for accessing PDF documents.
 - *
 - * @author wprinz
 - * @author mruhmer
 - */
 -public abstract class PDFUtilities
 -{
 -    public static float calculatePageLength(PDDocument document, int page, float effectivePageHeight, /*int pagerotation,*/ boolean legacy32) throws PDFIOException {
 -	    //int last_page_id = document.getNumberOfPages();
 -	    List allPages = document.getDocumentCatalog().getAllPages();
 -	    PDPage pdpage = (PDPage) allPages.get(page);
 -	    //pdpage.setRotation(pagerotation);
 -	    return calculatePageLength(pdpage, effectivePageHeight, legacy32);
 -	}
 -
 -    public static float calculatePageLength(PDPage page, float effectivePageHeight, boolean legacy32) throws PDFIOException
 -    {
 -        try{
 -            PDFPage my_page = new PDFPage(effectivePageHeight, legacy32);
 -            PDResources resources = page.findResources();
 -            COSStream stream = page.getContents().getStream();
 -            //List<PDThreadBead> articles = page.getThreadBeads();
 -            //my_page.processMyPage(page);
 -            my_page.processStream(page, resources, stream);
 -            return my_page.getMaxPageLength();
 -        }
 -        catch (IOException e)
 -        {
 -            throw new PDFIOException("error.pdf.stamp.11", e);
 -        }
 -    }
 -
 -}
 +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/ +/** + * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + * + * $Id: PDFUtilities.java,v 1.3 2006/10/31 08:09:33 wprinz Exp $ + */ +package at.knowcenter.wag.egov.egiz.pdf; + +import java.io.IOException; +import java.util.List; + +import at.gv.egiz.pdfas.common.exceptions.PDFIOException; +import org.apache.pdfbox.cos.COSStream; +import org.apache.pdfbox.pdmodel.PDDocument; +import org.apache.pdfbox.pdmodel.PDPage; +import org.apache.pdfbox.pdmodel.PDResources; +import org.apache.pdfbox.pdmodel.interactive.pagenavigation.PDThreadBead; + + +/** + * Contains useful helpers for accessing PDF documents. + * + * @author wprinz + * @author mruhmer + */ +public abstract class PDFUtilities +{ +    public static float calculatePageLength(PDDocument document, int page, float effectivePageHeight, /*int pagerotation,*/ boolean legacy32) throws PDFIOException { +	    //int last_page_id = document.getNumberOfPages(); +	    List allPages = document.getDocumentCatalog().getAllPages(); +	    PDPage pdpage = (PDPage) allPages.get(page); +	    //pdpage.setRotation(pagerotation); +	    return calculatePageLength(pdpage, effectivePageHeight, legacy32); +	} + +    public static float calculatePageLength(PDPage page, float effectivePageHeight, boolean legacy32) throws PDFIOException +    { +        try{ +            PDFPage my_page = new PDFPage(effectivePageHeight, legacy32); +            PDResources resources = page.findResources(); +            COSStream stream = page.getContents().getStream(); +            //List<PDThreadBead> articles = page.getThreadBeads(); +            //my_page.processMyPage(page); +            my_page.processStream(page, resources, stream); +            return my_page.getMaxPageLength(); +        } +        catch (IOException e) +        { +            throw new PDFIOException("error.pdf.stamp.11", e); +        } +    } + +} diff --git a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/Pos.java b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/Pos.java index 6f03fed4..e46ddbc1 100644 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/Pos.java +++ b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/Pos.java @@ -1,70 +1,93 @@ -/**
 - * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
 - * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
 - * joint initiative of the Federal Chancellery Austria and Graz University of
 - * Technology.
 - *
 - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
 - * the European Commission - subsequent versions of the EUPL (the "Licence");
 - * You may not use this work except in compliance with the Licence.
 - * You may obtain a copy of the Licence at:
 - * http://www.osor.eu/eupl/
 - *
 - * Unless required by applicable law or agreed to in writing, software
 - * distributed under the Licence is distributed on an "AS IS" basis,
 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 - * See the Licence for the specific language governing permissions and
 - * limitations under the Licence.
 - *
 - * This product combines work with different licenses. See the "NOTICE" text
 - * file for details on the various modules and licenses.
 - * The "NOTICE" text file is part of the distribution. Any derivative works
 - * that you distribute must include a readable copy of the "NOTICE" text file.
 - *
 - * $Id: Pos.java,v 1.1 2006/08/25 17:10:08 wprinz Exp $
 - */
 -package at.knowcenter.wag.egov.egiz.pdf;
 -
 -/**
 - * Encapsulation of a position on a PDF page.
 - * 
 - * @author wprinz
 - */
 -public class Pos
 -{
 -
 -  public float x;
 -
 -  public float y;
 -
 -  public float z;
 -
 -  /**
 -   * Default constructor.
 -   */
 -  public Pos()
 -  {
 -  }
 -
 -  /**
 -   * Constructor that sets the coordinates.
 -   * @param xx
 -   * @param yy
 -   * @param zz
 -   */
 -  public Pos(float xx, float yy, float zz)
 -  {
 -    this.x = xx;
 -    this.y = yy;
 -    this.z = zz;
 -  }
 -
 -  /**
 -   * @see Object#toString()
 -   */
 -  public String toString()
 -  {
 -    return "(" + this.x + "," + this.y + "," + this.z + ")";
 -  }
 -
 -}
 +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/ +/** + * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + * + * $Id: Pos.java,v 1.1 2006/08/25 17:10:08 wprinz Exp $ + */ +package at.knowcenter.wag.egov.egiz.pdf; + +/** + * Encapsulation of a position on a PDF page. + *  + * @author wprinz + */ +public class Pos +{ + +  public float x; + +  public float y; + +  public float z; + +  /** +   * Default constructor. +   */ +  public Pos() +  { +  } + +  /** +   * Constructor that sets the coordinates. +   * @param xx +   * @param yy +   * @param zz +   */ +  public Pos(float xx, float yy, float zz) +  { +    this.x = xx; +    this.y = yy; +    this.z = zz; +  } + +  /** +   * @see Object#toString() +   */ +  public String toString() +  { +    return "(" + this.x + "," + this.y + "," + this.z + ")"; +  } + +} diff --git a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PositioningInstruction.java b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PositioningInstruction.java index d0c1afc1..245e864f 100644 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PositioningInstruction.java +++ b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PositioningInstruction.java @@ -1,198 +1,221 @@ -/**
 - * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
 - * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
 - * joint initiative of the Federal Chancellery Austria and Graz University of
 - * Technology.
 - *
 - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
 - * the European Commission - subsequent versions of the EUPL (the "Licence");
 - * You may not use this work except in compliance with the Licence.
 - * You may obtain a copy of the Licence at:
 - * http://www.osor.eu/eupl/
 - *
 - * Unless required by applicable law or agreed to in writing, software
 - * distributed under the Licence is distributed on an "AS IS" basis,
 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 - * See the Licence for the specific language governing permissions and
 - * limitations under the Licence.
 - *
 - * This product combines work with different licenses. See the "NOTICE" text
 - * file for details on the various modules and licenses.
 - * The "NOTICE" text file is part of the distribution. Any derivative works
 - * that you distribute must include a readable copy of the "NOTICE" text file.
 - *
 - * $Id:  $
 - */
 -package at.knowcenter.wag.egov.egiz.pdf;
 -
 -/**
 - * The positioning instruction holds information of where to place the signature
 - * block.
 - * 
 - * <p>
 - * This instruction is given to the PDF writer in order to place the signature.
 - * </p>
 - * 
 - * @author wprinz
 - */
 -public class PositioningInstruction
 -{
 -
 -  /**
 -   * Tells, if a new plain page should be appended.
 -   * 
 -   * <p>
 -   * This command is executed before the signature block is positioned according
 -   * to page, x and y.
 -   * </p>
 -   */
 -  protected boolean make_new_page = false;
 -
 -  /**
 -   * The number of the page on which the signature block is to be placed. If
 -   * specified to make a new page, the number of this newly created page can be
 -   * used here as well.
 -   */
 -  protected int page = 0;
 -
 -  /**
 -   * The x coordinate where the upper left corner of the signature block should
 -   * be placed.
 -   */
 -  protected float x = 0.0f;
 -
 -  /**
 -   * The y coordinate where the upper left corner of the signature block should
 -   * be placed.
 -   */
 -  protected float y = 0.0f;
 -  
 -  /**
 -   * The rotation of the signature block
 -   */
 -  protected float rotation = 0.0f;
 -
 -  /**
 -   * 
 -   * @param make_new_page
 -   *          Tells, if a new plain page should be appended. This command is
 -   *          executed before the signature block is positioned according to
 -   *          page, x and y.
 -   * @param page
 -   *          The number of the page on which the signature block is to be
 -   *          placed. If specified to make a new page, the number of this newly
 -   *          created page can be used here as well.
 -   * @param x
 -   *          The x coordinate where the upper left corner of the signature
 -   *          block should be placed.
 -   * @param y
 -   *          The y coordinate where the upper left corner of the signature
 -   *          block should be placed.
 -   */
 -  public PositioningInstruction(boolean make_new_page, int page, float x, float y, float rotation)
 -  {
 -    this.make_new_page = make_new_page;
 -    this.page = page;
 -    this.x = x;
 -    this.y = y;
 -    this.rotation = rotation;
 -  }
 -
 -  /**
 -   * Tells, if a new plain page should be appended to the document.
 -   * 
 -   * @return Returns true, if a new plain page should be appended.
 -   */
 -  public boolean isMakeNewPage()
 -  {
 -    return this.make_new_page;
 -  }
 -
 -  /**
 -   * Returns the page on which the signature is to be printed.
 -   * 
 -   * @return Returns the page on which the signature is to be printed.
 -   */
 -  public int getPage()
 -  {
 -    return this.page;
 -  }
 -
 -  /**
 -   * Returns the x coordinate where the upper left corner of the signature block
 -   * should be placed.
 -   * 
 -   * @return Returns the x coordinate where the upper left corner of the
 -   *         signature block should be placed.
 -   */
 -  public float getX()
 -  {
 -    return this.x;
 -  }
 -
 -  /**
 -   * Returns the y coordinate where the upper left corner of the signature block
 -   * should be placed.
 -   * 
 -   * @return Returns the y coordinate where the upper left corner of the
 -   *         signature block should be placed.
 -   */
 -  public float getY()
 -  {
 -    return this.y;
 -  }
 -  
 -  public float getRotation()
 -  {
 -    return this.rotation;
 -  }
 -
 -	public int hashCode() {
 -		final int prime = 31;
 -		int result = 1;
 -		result = prime * result + (make_new_page ? 1231 : 1237);
 -		result = prime * result + page;
 -		result = prime * result + Float.floatToIntBits(x);
 -		result = prime * result + Float.floatToIntBits(y);
 -		result = prime * result + Float.floatToIntBits(rotation);
 -		return result;
 -	}
 -
 -	public boolean equals(Object obj) {
 -		if (this == obj)
 -			return true;
 -		if (obj == null)
 -			return false;
 -		if (!(obj instanceof PositioningInstruction))
 -			return false;
 -		PositioningInstruction other = (PositioningInstruction) obj;
 -		if (make_new_page != other.make_new_page)
 -			return false;
 -		if (page != other.page)
 -			return false;
 -		if (Float.floatToIntBits(x) != Float.floatToIntBits(other.x))
 -			return false;
 -		if (Float.floatToIntBits(y) != Float.floatToIntBits(other.y))
 -			return false;
 -		if (Float.floatToIntBits(rotation) != Float.floatToIntBits(other.rotation))
 -			return false;
 -		return true;
 -	}
 -
 -	public String toString() {
 -		StringBuffer buffer = new StringBuffer();
 -		buffer.append("PositioningInstruction [page=");
 -		buffer.append(page);
 -		buffer.append(", make_new_page=");
 -		buffer.append(make_new_page);
 -		buffer.append(", x=");
 -		buffer.append(x);
 -		buffer.append(", y=");
 -		buffer.append(y);
 -		buffer.append(", r=");
 -		buffer.append(rotation);
 -		buffer.append("]");
 -		return buffer.toString();
 -	}
 -
 -}
 +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/ +/** + * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + * + * $Id:  $ + */ +package at.knowcenter.wag.egov.egiz.pdf; + +/** + * The positioning instruction holds information of where to place the signature + * block. + *  + * <p> + * This instruction is given to the PDF writer in order to place the signature. + * </p> + *  + * @author wprinz + */ +public class PositioningInstruction +{ + +  /** +   * Tells, if a new plain page should be appended. +   *  +   * <p> +   * This command is executed before the signature block is positioned according +   * to page, x and y. +   * </p> +   */ +  protected boolean make_new_page = false; + +  /** +   * The number of the page on which the signature block is to be placed. If +   * specified to make a new page, the number of this newly created page can be +   * used here as well. +   */ +  protected int page = 0; + +  /** +   * The x coordinate where the upper left corner of the signature block should +   * be placed. +   */ +  protected float x = 0.0f; + +  /** +   * The y coordinate where the upper left corner of the signature block should +   * be placed. +   */ +  protected float y = 0.0f; +   +  /** +   * The rotation of the signature block +   */ +  protected float rotation = 0.0f; + +  /** +   *  +   * @param make_new_page +   *          Tells, if a new plain page should be appended. This command is +   *          executed before the signature block is positioned according to +   *          page, x and y. +   * @param page +   *          The number of the page on which the signature block is to be +   *          placed. If specified to make a new page, the number of this newly +   *          created page can be used here as well. +   * @param x +   *          The x coordinate where the upper left corner of the signature +   *          block should be placed. +   * @param y +   *          The y coordinate where the upper left corner of the signature +   *          block should be placed. +   */ +  public PositioningInstruction(boolean make_new_page, int page, float x, float y, float rotation) +  { +    this.make_new_page = make_new_page; +    this.page = page; +    this.x = x; +    this.y = y; +    this.rotation = rotation; +  } + +  /** +   * Tells, if a new plain page should be appended to the document. +   *  +   * @return Returns true, if a new plain page should be appended. +   */ +  public boolean isMakeNewPage() +  { +    return this.make_new_page; +  } + +  /** +   * Returns the page on which the signature is to be printed. +   *  +   * @return Returns the page on which the signature is to be printed. +   */ +  public int getPage() +  { +    return this.page; +  } + +  /** +   * Returns the x coordinate where the upper left corner of the signature block +   * should be placed. +   *  +   * @return Returns the x coordinate where the upper left corner of the +   *         signature block should be placed. +   */ +  public float getX() +  { +    return this.x; +  } + +  /** +   * Returns the y coordinate where the upper left corner of the signature block +   * should be placed. +   *  +   * @return Returns the y coordinate where the upper left corner of the +   *         signature block should be placed. +   */ +  public float getY() +  { +    return this.y; +  } +   +  public float getRotation() +  { +    return this.rotation; +  } + +	public int hashCode() { +		final int prime = 31; +		int result = 1; +		result = prime * result + (make_new_page ? 1231 : 1237); +		result = prime * result + page; +		result = prime * result + Float.floatToIntBits(x); +		result = prime * result + Float.floatToIntBits(y); +		result = prime * result + Float.floatToIntBits(rotation); +		return result; +	} + +	public boolean equals(Object obj) { +		if (this == obj) +			return true; +		if (obj == null) +			return false; +		if (!(obj instanceof PositioningInstruction)) +			return false; +		PositioningInstruction other = (PositioningInstruction) obj; +		if (make_new_page != other.make_new_page) +			return false; +		if (page != other.page) +			return false; +		if (Float.floatToIntBits(x) != Float.floatToIntBits(other.x)) +			return false; +		if (Float.floatToIntBits(y) != Float.floatToIntBits(other.y)) +			return false; +		if (Float.floatToIntBits(rotation) != Float.floatToIntBits(other.rotation)) +			return false; +		return true; +	} + +	public String toString() { +		StringBuffer buffer = new StringBuffer(); +		buffer.append("PositioningInstruction [page="); +		buffer.append(page); +		buffer.append(", make_new_page="); +		buffer.append(make_new_page); +		buffer.append(", x="); +		buffer.append(x); +		buffer.append(", y="); +		buffer.append(y); +		buffer.append(", r="); +		buffer.append(rotation); +		buffer.append("]"); +		return buffer.toString(); +	} + +} diff --git a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/TablePos.java b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/TablePos.java index 7bf2103b..9d411d1e 100644 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/TablePos.java +++ b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/TablePos.java @@ -1,276 +1,299 @@ -/**
 - * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
 - * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
 - * joint initiative of the Federal Chancellery Austria and Graz University of
 - * Technology.
 - *
 - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
 - * the European Commission - subsequent versions of the EUPL (the "Licence");
 - * You may not use this work except in compliance with the Licence.
 - * You may obtain a copy of the Licence at:
 - * http://www.osor.eu/eupl/
 - *
 - * Unless required by applicable law or agreed to in writing, software
 - * distributed under the Licence is distributed on an "AS IS" basis,
 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 - * See the Licence for the specific language governing permissions and
 - * limitations under the Licence.
 - *
 - * This product combines work with different licenses. See the "NOTICE" text
 - * file for details on the various modules and licenses.
 - * The "NOTICE" text file is part of the distribution. Any derivative works
 - * that you distribute must include a readable copy of the "NOTICE" text file.
 - *
 - * $Id: TablePos.java,v 1.1 2006/08/25 17:10:08 wprinz Exp $
 - */
 -package at.knowcenter.wag.egov.egiz.pdf;
 -
 -import java.io.Serializable;
 -
 -import at.gv.egiz.pdfas.common.exceptions.PdfAsException;
 -
 -/**
 - * Class that holds the exact position where the table should be written to the
 - * document.
 - * 
 - * @author wprinz
 - * @author mruhmer
 - */
 -public class TablePos implements Serializable
 -{
 -
 -  /**
 -   * SVUID.
 -   */
 -  private static final long serialVersionUID = -5299027706623518059L;
 -
 -  /**
 -   * The page on which the block should be displayed.
 -   * 
 -   */
 -  private int page = 0;
 -
 -  /**
 -   * The x position.
 -   */
 -  private float pos_x = 0.0f;
 -
 -  /**
 -   * The y position.
 -   */
 -  private float pos_y = 0.0f;
 -
 -  /**
 -   * The width of the block.
 -   */
 -  private float width = 0.0f;
 -  /**
 -   * The top y position of the footer line.
 -   */
 -  public float footer_line = 0.0f;
 -  
 -  /**
 -   * The rotation of the signature block
 -   */
 -  public float rotation = 0.0f;
 -
 -  /**
 -   * The y position.
 -   */
 -  public String myposstring = "";
 -  
 -  private boolean newpage = false;
 -  private boolean autoX = true; 
 -  private boolean autoY = true;
 -  private boolean autoW = true;
 -  private boolean autoP = true;
 -  
 -  public boolean isXauto()
 -  {
 -	return this.autoX;
 -  }
 -  public boolean isYauto()
 -  {
 -	return this.autoY;
 -  } 
 -  public boolean isWauto()
 -  {
 -	return this.autoW;
 -  }
 -  public boolean isPauto()
 -  {
 -	return this.autoP;
 -  }
 -  public boolean isNewPage()
 -  {
 -	return this.newpage;
 -  }
 -  public int getPage()
 -  {
 -	return this.page;  
 -  }
 -  public float getFooterLine()
 -  {
 -	//ignore if newpage and y is not auto
 -	if (!this.autoY || this.newpage) 
 -	{
 -	  return 0.0f;
 -	}
 -	return this.footer_line;  
 -  } 
 -  public float getPosX()
 -  {
 -	return this.pos_x;  
 -  }  
 -  public float getPosY()
 -  {
 -	return this.pos_y;  
 -  } 
 -  public float getWidth()
 -  {
 -	return this.width;  
 -  }  
 -  public TablePos()
 -  {
 -    //nothing to do --> default
 -  } 
 -  
 -  /**
 -   * Constructor.
 -   * 
 -   * @param pos_string The pos instruction.
 -   *        format : [x:x_algo];[y:y_algo];[w:w_algo][p:p_algo];[f:f_algo];[r:r_algo]
 -   *        x_algo:='auto'     ... automatic positioning x
 -   *                floatvalue ... absolute x
 -   *        y_algo:='auto'     ... automatic positioning y
 -   *                floatvalue ... absolute y
 -   *        w_algo:='auto'     ... automatic width
 -   *                floatvalue ... absolute width    
 -   *        p_algo:='auto'     ... automatic last page
 -   *                'new'      ... new page  
 -   *                intvalue   ... pagenumber
 -   *        f_algo  floatvalue ... consider footerline (only if y_algo is auto and p_algo is not 'new')
 -   *        r_algo  floatvalue ... rotate the table arround the lower left corner anti clockwise in degree
 -   * @throws PdfAsException
 -   */
 -  public TablePos(String pos_string) throws PdfAsException
 -  {
 -    //parse posstring and throw exception
 -	//[x:x_algo];[y:y_algo];[w:w_algo][p:p_algo];[f:f_algo]
 -	
 -	String[] strs = pos_string.split(";");
 -	try
 -	{
 -	  for (int cmds = 0;cmds<strs.length;cmds++)
 -	  {
 -		 
 -		 String cmd_kvstring = strs[cmds];
 -		 String[] cmd_kv = cmd_kvstring.split(":");
 -		 if (cmd_kv.length != 2)
 -		 {
 -			 throw new PdfAsException("Pos string (=" + pos_string + ") is invalid.");
 -		 }
 -		 String cmdstr =  cmd_kv[0];
 -		 if (cmdstr.length() != 1)
 -		 {
 -			 throw new PdfAsException("Pos string (=" + pos_string + ") is invalid.");
 -		 }		 
 -		 char command = cmdstr.charAt(0);
 -	     String commandval= cmd_kv[1];
 -	     switch (command)
 -	     {
 -	     	case 'x': {
 -	     		         if (!commandval.equalsIgnoreCase("auto"))
 -	     		         {  
 -	     		        	float xval= Float.parseFloat(commandval);
 -	     		            if (xval<0)
 -	     		            {
 -	     		            	throw new PdfAsException("Pos string (x:" + xval + ") is invalid.");
 -	     		            }	     		          
 -	     		        	this.pos_x = xval;
 -	     		        	this.autoX = false; 
 -	     		         }	     		         
 -	     		         break;
 -	     			  }	
 -	     	case 'y': {
 -		         		if (!commandval.equalsIgnoreCase("auto"))
 -		         		{
 -		         			float yval= Float.parseFloat(commandval);
 -	     		            if (yval<0)
 -	     		            {
 -	     		            	throw new PdfAsException("Pos string (y:" + yval + ") is invalid.");
 -	     		            }			         			
 -		         			this.pos_y = yval;
 -		         			this.autoY = false; 
 -		         		}	     		         
 -		         		break;
 -	     			  }		
 -	     	case 'w': { 
 -         				if (!commandval.equalsIgnoreCase("auto"))
 -         				{    
 -		         			float wval= Float.parseFloat(commandval);
 -	     		            if (wval<=0)
 -	     		            {
 -	     		            	throw new PdfAsException("pos.width (w:" + wval + ") must not be lower or equal 0.");
 -	     		            }        					
 -         					this.width = wval;
 -         					this.autoW = false; 
 -         				}	     		         
 -         				break;
 -      				  }
 -	     	case 'p': {
 - 						if (!commandval.equalsIgnoreCase("auto"))
 - 						{ 
 - 							if (commandval.equalsIgnoreCase("new"))
 - 							{ 								
 - 								this.newpage = true;
 - 							}
 - 							else
 - 							{
 - 								int pval = Integer.parseInt(commandval);
 - 								if (pval<1)
 - 								{
 - 									throw new PdfAsException("Page (p:" + pval + ") must not be lower than 1.");
 - 								}
 - 								this.page = pval;
 - 								this.autoP = false;
 - 							}
 - 						}						     		       
 - 						break;
 -      				  }
 -	     	case 'f': {
 -	     		        float flval=Float.parseFloat(commandval);
 -     		            if (flval<0)
 -     		            {
 -     		            	throw new PdfAsException("Pos string (=" + pos_string + ") is invalid.");
 -     		            } 	     		        
 -	     				this.footer_line = flval;
 -	     				break;
 -	     			  }
 -	     	case 'r': {
 - 		        		float flval=Float.parseFloat(commandval);
 - 		        		if (flval<0)
 - 		        		{
 - 		        			throw new PdfAsException("Pos string (=" + pos_string + ") is invalid.");
 - 		        		} 	     		        
 - 		        		this.rotation = flval;
 - 		        		break;
 - 			  }
 -	     	default : {
 -		                throw new PdfAsException("Pos string (=" + pos_string + ") is invalid.");
 -	                  }
 -	     }
 -	  }
 -	  this.myposstring=pos_string;
 -    }
 -    catch (NumberFormatException e)
 -    {
 -      throw new PdfAsException("Pos string (=" + pos_string + ") cannot be parsed.");
 -    }
 -  }
 -  public String toString()
 -  {  
 -	 String thatsme = "cmd:"+this.myposstring+" pos_x:"+this.pos_x+" pos_y:"+this.pos_y+" page:"+this.page+" width:"+this.width+" footer:"+this.footer_line+" rotation:"+this.rotation+"\n "+" autoX:"+this.autoX+" autoY:"+this.autoY+" autoW:"+this.autoW+" Newpage:"+this.newpage+" autoP:"+this.autoP; 
 -	 return thatsme;
 -  }
 -}
 +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/ +/** + * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + * + * $Id: TablePos.java,v 1.1 2006/08/25 17:10:08 wprinz Exp $ + */ +package at.knowcenter.wag.egov.egiz.pdf; + +import java.io.Serializable; + +import at.gv.egiz.pdfas.common.exceptions.PdfAsException; + +/** + * Class that holds the exact position where the table should be written to the + * document. + *  + * @author wprinz + * @author mruhmer + */ +public class TablePos implements Serializable +{ + +  /** +   * SVUID. +   */ +  private static final long serialVersionUID = -5299027706623518059L; + +  /** +   * The page on which the block should be displayed. +   *  +   */ +  private int page = 0; + +  /** +   * The x position. +   */ +  private float pos_x = 0.0f; + +  /** +   * The y position. +   */ +  private float pos_y = 0.0f; + +  /** +   * The width of the block. +   */ +  private float width = 0.0f; +  /** +   * The top y position of the footer line. +   */ +  public float footer_line = 0.0f; +   +  /** +   * The rotation of the signature block +   */ +  public float rotation = 0.0f; + +  /** +   * The y position. +   */ +  public String myposstring = ""; +   +  private boolean newpage = false; +  private boolean autoX = true;  +  private boolean autoY = true; +  private boolean autoW = true; +  private boolean autoP = true; +   +  public boolean isXauto() +  { +	return this.autoX; +  } +  public boolean isYauto() +  { +	return this.autoY; +  }  +  public boolean isWauto() +  { +	return this.autoW; +  } +  public boolean isPauto() +  { +	return this.autoP; +  } +  public boolean isNewPage() +  { +	return this.newpage; +  } +  public int getPage() +  { +	return this.page;   +  } +  public float getFooterLine() +  { +	//ignore if newpage and y is not auto +	if (!this.autoY || this.newpage)  +	{ +	  return 0.0f; +	} +	return this.footer_line;   +  }  +  public float getPosX() +  { +	return this.pos_x;   +  }   +  public float getPosY() +  { +	return this.pos_y;   +  }  +  public float getWidth() +  { +	return this.width;   +  }   +  public TablePos() +  { +    //nothing to do --> default +  }  +   +  /** +   * Constructor. +   *  +   * @param pos_string The pos instruction. +   *        format : [x:x_algo];[y:y_algo];[w:w_algo][p:p_algo];[f:f_algo];[r:r_algo] +   *        x_algo:='auto'     ... automatic positioning x +   *                floatvalue ... absolute x +   *        y_algo:='auto'     ... automatic positioning y +   *                floatvalue ... absolute y +   *        w_algo:='auto'     ... automatic width +   *                floatvalue ... absolute width     +   *        p_algo:='auto'     ... automatic last page +   *                'new'      ... new page   +   *                intvalue   ... pagenumber +   *        f_algo  floatvalue ... consider footerline (only if y_algo is auto and p_algo is not 'new') +   *        r_algo  floatvalue ... rotate the table arround the lower left corner anti clockwise in degree +   * @throws PdfAsException +   */ +  public TablePos(String pos_string) throws PdfAsException +  { +    //parse posstring and throw exception +	//[x:x_algo];[y:y_algo];[w:w_algo][p:p_algo];[f:f_algo] +	 +	String[] strs = pos_string.split(";"); +	try +	{ +	  for (int cmds = 0;cmds<strs.length;cmds++) +	  { +		  +		 String cmd_kvstring = strs[cmds]; +		 String[] cmd_kv = cmd_kvstring.split(":"); +		 if (cmd_kv.length != 2) +		 { +			 throw new PdfAsException("Pos string (=" + pos_string + ") is invalid."); +		 } +		 String cmdstr =  cmd_kv[0]; +		 if (cmdstr.length() != 1) +		 { +			 throw new PdfAsException("Pos string (=" + pos_string + ") is invalid."); +		 }		  +		 char command = cmdstr.charAt(0); +	     String commandval= cmd_kv[1]; +	     switch (command) +	     { +	     	case 'x': { +	     		         if (!commandval.equalsIgnoreCase("auto")) +	     		         {   +	     		        	float xval= Float.parseFloat(commandval); +	     		            if (xval<0) +	     		            { +	     		            	throw new PdfAsException("Pos string (x:" + xval + ") is invalid."); +	     		            }	     		           +	     		        	this.pos_x = xval; +	     		        	this.autoX = false;  +	     		         }	     		          +	     		         break; +	     			  }	 +	     	case 'y': { +		         		if (!commandval.equalsIgnoreCase("auto")) +		         		{ +		         			float yval= Float.parseFloat(commandval); +	     		            if (yval<0) +	     		            { +	     		            	throw new PdfAsException("Pos string (y:" + yval + ") is invalid."); +	     		            }			         			 +		         			this.pos_y = yval; +		         			this.autoY = false;  +		         		}	     		          +		         		break; +	     			  }		 +	     	case 'w': {  +         				if (!commandval.equalsIgnoreCase("auto")) +         				{     +		         			float wval= Float.parseFloat(commandval); +	     		            if (wval<=0) +	     		            { +	     		            	throw new PdfAsException("pos.width (w:" + wval + ") must not be lower or equal 0."); +	     		            }        					 +         					this.width = wval; +         					this.autoW = false;  +         				}	     		          +         				break; +      				  } +	     	case 'p': { + 						if (!commandval.equalsIgnoreCase("auto")) + 						{  + 							if (commandval.equalsIgnoreCase("new")) + 							{ 								 + 								this.newpage = true; + 							} + 							else + 							{ + 								int pval = Integer.parseInt(commandval); + 								if (pval<1) + 								{ + 									throw new PdfAsException("Page (p:" + pval + ") must not be lower than 1."); + 								} + 								this.page = pval; + 								this.autoP = false; + 							} + 						}						     		        + 						break; +      				  } +	     	case 'f': { +	     		        float flval=Float.parseFloat(commandval); +     		            if (flval<0) +     		            { +     		            	throw new PdfAsException("Pos string (=" + pos_string + ") is invalid."); +     		            } 	     		         +	     				this.footer_line = flval; +	     				break; +	     			  } +	     	case 'r': { + 		        		float flval=Float.parseFloat(commandval); + 		        		if (flval<0) + 		        		{ + 		        			throw new PdfAsException("Pos string (=" + pos_string + ") is invalid."); + 		        		} 	     		         + 		        		this.rotation = flval; + 		        		break; + 			  } +	     	default : { +		                throw new PdfAsException("Pos string (=" + pos_string + ") is invalid."); +	                  } +	     } +	  } +	  this.myposstring=pos_string; +    } +    catch (NumberFormatException e) +    { +      throw new PdfAsException("Pos string (=" + pos_string + ") cannot be parsed."); +    } +  } +  public String toString() +  {   +	 String thatsme = "cmd:"+this.myposstring+" pos_x:"+this.pos_x+" pos_y:"+this.pos_y+" page:"+this.page+" width:"+this.width+" footer:"+this.footer_line+" rotation:"+this.rotation+"\n "+" autoX:"+this.autoX+" autoY:"+this.autoY+" autoW:"+this.autoW+" Newpage:"+this.newpage+" autoP:"+this.autoP;  +	 return thatsme; +  } +} diff --git a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/PathConstructionOperatorProcessor.java b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/PathConstructionOperatorProcessor.java index 63bd9481..2e16c117 100644 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/PathConstructionOperatorProcessor.java +++ b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/PathConstructionOperatorProcessor.java @@ -1,61 +1,84 @@ -/**
 - * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
 - * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
 - * joint initiative of the Federal Chancellery Austria and Graz University of
 - * Technology.
 - *
 - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
 - * the European Commission - subsequent versions of the EUPL (the "Licence");
 - * You may not use this work except in compliance with the Licence.
 - * You may obtain a copy of the Licence at:
 - * http://www.osor.eu/eupl/
 - *
 - * Unless required by applicable law or agreed to in writing, software
 - * distributed under the Licence is distributed on an "AS IS" basis,
 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 - * See the Licence for the specific language governing permissions and
 - * limitations under the Licence.
 - *
 - * This product combines work with different licenses. See the "NOTICE" text
 - * file for details on the various modules and licenses.
 - * The "NOTICE" text file is part of the distribution. Any derivative works
 - * that you distribute must include a readable copy of the "NOTICE" text file.
 - */
 -package at.knowcenter.wag.egov.egiz.pdf.operator.path;
 -
 -import at.knowcenter.wag.egov.egiz.pdf.PDFPage;
 -import org.apache.pdfbox.util.operator.OperatorProcessor;
 -
 -import java.awt.geom.Point2D;
 -
 -/**
 - * Provides functions for path construction operators.
 - *
 - * @see "PDF 1.7 specification, Section 8.5.2 'Path Construction Operators'"
 - * @author Datentechnik Innovation GmbH
 - *
 - */
 -public abstract class PathConstructionOperatorProcessor extends OperatorProcessor {
 -
 -	public PathConstructionOperatorProcessor(PDFPage context) {
 -		setContext(context);
 -	}
 -
 -	/**
 -	 * Transforms the given point from user space coordinates to device space coordinates based on the current
 -	 * transition matrix.
 -	 *
 -	 * @param x
 -	 *            The x axis value of the user space coordinates.
 -	 * @param y
 -	 *            The y axis value of the user space coordinates.
 -	 * @return The transformed point.
 -	 */
 -	public Point2D transform(double x, double y) {
 -		double[] position = { x, y };
 -		context.getGraphicsState().getCurrentTransformationMatrix().createAffineTransform()
 -				.transform(position, 0, position, 0, 1);
 -		return new Point2D.Double(position[0], position[1]);
 -	}
 -
 -}
 +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/ +/** + * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.knowcenter.wag.egov.egiz.pdf.operator.path; + +import at.knowcenter.wag.egov.egiz.pdf.PDFPage; +import org.apache.pdfbox.util.operator.OperatorProcessor; + +import java.awt.geom.Point2D; + +/** + * Provides functions for path construction operators. + * + * @see "PDF 1.7 specification, Section 8.5.2 'Path Construction Operators'" + * @author Datentechnik Innovation GmbH + * + */ +public abstract class PathConstructionOperatorProcessor extends OperatorProcessor { + +	public PathConstructionOperatorProcessor(PDFPage context) { +		setContext(context); +	} + +	/** +	 * Transforms the given point from user space coordinates to device space coordinates based on the current +	 * transition matrix. +	 * +	 * @param x +	 *            The x axis value of the user space coordinates. +	 * @param y +	 *            The y axis value of the user space coordinates. +	 * @return The transformed point. +	 */ +	public Point2D transform(double x, double y) { +		double[] position = { x, y }; +		context.getGraphicsState().getCurrentTransformationMatrix().createAffineTransform() +				.transform(position, 0, position, 0, 1); +		return new Point2D.Double(position[0], position[1]); +	} + +} diff --git a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/PathPaintingOperatorProcessor.java b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/PathPaintingOperatorProcessor.java index a0b73015..bc34d562 100644 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/PathPaintingOperatorProcessor.java +++ b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/PathPaintingOperatorProcessor.java @@ -1,42 +1,65 @@ -/**
 - * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
 - * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
 - * joint initiative of the Federal Chancellery Austria and Graz University of
 - * Technology.
 - *
 - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
 - * the European Commission - subsequent versions of the EUPL (the "Licence");
 - * You may not use this work except in compliance with the Licence.
 - * You may obtain a copy of the Licence at:
 - * http://www.osor.eu/eupl/
 - *
 - * Unless required by applicable law or agreed to in writing, software
 - * distributed under the Licence is distributed on an "AS IS" basis,
 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 - * See the Licence for the specific language governing permissions and
 - * limitations under the Licence.
 - *
 - * This product combines work with different licenses. See the "NOTICE" text
 - * file for details on the various modules and licenses.
 - * The "NOTICE" text file is part of the distribution. Any derivative works
 - * that you distribute must include a readable copy of the "NOTICE" text file.
 - */
 -package at.knowcenter.wag.egov.egiz.pdf.operator.path;
 -
 -import at.knowcenter.wag.egov.egiz.pdf.PDFPage;
 -import org.apache.pdfbox.util.operator.OperatorProcessor;
 -
 -/**
 - * Provides functions for path painting operators.
 - *
 - * @see "PDF 1.7 specification, Section 8.5.2 'Path Construction Operators'"
 - * @author Datentechnik Innovation GmbH
 - *
 - */
 -public abstract class PathPaintingOperatorProcessor extends OperatorProcessor {
 -
 -	public PathPaintingOperatorProcessor(PDFPage context) {
 -		setContext(context);
 -	}
 -
 -}
 +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/ +/** + * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.knowcenter.wag.egov.egiz.pdf.operator.path; + +import at.knowcenter.wag.egov.egiz.pdf.PDFPage; +import org.apache.pdfbox.util.operator.OperatorProcessor; + +/** + * Provides functions for path painting operators. + * + * @see "PDF 1.7 specification, Section 8.5.2 'Path Construction Operators'" + * @author Datentechnik Innovation GmbH + * + */ +public abstract class PathPaintingOperatorProcessor extends OperatorProcessor { + +	public PathPaintingOperatorProcessor(PDFPage context) { +		setContext(context); +	} + +} diff --git a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/construction/ClosePath.java b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/construction/ClosePath.java index c663fb5d..48248f3b 100644 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/construction/ClosePath.java +++ b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/construction/ClosePath.java @@ -1,67 +1,90 @@ -/**
 - * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
 - * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
 - * joint initiative of the Federal Chancellery Austria and Graz University of
 - * Technology.
 - *
 - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
 - * the European Commission - subsequent versions of the EUPL (the "Licence");
 - * You may not use this work except in compliance with the Licence.
 - * You may obtain a copy of the Licence at:
 - * http://www.osor.eu/eupl/
 - *
 - * Unless required by applicable law or agreed to in writing, software
 - * distributed under the Licence is distributed on an "AS IS" basis,
 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 - * See the Licence for the specific language governing permissions and
 - * limitations under the Licence.
 - *
 - * This product combines work with different licenses. See the "NOTICE" text
 - * file for details on the various modules and licenses.
 - * The "NOTICE" text file is part of the distribution. Any derivative works
 - * that you distribute must include a readable copy of the "NOTICE" text file.
 - */
 -package at.knowcenter.wag.egov.egiz.pdf.operator.path.construction;
 -
 -import at.knowcenter.wag.egov.egiz.pdf.PDFPage;
 -import at.knowcenter.wag.egov.egiz.pdf.operator.path.PathConstructionOperatorProcessor;
 -import org.apache.commons.logging.Log;
 -import org.apache.commons.logging.LogFactory;
 -import org.apache.pdfbox.util.PDFOperator;
 -
 -import java.io.IOException;
 -import java.util.List;
 -
 -/**
 - * Close the current subpath by appending a straight line segment from the current point to the starting point of the
 - * subpath. If the current subpath is already closed, h shall donothing. This operator terminates the current subpath.
 - * Appending another segment to the current path shall begin a new subpath, even if the new segment begins at the
 - * endpoint reached by the h operation.
 - *
 - * @see "PDF 1.7 specification, Section 8.5.2 'Path Construction Operators'"
 - * @author PdfBox, modified by Datentechnik Innovation GmbH
 - */
 -public class ClosePath extends PathConstructionOperatorProcessor {
 -
 -	private Log log = LogFactory.getLog(getClass());
 -
 -	public ClosePath(PDFPage context) {
 -		super(context);
 -	}
 -
 -	@Override
 -	public void process(PDFOperator operator, List operands) throws IOException {
 -		try {
 -			PDFPage pdfPage = (PDFPage) context;
 -
 -			pdfPage.getCurrentPath().closePath();
 -
 -			if (log.isTraceEnabled()) {
 -				log.trace("Closing current path.");
 -			}
 -		} catch (Exception e) {
 -			log.warn("Error processing operator 'h'.", e);
 -		}
 -	}
 -
 -}
 +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/ +/** + * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.knowcenter.wag.egov.egiz.pdf.operator.path.construction; + +import at.knowcenter.wag.egov.egiz.pdf.PDFPage; +import at.knowcenter.wag.egov.egiz.pdf.operator.path.PathConstructionOperatorProcessor; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.pdfbox.util.PDFOperator; + +import java.io.IOException; +import java.util.List; + +/** + * Close the current subpath by appending a straight line segment from the current point to the starting point of the + * subpath. If the current subpath is already closed, h shall donothing. This operator terminates the current subpath. + * Appending another segment to the current path shall begin a new subpath, even if the new segment begins at the + * endpoint reached by the h operation. + * + * @see "PDF 1.7 specification, Section 8.5.2 'Path Construction Operators'" + * @author PdfBox, modified by Datentechnik Innovation GmbH + */ +public class ClosePath extends PathConstructionOperatorProcessor { + +	private Log log = LogFactory.getLog(getClass()); + +	public ClosePath(PDFPage context) { +		super(context); +	} + +	@Override +	public void process(PDFOperator operator, List operands) throws IOException { +		try { +			PDFPage pdfPage = (PDFPage) context; + +			pdfPage.getCurrentPath().closePath(); + +			if (log.isTraceEnabled()) { +				log.trace("Closing current path."); +			} +		} catch (Exception e) { +			log.warn("Error processing operator 'h'.", e); +		} +	} + +} diff --git a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/construction/CurveTo.java b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/construction/CurveTo.java index 70f5ab20..982f72d8 100644 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/construction/CurveTo.java +++ b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/construction/CurveTo.java @@ -1,84 +1,107 @@ -/**
 - * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
 - * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
 - * joint initiative of the Federal Chancellery Austria and Graz University of
 - * Technology.
 - *
 - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
 - * the European Commission - subsequent versions of the EUPL (the "Licence");
 - * You may not use this work except in compliance with the Licence.
 - * You may obtain a copy of the Licence at:
 - * http://www.osor.eu/eupl/
 - *
 - * Unless required by applicable law or agreed to in writing, software
 - * distributed under the Licence is distributed on an "AS IS" basis,
 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 - * See the Licence for the specific language governing permissions and
 - * limitations under the Licence.
 - *
 - * This product combines work with different licenses. See the "NOTICE" text
 - * file for details on the various modules and licenses.
 - * The "NOTICE" text file is part of the distribution. Any derivative works
 - * that you distribute must include a readable copy of the "NOTICE" text file.
 - */
 -package at.knowcenter.wag.egov.egiz.pdf.operator.path.construction;
 -
 -import at.knowcenter.wag.egov.egiz.pdf.PDFPage;
 -import at.knowcenter.wag.egov.egiz.pdf.operator.path.PathConstructionOperatorProcessor;
 -import org.apache.commons.logging.Log;
 -import org.apache.commons.logging.LogFactory;
 -import org.apache.pdfbox.cos.COSNumber;
 -import org.apache.pdfbox.util.PDFOperator;
 -
 -import java.awt.geom.Point2D;
 -import java.io.IOException;
 -import java.util.List;
 -
 -/**
 - * Append a cubic Bezier curve to the current path. The curve shall extend from the current point to the point (x3, y3),
 - * using (x1, y1) and (x2, y2) as the Bezier control points (see 8.5.2.2, "Cubic Bezier Curves"). The new current point
 - * shall be (x3, y3).
 - *
 - * @see "PDF 1.7 specification, Section 8.5.2 'Path Construction Operators'"
 - * @author PdfBox, modified by Datentechnik Innovation GmbH
 - */
 -public class CurveTo extends PathConstructionOperatorProcessor {
 -
 -	private Log log = LogFactory.getLog(getClass());
 -
 -	public CurveTo(PDFPage context) {
 -		super(context);
 -	}
 -
 -	@Override
 -	public void process(PDFOperator operator, List operands) throws IOException {
 -		try {
 -			PDFPage pdfPage = (PDFPage) context;
 -
 -			COSNumber x1 = (COSNumber) operands.get(0);
 -			COSNumber y1 = (COSNumber) operands.get(1);
 -			COSNumber x2 = (COSNumber) operands.get(2);
 -			COSNumber y2 = (COSNumber) operands.get(3);
 -			COSNumber x3 = (COSNumber) operands.get(4);
 -			COSNumber y3 = (COSNumber) operands.get(5);
 -
 -			Point2D p1 = transform(x1.doubleValue(), y1.doubleValue());
 -			Point2D p2 = transform(x2.doubleValue(), y2.doubleValue());
 -			Point2D p3 = transform(x3.doubleValue(), y3.doubleValue());
 -
 -			pdfPage.getCurrentPath().curveTo(
 -					(float) p1.getX(), (float) p1.getY(),
 -					(float) p2.getX(), (float) p2.getY(),
 -					(float) p3.getX(), (float) p3.getY()
 -			);
 -
 -			if (log.isTraceEnabled()) {
 -				log.trace("Appending cubic Bezier curve with x1:" + p1.getX() + ",y1:" + p1.getY() + ", x2:"
 -						+ p2.getX() + ",y2:" + p2.getY() + ", x3:" + p3.getX() + ",y3:" + p3.getY());
 -			}
 -		} catch (Exception e) {
 -			log.warn("Error processing operator 'c'.", e);
 -		}
 -	}
 -
 -}
 +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/ +/** + * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.knowcenter.wag.egov.egiz.pdf.operator.path.construction; + +import at.knowcenter.wag.egov.egiz.pdf.PDFPage; +import at.knowcenter.wag.egov.egiz.pdf.operator.path.PathConstructionOperatorProcessor; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.pdfbox.cos.COSNumber; +import org.apache.pdfbox.util.PDFOperator; + +import java.awt.geom.Point2D; +import java.io.IOException; +import java.util.List; + +/** + * Append a cubic Bezier curve to the current path. The curve shall extend from the current point to the point (x3, y3), + * using (x1, y1) and (x2, y2) as the Bezier control points (see 8.5.2.2, "Cubic Bezier Curves"). The new current point + * shall be (x3, y3). + * + * @see "PDF 1.7 specification, Section 8.5.2 'Path Construction Operators'" + * @author PdfBox, modified by Datentechnik Innovation GmbH + */ +public class CurveTo extends PathConstructionOperatorProcessor { + +	private Log log = LogFactory.getLog(getClass()); + +	public CurveTo(PDFPage context) { +		super(context); +	} + +	@Override +	public void process(PDFOperator operator, List operands) throws IOException { +		try { +			PDFPage pdfPage = (PDFPage) context; + +			COSNumber x1 = (COSNumber) operands.get(0); +			COSNumber y1 = (COSNumber) operands.get(1); +			COSNumber x2 = (COSNumber) operands.get(2); +			COSNumber y2 = (COSNumber) operands.get(3); +			COSNumber x3 = (COSNumber) operands.get(4); +			COSNumber y3 = (COSNumber) operands.get(5); + +			Point2D p1 = transform(x1.doubleValue(), y1.doubleValue()); +			Point2D p2 = transform(x2.doubleValue(), y2.doubleValue()); +			Point2D p3 = transform(x3.doubleValue(), y3.doubleValue()); + +			pdfPage.getCurrentPath().curveTo( +					(float) p1.getX(), (float) p1.getY(), +					(float) p2.getX(), (float) p2.getY(), +					(float) p3.getX(), (float) p3.getY() +			); + +			if (log.isTraceEnabled()) { +				log.trace("Appending cubic Bezier curve with x1:" + p1.getX() + ",y1:" + p1.getY() + ", x2:" +						+ p2.getX() + ",y2:" + p2.getY() + ", x3:" + p3.getX() + ",y3:" + p3.getY()); +			} +		} catch (Exception e) { +			log.warn("Error processing operator 'c'.", e); +		} +	} + +} diff --git a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/construction/CurveToReplicateFinalPoint.java b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/construction/CurveToReplicateFinalPoint.java index c6125751..8a467c7e 100644 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/construction/CurveToReplicateFinalPoint.java +++ b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/construction/CurveToReplicateFinalPoint.java @@ -1,81 +1,104 @@ -/**
 - * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
 - * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
 - * joint initiative of the Federal Chancellery Austria and Graz University of
 - * Technology.
 - *
 - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
 - * the European Commission - subsequent versions of the EUPL (the "Licence");
 - * You may not use this work except in compliance with the Licence.
 - * You may obtain a copy of the Licence at:
 - * http://www.osor.eu/eupl/
 - *
 - * Unless required by applicable law or agreed to in writing, software
 - * distributed under the Licence is distributed on an "AS IS" basis,
 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 - * See the Licence for the specific language governing permissions and
 - * limitations under the Licence.
 - *
 - * This product combines work with different licenses. See the "NOTICE" text
 - * file for details on the various modules and licenses.
 - * The "NOTICE" text file is part of the distribution. Any derivative works
 - * that you distribute must include a readable copy of the "NOTICE" text file.
 - */
 -package at.knowcenter.wag.egov.egiz.pdf.operator.path.construction;
 -
 -import at.knowcenter.wag.egov.egiz.pdf.PDFPage;
 -import at.knowcenter.wag.egov.egiz.pdf.operator.path.PathConstructionOperatorProcessor;
 -import org.apache.commons.logging.Log;
 -import org.apache.commons.logging.LogFactory;
 -import org.apache.pdfbox.cos.COSNumber;
 -import org.apache.pdfbox.util.PDFOperator;
 -
 -import java.awt.geom.Point2D;
 -import java.io.IOException;
 -import java.util.List;
 -
 -/**
 - * Append a cubic Bezier curve to the current path. The curve shall extend from the current point to the point (x3, y3),
 - * using (x1, y1) and (x3, y3) as the Bezier control points (see 8.5.2.2, "Cubic Bezier Curves"). The new current point
 - * shall be (x3, y3).
 - *
 - * @see "PDF 1.7 specification, Section 8.5.2 'Path Construction Operators'"
 - * @author PdfBox, modified by Datentechnik Innovation GmbH
 - */
 -public class CurveToReplicateFinalPoint extends PathConstructionOperatorProcessor {
 -
 -	private Log log = LogFactory.getLog(getClass());
 -
 -	public CurveToReplicateFinalPoint(PDFPage context) {
 -		super(context);
 -	}
 -
 -	@Override
 -	public void process(PDFOperator operator, List operands) throws IOException {
 -		try {
 -			PDFPage pdfPage = (PDFPage) context;
 -
 -			COSNumber x1 = (COSNumber) operands.get(0);
 -			COSNumber y1 = (COSNumber) operands.get(1);
 -			COSNumber x3 = (COSNumber) operands.get(2);
 -			COSNumber y3 = (COSNumber) operands.get(3);
 -
 -			Point2D p1 = transform(x1.doubleValue(), y1.doubleValue());
 -			Point2D p3 = transform(x3.doubleValue(), y3.doubleValue());
 -
 -			pdfPage.getCurrentPath().curveTo(
 -					(float) p1.getX(), (float) p1.getY(),
 -					(float) p3.getX(), (float) p3.getY(),
 -					(float) p3.getX(), (float) p3.getY()
 -			);
 -
 -			if (log.isTraceEnabled()) {
 -				log.trace("Appending cubic Bezier curve with x1:" + p1.getX() + ",y1:" + p1.getY() + ", x3:"
 -						+ p3.getX() + ",y3:" + p3.getY());
 -			}
 -		} catch (Exception e) {
 -			log.warn("Error processing operator 'y'.", e);
 -		}
 -	}
 -
 -}
 +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/ +/** + * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.knowcenter.wag.egov.egiz.pdf.operator.path.construction; + +import at.knowcenter.wag.egov.egiz.pdf.PDFPage; +import at.knowcenter.wag.egov.egiz.pdf.operator.path.PathConstructionOperatorProcessor; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.pdfbox.cos.COSNumber; +import org.apache.pdfbox.util.PDFOperator; + +import java.awt.geom.Point2D; +import java.io.IOException; +import java.util.List; + +/** + * Append a cubic Bezier curve to the current path. The curve shall extend from the current point to the point (x3, y3), + * using (x1, y1) and (x3, y3) as the Bezier control points (see 8.5.2.2, "Cubic Bezier Curves"). The new current point + * shall be (x3, y3). + * + * @see "PDF 1.7 specification, Section 8.5.2 'Path Construction Operators'" + * @author PdfBox, modified by Datentechnik Innovation GmbH + */ +public class CurveToReplicateFinalPoint extends PathConstructionOperatorProcessor { + +	private Log log = LogFactory.getLog(getClass()); + +	public CurveToReplicateFinalPoint(PDFPage context) { +		super(context); +	} + +	@Override +	public void process(PDFOperator operator, List operands) throws IOException { +		try { +			PDFPage pdfPage = (PDFPage) context; + +			COSNumber x1 = (COSNumber) operands.get(0); +			COSNumber y1 = (COSNumber) operands.get(1); +			COSNumber x3 = (COSNumber) operands.get(2); +			COSNumber y3 = (COSNumber) operands.get(3); + +			Point2D p1 = transform(x1.doubleValue(), y1.doubleValue()); +			Point2D p3 = transform(x3.doubleValue(), y3.doubleValue()); + +			pdfPage.getCurrentPath().curveTo( +					(float) p1.getX(), (float) p1.getY(), +					(float) p3.getX(), (float) p3.getY(), +					(float) p3.getX(), (float) p3.getY() +			); + +			if (log.isTraceEnabled()) { +				log.trace("Appending cubic Bezier curve with x1:" + p1.getX() + ",y1:" + p1.getY() + ", x3:" +						+ p3.getX() + ",y3:" + p3.getY()); +			} +		} catch (Exception e) { +			log.warn("Error processing operator 'y'.", e); +		} +	} + +} diff --git a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/construction/CurveToReplicateInitialPoint.java b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/construction/CurveToReplicateInitialPoint.java index 1479bc7d..e05be319 100644 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/construction/CurveToReplicateInitialPoint.java +++ b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/construction/CurveToReplicateInitialPoint.java @@ -1,83 +1,106 @@ -/**
 - * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
 - * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
 - * joint initiative of the Federal Chancellery Austria and Graz University of
 - * Technology.
 - *
 - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
 - * the European Commission - subsequent versions of the EUPL (the "Licence");
 - * You may not use this work except in compliance with the Licence.
 - * You may obtain a copy of the Licence at:
 - * http://www.osor.eu/eupl/
 - *
 - * Unless required by applicable law or agreed to in writing, software
 - * distributed under the Licence is distributed on an "AS IS" basis,
 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 - * See the Licence for the specific language governing permissions and
 - * limitations under the Licence.
 - *
 - * This product combines work with different licenses. See the "NOTICE" text
 - * file for details on the various modules and licenses.
 - * The "NOTICE" text file is part of the distribution. Any derivative works
 - * that you distribute must include a readable copy of the "NOTICE" text file.
 - */
 -package at.knowcenter.wag.egov.egiz.pdf.operator.path.construction;
 -
 -import at.knowcenter.wag.egov.egiz.pdf.PDFPage;
 -import at.knowcenter.wag.egov.egiz.pdf.operator.path.PathConstructionOperatorProcessor;
 -import org.apache.commons.logging.Log;
 -import org.apache.commons.logging.LogFactory;
 -import org.apache.pdfbox.cos.COSNumber;
 -import org.apache.pdfbox.util.PDFOperator;
 -
 -import java.awt.geom.Point2D;
 -import java.io.IOException;
 -import java.util.List;
 -
 -/**
 - * Append a cubic Bezier curve to the current path. The curve shall extend from the current point to the point (x3, y3),
 - * using the current point and (x2, y2) as the Bezier control points (see 8.5.2.2, "Cubic Bezier Curves"). The new
 - * current point shall be (x3, y3).
 - *
 - * @see "PDF 1.7 specification, Section 8.5.2 'Path Construction Operators'"
 - * @author PdfBox, modified by Datentechnik Innovation GmbH
 - */
 -public class CurveToReplicateInitialPoint extends PathConstructionOperatorProcessor {
 -
 -	private Log log = LogFactory.getLog(getClass());
 -
 -	public CurveToReplicateInitialPoint(PDFPage context) {
 -		super(context);
 -	}
 -
 -	@Override
 -	public void process(PDFOperator operator, List operands) throws IOException {
 -		try {
 -			PDFPage pdfPage = (PDFPage) context;
 -
 -			COSNumber x2 = (COSNumber) operands.get(0);
 -			COSNumber y2 = (COSNumber) operands.get(1);
 -			COSNumber x3 = (COSNumber) operands.get(2);
 -			COSNumber y3 = (COSNumber) operands.get(3);
 -
 -	        Point2D currentPoint = pdfPage.getCurrentPath().getCurrentPoint();
 -			Point2D p2 = transform(x2.doubleValue(), y2.doubleValue());
 -			Point2D p3 = transform(x3.doubleValue(), y3.doubleValue());
 -
 -			pdfPage.getCurrentPath().curveTo(
 -					(float)currentPoint.getX(), (float)currentPoint.getY(),
 -					(float) p2.getX(), (float) p2.getY(),
 -					(float) p3.getX(), (float) p3.getY()
 -			);
 -
 -			if (log.isTraceEnabled()) {
 -				log.trace("Appending cubic Bezier curve with x2:" + p2.getX() + ",y2:" + p2.getY() + ", x3:"
 -						+ p3.getX() + ",y3:" + p3.getY() + ", using current point x:" + currentPoint.getX() + ",y:"
 -						+ currentPoint.getY());
 -			}
 -		} catch (Exception e) {
 -			log.warn("Error processing operator 'v'.", e);
 -		}
 -	}
 -
 -}
 +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/ +/** + * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.knowcenter.wag.egov.egiz.pdf.operator.path.construction; + +import at.knowcenter.wag.egov.egiz.pdf.PDFPage; +import at.knowcenter.wag.egov.egiz.pdf.operator.path.PathConstructionOperatorProcessor; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.pdfbox.cos.COSNumber; +import org.apache.pdfbox.util.PDFOperator; + +import java.awt.geom.Point2D; +import java.io.IOException; +import java.util.List; + +/** + * Append a cubic Bezier curve to the current path. The curve shall extend from the current point to the point (x3, y3), + * using the current point and (x2, y2) as the Bezier control points (see 8.5.2.2, "Cubic Bezier Curves"). The new + * current point shall be (x3, y3). + * + * @see "PDF 1.7 specification, Section 8.5.2 'Path Construction Operators'" + * @author PdfBox, modified by Datentechnik Innovation GmbH + */ +public class CurveToReplicateInitialPoint extends PathConstructionOperatorProcessor { + +	private Log log = LogFactory.getLog(getClass()); + +	public CurveToReplicateInitialPoint(PDFPage context) { +		super(context); +	} + +	@Override +	public void process(PDFOperator operator, List operands) throws IOException { +		try { +			PDFPage pdfPage = (PDFPage) context; + +			COSNumber x2 = (COSNumber) operands.get(0); +			COSNumber y2 = (COSNumber) operands.get(1); +			COSNumber x3 = (COSNumber) operands.get(2); +			COSNumber y3 = (COSNumber) operands.get(3); + +	        Point2D currentPoint = pdfPage.getCurrentPath().getCurrentPoint(); +			Point2D p2 = transform(x2.doubleValue(), y2.doubleValue()); +			Point2D p3 = transform(x3.doubleValue(), y3.doubleValue()); + +			pdfPage.getCurrentPath().curveTo( +					(float)currentPoint.getX(), (float)currentPoint.getY(), +					(float) p2.getX(), (float) p2.getY(), +					(float) p3.getX(), (float) p3.getY() +			); + +			if (log.isTraceEnabled()) { +				log.trace("Appending cubic Bezier curve with x2:" + p2.getX() + ",y2:" + p2.getY() + ", x3:" +						+ p3.getX() + ",y3:" + p3.getY() + ", using current point x:" + currentPoint.getX() + ",y:" +						+ currentPoint.getY()); +			} +		} catch (Exception e) { +			log.warn("Error processing operator 'v'.", e); +		} +	} + +} diff --git a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/construction/LineTo.java b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/construction/LineTo.java index 94f16b7f..872cbede 100644 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/construction/LineTo.java +++ b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/construction/LineTo.java @@ -1,70 +1,93 @@ -/**
 - * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
 - * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
 - * joint initiative of the Federal Chancellery Austria and Graz University of
 - * Technology.
 - *
 - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
 - * the European Commission - subsequent versions of the EUPL (the "Licence");
 - * You may not use this work except in compliance with the Licence.
 - * You may obtain a copy of the Licence at:
 - * http://www.osor.eu/eupl/
 - *
 - * Unless required by applicable law or agreed to in writing, software
 - * distributed under the Licence is distributed on an "AS IS" basis,
 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 - * See the Licence for the specific language governing permissions and
 - * limitations under the Licence.
 - *
 - * This product combines work with different licenses. See the "NOTICE" text
 - * file for details on the various modules and licenses.
 - * The "NOTICE" text file is part of the distribution. Any derivative works
 - * that you distribute must include a readable copy of the "NOTICE" text file.
 - */
 -package at.knowcenter.wag.egov.egiz.pdf.operator.path.construction;
 -
 -import at.knowcenter.wag.egov.egiz.pdf.PDFPage;
 -import at.knowcenter.wag.egov.egiz.pdf.operator.path.PathConstructionOperatorProcessor;
 -import org.apache.commons.logging.Log;
 -import org.apache.commons.logging.LogFactory;
 -import org.apache.pdfbox.cos.COSNumber;
 -import org.apache.pdfbox.util.PDFOperator;
 -
 -import java.awt.geom.Point2D;
 -import java.io.IOException;
 -import java.util.List;
 -
 -/**
 - * Append a straight line segment from the current point to the point (x, y). The new current point shall be (x, y).
 - *
 - * @see "PDF 1.7 specification, Section 8.5.2 'Path Construction Operators'"
 - * @author PdfBox, modified by Datentechnik Innovation GmbH
 - */
 -public class LineTo extends PathConstructionOperatorProcessor {
 -
 -	private Log log = LogFactory.getLog(getClass());
 -
 -	public LineTo(PDFPage context) {
 -		super(context);
 -	}
 -
 -	@Override
 -	public void process(PDFOperator operator, List operands) throws IOException {
 -		try {
 -			PDFPage pdfPage = (PDFPage) context;
 -
 -			COSNumber x = (COSNumber) operands.get(0);
 -			COSNumber y = (COSNumber) operands.get(1);
 -			Point2D p = transform(x.doubleValue(), y.doubleValue());
 -
 -			pdfPage.getCurrentPath().lineTo((float) p.getX(), (float) p.getY());
 -
 -			if (log.isTraceEnabled()) {
 -				log.trace("Adding line to x:" + p.getX() + ",y:" + p.getY());
 -			}
 -		} catch (Exception e) {
 -			log.warn("Error processing operator 'l'.", e);
 -		}
 -	}
 -
 -}
 +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/ +/** + * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.knowcenter.wag.egov.egiz.pdf.operator.path.construction; + +import at.knowcenter.wag.egov.egiz.pdf.PDFPage; +import at.knowcenter.wag.egov.egiz.pdf.operator.path.PathConstructionOperatorProcessor; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.pdfbox.cos.COSNumber; +import org.apache.pdfbox.util.PDFOperator; + +import java.awt.geom.Point2D; +import java.io.IOException; +import java.util.List; + +/** + * Append a straight line segment from the current point to the point (x, y). The new current point shall be (x, y). + * + * @see "PDF 1.7 specification, Section 8.5.2 'Path Construction Operators'" + * @author PdfBox, modified by Datentechnik Innovation GmbH + */ +public class LineTo extends PathConstructionOperatorProcessor { + +	private Log log = LogFactory.getLog(getClass()); + +	public LineTo(PDFPage context) { +		super(context); +	} + +	@Override +	public void process(PDFOperator operator, List operands) throws IOException { +		try { +			PDFPage pdfPage = (PDFPage) context; + +			COSNumber x = (COSNumber) operands.get(0); +			COSNumber y = (COSNumber) operands.get(1); +			Point2D p = transform(x.doubleValue(), y.doubleValue()); + +			pdfPage.getCurrentPath().lineTo((float) p.getX(), (float) p.getY()); + +			if (log.isTraceEnabled()) { +				log.trace("Adding line to x:" + p.getX() + ",y:" + p.getY()); +			} +		} catch (Exception e) { +			log.warn("Error processing operator 'l'.", e); +		} +	} + +} diff --git a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/construction/MoveTo.java b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/construction/MoveTo.java index 97424e93..2b7275e4 100644 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/construction/MoveTo.java +++ b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/construction/MoveTo.java @@ -1,72 +1,95 @@ -/**
 - * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
 - * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
 - * joint initiative of the Federal Chancellery Austria and Graz University of
 - * Technology.
 - *
 - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
 - * the European Commission - subsequent versions of the EUPL (the "Licence");
 - * You may not use this work except in compliance with the Licence.
 - * You may obtain a copy of the Licence at:
 - * http://www.osor.eu/eupl/
 - *
 - * Unless required by applicable law or agreed to in writing, software
 - * distributed under the Licence is distributed on an "AS IS" basis,
 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 - * See the Licence for the specific language governing permissions and
 - * limitations under the Licence.
 - *
 - * This product combines work with different licenses. See the "NOTICE" text
 - * file for details on the various modules and licenses.
 - * The "NOTICE" text file is part of the distribution. Any derivative works
 - * that you distribute must include a readable copy of the "NOTICE" text file.
 - */
 -package at.knowcenter.wag.egov.egiz.pdf.operator.path.construction;
 -
 -import at.knowcenter.wag.egov.egiz.pdf.PDFPage;
 -import at.knowcenter.wag.egov.egiz.pdf.operator.path.PathConstructionOperatorProcessor;
 -import org.apache.commons.logging.Log;
 -import org.apache.commons.logging.LogFactory;
 -import org.apache.pdfbox.cos.COSNumber;
 -import org.apache.pdfbox.util.PDFOperator;
 -
 -import java.awt.geom.Point2D;
 -import java.io.IOException;
 -import java.util.List;
 -
 -/**
 - * Begin a new subpath by moving the current point to coordinates (x, y), omitting any connecting line segment. If the
 - * previous path construction operator in the current path was also m, the new m overrides it; no vestige of the
 - * previous m operation remains in the path.
 - *
 - * @see "PDF 1.7 specification, Section 8.5.2 'Path Construction Operators'"
 - * @author PdfBox, modified by Datentechnik Innovation GmbH
 - */
 -public class MoveTo extends PathConstructionOperatorProcessor {
 -
 -	private Log log = LogFactory.getLog(getClass());
 -
 -	public MoveTo(PDFPage context) {
 -		super(context);
 -	}
 -
 -	@Override
 -	public void process(PDFOperator operator, List operands) throws IOException {
 -		try {
 -			PDFPage pdfPage = (PDFPage) context;
 -
 -			COSNumber x = (COSNumber) operands.get(0);
 -			COSNumber y = (COSNumber) operands.get(1);
 -			Point2D p = transform(x.doubleValue(), y.doubleValue());
 -
 -			pdfPage.getCurrentPath().moveTo((float) p.getX(), (float) p.getY());
 -
 -			if (log.isTraceEnabled()) {
 -				log.trace("Moving current path to x:" + p.getX() + ",y:" + p.getY());
 -			}
 -		} catch (Exception e) {
 -			log.warn("Error processing operator 'm'.", e);
 -		}
 -	}
 -
 -}
 +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/ +/** + * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.knowcenter.wag.egov.egiz.pdf.operator.path.construction; + +import at.knowcenter.wag.egov.egiz.pdf.PDFPage; +import at.knowcenter.wag.egov.egiz.pdf.operator.path.PathConstructionOperatorProcessor; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.pdfbox.cos.COSNumber; +import org.apache.pdfbox.util.PDFOperator; + +import java.awt.geom.Point2D; +import java.io.IOException; +import java.util.List; + +/** + * Begin a new subpath by moving the current point to coordinates (x, y), omitting any connecting line segment. If the + * previous path construction operator in the current path was also m, the new m overrides it; no vestige of the + * previous m operation remains in the path. + * + * @see "PDF 1.7 specification, Section 8.5.2 'Path Construction Operators'" + * @author PdfBox, modified by Datentechnik Innovation GmbH + */ +public class MoveTo extends PathConstructionOperatorProcessor { + +	private Log log = LogFactory.getLog(getClass()); + +	public MoveTo(PDFPage context) { +		super(context); +	} + +	@Override +	public void process(PDFOperator operator, List operands) throws IOException { +		try { +			PDFPage pdfPage = (PDFPage) context; + +			COSNumber x = (COSNumber) operands.get(0); +			COSNumber y = (COSNumber) operands.get(1); +			Point2D p = transform(x.doubleValue(), y.doubleValue()); + +			pdfPage.getCurrentPath().moveTo((float) p.getX(), (float) p.getY()); + +			if (log.isTraceEnabled()) { +				log.trace("Moving current path to x:" + p.getX() + ",y:" + p.getY()); +			} +		} catch (Exception e) { +			log.warn("Error processing operator 'm'.", e); +		} +	} + +} diff --git a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/CloseAndStrokePath.java b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/CloseAndStrokePath.java index 5a8de9d0..78f2369c 100644 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/CloseAndStrokePath.java +++ b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/CloseAndStrokePath.java @@ -1,58 +1,81 @@ -/**
 - * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
 - * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
 - * joint initiative of the Federal Chancellery Austria and Graz University of
 - * Technology.
 - *
 - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
 - * the European Commission - subsequent versions of the EUPL (the "Licence");
 - * You may not use this work except in compliance with the Licence.
 - * You may obtain a copy of the Licence at:
 - * http://www.osor.eu/eupl/
 - *
 - * Unless required by applicable law or agreed to in writing, software
 - * distributed under the Licence is distributed on an "AS IS" basis,
 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 - * See the Licence for the specific language governing permissions and
 - * limitations under the Licence.
 - *
 - * This product combines work with different licenses. See the "NOTICE" text
 - * file for details on the various modules and licenses.
 - * The "NOTICE" text file is part of the distribution. Any derivative works
 - * that you distribute must include a readable copy of the "NOTICE" text file.
 - */
 -package at.knowcenter.wag.egov.egiz.pdf.operator.path.painting;
 -
 -import at.knowcenter.wag.egov.egiz.pdf.PDFPage;
 -import at.knowcenter.wag.egov.egiz.pdf.operator.path.PathPaintingOperatorProcessor;
 -import org.apache.commons.logging.Log;
 -import org.apache.commons.logging.LogFactory;
 -import org.apache.pdfbox.util.PDFOperator;
 -
 -import java.io.IOException;
 -import java.util.List;
 -
 -/**
 - * Close and stroke the path. This operator shall have the same effect as the sequence <code>h S</code>.
 - *
 - * @see "PDF 1.7 specification, Section 8.5.3 'Path-Painting Operators'"
 - * @author PdfBox, modified by Datentechnik Innovation GmbH
 - */
 -public class CloseAndStrokePath extends PathPaintingOperatorProcessor {
 -
 -	private Log log = LogFactory.getLog(getClass());
 -
 -	public CloseAndStrokePath(PDFPage context) {
 -		super(context);
 -	}
 -
 -	@Override
 -	public void process(PDFOperator operator, List operands) throws IOException {
 -		if (log.isTraceEnabled()) {
 -			log.trace("Closing and stroking path.");
 -		}
 -		context.processOperator("h", operands);
 -		context.processOperator("S", operands);
 -	}
 -
 -}
 +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/ +/** + * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.knowcenter.wag.egov.egiz.pdf.operator.path.painting; + +import at.knowcenter.wag.egov.egiz.pdf.PDFPage; +import at.knowcenter.wag.egov.egiz.pdf.operator.path.PathPaintingOperatorProcessor; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.pdfbox.util.PDFOperator; + +import java.io.IOException; +import java.util.List; + +/** + * Close and stroke the path. This operator shall have the same effect as the sequence <code>h S</code>. + * + * @see "PDF 1.7 specification, Section 8.5.3 'Path-Painting Operators'" + * @author PdfBox, modified by Datentechnik Innovation GmbH + */ +public class CloseAndStrokePath extends PathPaintingOperatorProcessor { + +	private Log log = LogFactory.getLog(getClass()); + +	public CloseAndStrokePath(PDFPage context) { +		super(context); +	} + +	@Override +	public void process(PDFOperator operator, List operands) throws IOException { +		if (log.isTraceEnabled()) { +			log.trace("Closing and stroking path."); +		} +		context.processOperator("h", operands); +		context.processOperator("S", operands); +	} + +} diff --git a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/CloseFillEvenOddAndStrokePath.java b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/CloseFillEvenOddAndStrokePath.java index bdaaaa4a..3c8b55a9 100644 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/CloseFillEvenOddAndStrokePath.java +++ b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/CloseFillEvenOddAndStrokePath.java @@ -1,59 +1,82 @@ -/**
 - * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
 - * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
 - * joint initiative of the Federal Chancellery Austria and Graz University of
 - * Technology.
 - *
 - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
 - * the European Commission - subsequent versions of the EUPL (the "Licence");
 - * You may not use this work except in compliance with the Licence.
 - * You may obtain a copy of the Licence at:
 - * http://www.osor.eu/eupl/
 - *
 - * Unless required by applicable law or agreed to in writing, software
 - * distributed under the Licence is distributed on an "AS IS" basis,
 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 - * See the Licence for the specific language governing permissions and
 - * limitations under the Licence.
 - *
 - * This product combines work with different licenses. See the "NOTICE" text
 - * file for details on the various modules and licenses.
 - * The "NOTICE" text file is part of the distribution. Any derivative works
 - * that you distribute must include a readable copy of the "NOTICE" text file.
 - */
 -package at.knowcenter.wag.egov.egiz.pdf.operator.path.painting;
 -
 -import at.knowcenter.wag.egov.egiz.pdf.PDFPage;
 -import at.knowcenter.wag.egov.egiz.pdf.operator.path.PathPaintingOperatorProcessor;
 -import org.apache.commons.logging.Log;
 -import org.apache.commons.logging.LogFactory;
 -import org.apache.pdfbox.util.PDFOperator;
 -
 -import java.io.IOException;
 -import java.util.List;
 -
 -/**
 - * Close, fill, and then stroke the path, using the even-odd rule to determine the region to fill. This operator shall
 - * have the same effect as the sequence <code>h B*</code>.
 - *
 - * @see "PDF 1.7 specification, Section 8.5.3 'Path-Painting Operators'"
 - * @author PdfBox, modified by Datentechnik Innovation GmbH
 - */
 -public class CloseFillEvenOddAndStrokePath extends PathPaintingOperatorProcessor {
 -
 -	private Log log = LogFactory.getLog(getClass());
 -
 -	public CloseFillEvenOddAndStrokePath(PDFPage context) {
 -		super(context);
 -	}
 -
 -	@Override
 -	public void process(PDFOperator operator, List operands) throws IOException {
 -		if (log.isTraceEnabled()) {
 -			log.trace("Closing, filling (even odd rule) and stroking path.");
 -		}
 -		context.processOperator("h", operands);
 -		context.processOperator("B*", operands);
 -	}
 -
 -}
 +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/ +/** + * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.knowcenter.wag.egov.egiz.pdf.operator.path.painting; + +import at.knowcenter.wag.egov.egiz.pdf.PDFPage; +import at.knowcenter.wag.egov.egiz.pdf.operator.path.PathPaintingOperatorProcessor; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.pdfbox.util.PDFOperator; + +import java.io.IOException; +import java.util.List; + +/** + * Close, fill, and then stroke the path, using the even-odd rule to determine the region to fill. This operator shall + * have the same effect as the sequence <code>h B*</code>. + * + * @see "PDF 1.7 specification, Section 8.5.3 'Path-Painting Operators'" + * @author PdfBox, modified by Datentechnik Innovation GmbH + */ +public class CloseFillEvenOddAndStrokePath extends PathPaintingOperatorProcessor { + +	private Log log = LogFactory.getLog(getClass()); + +	public CloseFillEvenOddAndStrokePath(PDFPage context) { +		super(context); +	} + +	@Override +	public void process(PDFOperator operator, List operands) throws IOException { +		if (log.isTraceEnabled()) { +			log.trace("Closing, filling (even odd rule) and stroking path."); +		} +		context.processOperator("h", operands); +		context.processOperator("B*", operands); +	} + +} diff --git a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/CloseFillNonZeroAndStrokePath.java b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/CloseFillNonZeroAndStrokePath.java index 4d4f3b68..529ad6c6 100644 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/CloseFillNonZeroAndStrokePath.java +++ b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/CloseFillNonZeroAndStrokePath.java @@ -1,59 +1,82 @@ -/**
 - * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
 - * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
 - * joint initiative of the Federal Chancellery Austria and Graz University of
 - * Technology.
 - *
 - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
 - * the European Commission - subsequent versions of the EUPL (the "Licence");
 - * You may not use this work except in compliance with the Licence.
 - * You may obtain a copy of the Licence at:
 - * http://www.osor.eu/eupl/
 - *
 - * Unless required by applicable law or agreed to in writing, software
 - * distributed under the Licence is distributed on an "AS IS" basis,
 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 - * See the Licence for the specific language governing permissions and
 - * limitations under the Licence.
 - *
 - * This product combines work with different licenses. See the "NOTICE" text
 - * file for details on the various modules and licenses.
 - * The "NOTICE" text file is part of the distribution. Any derivative works
 - * that you distribute must include a readable copy of the "NOTICE" text file.
 - */
 -package at.knowcenter.wag.egov.egiz.pdf.operator.path.painting;
 -
 -import at.knowcenter.wag.egov.egiz.pdf.PDFPage;
 -import at.knowcenter.wag.egov.egiz.pdf.operator.path.PathPaintingOperatorProcessor;
 -import org.apache.commons.logging.Log;
 -import org.apache.commons.logging.LogFactory;
 -import org.apache.pdfbox.util.PDFOperator;
 -
 -import java.io.IOException;
 -import java.util.List;
 -
 -/**
 - * Close, fill, and then stroke the path, using the nonzero winding number rule to determine the region to fill. This
 - * operator shall have the same effect as the sequence <code>h B</code>.
 - *
 - * @see "PDF 1.7 specification, Section 8.5.3 'Path-Painting Operators'"
 - * @author PdfBox, modified by Datentechnik Innovation GmbH
 - */
 -public class CloseFillNonZeroAndStrokePath extends PathPaintingOperatorProcessor {
 -
 -	private Log log = LogFactory.getLog(getClass());
 -
 -	public CloseFillNonZeroAndStrokePath(PDFPage context) {
 -		super(context);
 -	}
 -
 -	@Override
 -	public void process(PDFOperator operator, List operands) throws IOException {
 -		if (log.isTraceEnabled()) {
 -			log.trace("Closing, filling (non zero rule) and stroking path.");
 -		}
 -		context.processOperator("h", operands);
 -		context.processOperator("B", operands);
 -	}
 -
 -}
 +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/ +/** + * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.knowcenter.wag.egov.egiz.pdf.operator.path.painting; + +import at.knowcenter.wag.egov.egiz.pdf.PDFPage; +import at.knowcenter.wag.egov.egiz.pdf.operator.path.PathPaintingOperatorProcessor; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.pdfbox.util.PDFOperator; + +import java.io.IOException; +import java.util.List; + +/** + * Close, fill, and then stroke the path, using the nonzero winding number rule to determine the region to fill. This + * operator shall have the same effect as the sequence <code>h B</code>. + * + * @see "PDF 1.7 specification, Section 8.5.3 'Path-Painting Operators'" + * @author PdfBox, modified by Datentechnik Innovation GmbH + */ +public class CloseFillNonZeroAndStrokePath extends PathPaintingOperatorProcessor { + +	private Log log = LogFactory.getLog(getClass()); + +	public CloseFillNonZeroAndStrokePath(PDFPage context) { +		super(context); +	} + +	@Override +	public void process(PDFOperator operator, List operands) throws IOException { +		if (log.isTraceEnabled()) { +			log.trace("Closing, filling (non zero rule) and stroking path."); +		} +		context.processOperator("h", operands); +		context.processOperator("B", operands); +	} + +} diff --git a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/EndPath.java b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/EndPath.java index 291175aa..0812c3e4 100644 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/EndPath.java +++ b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/EndPath.java @@ -1,67 +1,90 @@ -/**
 - * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
 - * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
 - * joint initiative of the Federal Chancellery Austria and Graz University of
 - * Technology.
 - *
 - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
 - * the European Commission - subsequent versions of the EUPL (the "Licence");
 - * You may not use this work except in compliance with the Licence.
 - * You may obtain a copy of the Licence at:
 - * http://www.osor.eu/eupl/
 - *
 - * Unless required by applicable law or agreed to in writing, software
 - * distributed under the Licence is distributed on an "AS IS" basis,
 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 - * See the Licence for the specific language governing permissions and
 - * limitations under the Licence.
 - *
 - * This product combines work with different licenses. See the "NOTICE" text
 - * file for details on the various modules and licenses.
 - * The "NOTICE" text file is part of the distribution. Any derivative works
 - * that you distribute must include a readable copy of the "NOTICE" text file.
 - */
 -package at.knowcenter.wag.egov.egiz.pdf.operator.path.painting;
 -
 -import at.knowcenter.wag.egov.egiz.pdf.PDFPage;
 -import at.knowcenter.wag.egov.egiz.pdf.operator.path.PathPaintingOperatorProcessor;
 -import org.apache.commons.logging.Log;
 -import org.apache.commons.logging.LogFactory;
 -import org.apache.pdfbox.util.PDFOperator;
 -
 -import java.io.IOException;
 -import java.util.List;
 -
 -/**
 - * End the path object without filling or stroking it. This operator shall be a path-painting no-op, used primarily for
 - * the side effect of changing the current clipping path.
 - *
 - * @see "PDF 1.7 specification, Section 8.5.3 'Path-Painting Operators'"
 - * @author PdfBox, modified by Datentechnik Innovation GmbH
 - */
 -public class EndPath extends PathPaintingOperatorProcessor {
 -
 -	private Log log = LogFactory.getLog(getClass());
 -
 -	public EndPath(PDFPage context) {
 -		super(context);
 -	}
 -
 -	@Override
 -	public void process(PDFOperator operator, List operands) throws IOException {
 -		try {
 -			PDFPage pdfPage = (PDFPage) context;
 -
 -			log.debug("Ending path " + pdfPage.getCurrentPath());
 -			pdfPage.getCurrentPath().reset();
 -
 -			if (log.isTraceEnabled()) {
 -				log.trace("End path without filling or stroking.");
 -			}
 -
 -		} catch (Exception e) {
 -			log.warn("Error processing operator 'n'.", e);
 -		}
 -	}
 -
 -}
 +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/ +/** + * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.knowcenter.wag.egov.egiz.pdf.operator.path.painting; + +import at.knowcenter.wag.egov.egiz.pdf.PDFPage; +import at.knowcenter.wag.egov.egiz.pdf.operator.path.PathPaintingOperatorProcessor; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.pdfbox.util.PDFOperator; + +import java.io.IOException; +import java.util.List; + +/** + * End the path object without filling or stroking it. This operator shall be a path-painting no-op, used primarily for + * the side effect of changing the current clipping path. + * + * @see "PDF 1.7 specification, Section 8.5.3 'Path-Painting Operators'" + * @author PdfBox, modified by Datentechnik Innovation GmbH + */ +public class EndPath extends PathPaintingOperatorProcessor { + +	private Log log = LogFactory.getLog(getClass()); + +	public EndPath(PDFPage context) { +		super(context); +	} + +	@Override +	public void process(PDFOperator operator, List operands) throws IOException { +		try { +			PDFPage pdfPage = (PDFPage) context; + +			log.debug("Ending path " + pdfPage.getCurrentPath()); +			pdfPage.getCurrentPath().reset(); + +			if (log.isTraceEnabled()) { +				log.trace("End path without filling or stroking."); +			} + +		} catch (Exception e) { +			log.warn("Error processing operator 'n'.", e); +		} +	} + +} diff --git a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/FillEvenOddAndStrokePath.java b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/FillEvenOddAndStrokePath.java index b1e836d5..f03bc31f 100644 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/FillEvenOddAndStrokePath.java +++ b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/FillEvenOddAndStrokePath.java @@ -1,71 +1,94 @@ -/**
 - * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
 - * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
 - * joint initiative of the Federal Chancellery Austria and Graz University of
 - * Technology.
 - *
 - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
 - * the European Commission - subsequent versions of the EUPL (the "Licence");
 - * You may not use this work except in compliance with the Licence.
 - * You may obtain a copy of the Licence at:
 - * http://www.osor.eu/eupl/
 - *
 - * Unless required by applicable law or agreed to in writing, software
 - * distributed under the Licence is distributed on an "AS IS" basis,
 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 - * See the Licence for the specific language governing permissions and
 - * limitations under the Licence.
 - *
 - * This product combines work with different licenses. See the "NOTICE" text
 - * file for details on the various modules and licenses.
 - * The "NOTICE" text file is part of the distribution. Any derivative works
 - * that you distribute must include a readable copy of the "NOTICE" text file.
 - */
 -package at.knowcenter.wag.egov.egiz.pdf.operator.path.painting;
 -
 -import at.knowcenter.wag.egov.egiz.pdf.PDFPage;
 -import at.knowcenter.wag.egov.egiz.pdf.operator.path.PathPaintingOperatorProcessor;
 -import org.apache.commons.logging.Log;
 -import org.apache.commons.logging.LogFactory;
 -import org.apache.pdfbox.util.PDFOperator;
 -
 -import java.awt.geom.GeneralPath;
 -import java.io.IOException;
 -import java.util.List;
 -
 -/**
 - * Fill and then stroke the path, using the even-odd rule to determine the region to fill. This operator shall produce
 - * the same result as <code>B</code>, except that the path is filled as if with <code>f*</code> instead of
 - * <code>f</code>.
 - *
 - * @see "PDF 1.7 specification, Section 8.5.3 'Path-Painting Operators'"
 - * @author PdfBox, modified by Datentechnik Innovation GmbH
 - */
 -public class FillEvenOddAndStrokePath extends PathPaintingOperatorProcessor {
 -
 -	private Log log = LogFactory.getLog(getClass());
 -
 -	public FillEvenOddAndStrokePath(PDFPage context) {
 -		super(context);
 -	}
 -
 -	@Override
 -	public void process(PDFOperator operator, List operands) throws IOException {
 -		try {
 -			PDFPage pdfPage = (PDFPage) context;
 -
 -			if (log.isTraceEnabled()) {
 -				log.trace("Filling (even odd rule) and stroking path.");
 -			}
 -
 -			GeneralPath currentPath = (GeneralPath) pdfPage.getCurrentPath().clone();
 -			context.processOperator("f*", operands);
 -			pdfPage.setCurrentPath(currentPath);
 -			context.processOperator("S", operands);
 -
 -		} catch (Exception e) {
 -			log.warn("Error processing operator 'B*'.", e);
 -		}
 -	}
 -
 -}
 +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/ +/** + * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.knowcenter.wag.egov.egiz.pdf.operator.path.painting; + +import at.knowcenter.wag.egov.egiz.pdf.PDFPage; +import at.knowcenter.wag.egov.egiz.pdf.operator.path.PathPaintingOperatorProcessor; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.pdfbox.util.PDFOperator; + +import java.awt.geom.GeneralPath; +import java.io.IOException; +import java.util.List; + +/** + * Fill and then stroke the path, using the even-odd rule to determine the region to fill. This operator shall produce + * the same result as <code>B</code>, except that the path is filled as if with <code>f*</code> instead of + * <code>f</code>. + * + * @see "PDF 1.7 specification, Section 8.5.3 'Path-Painting Operators'" + * @author PdfBox, modified by Datentechnik Innovation GmbH + */ +public class FillEvenOddAndStrokePath extends PathPaintingOperatorProcessor { + +	private Log log = LogFactory.getLog(getClass()); + +	public FillEvenOddAndStrokePath(PDFPage context) { +		super(context); +	} + +	@Override +	public void process(PDFOperator operator, List operands) throws IOException { +		try { +			PDFPage pdfPage = (PDFPage) context; + +			if (log.isTraceEnabled()) { +				log.trace("Filling (even odd rule) and stroking path."); +			} + +			GeneralPath currentPath = (GeneralPath) pdfPage.getCurrentPath().clone(); +			context.processOperator("f*", operands); +			pdfPage.setCurrentPath(currentPath); +			context.processOperator("S", operands); + +		} catch (Exception e) { +			log.warn("Error processing operator 'B*'.", e); +		} +	} + +} diff --git a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/FillNonZeroAndStrokePath.java b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/FillNonZeroAndStrokePath.java index 72719ec3..911169a9 100644 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/FillNonZeroAndStrokePath.java +++ b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/FillNonZeroAndStrokePath.java @@ -1,71 +1,94 @@ -/**
 - * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
 - * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
 - * joint initiative of the Federal Chancellery Austria and Graz University of
 - * Technology.
 - *
 - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
 - * the European Commission - subsequent versions of the EUPL (the "Licence");
 - * You may not use this work except in compliance with the Licence.
 - * You may obtain a copy of the Licence at:
 - * http://www.osor.eu/eupl/
 - *
 - * Unless required by applicable law or agreed to in writing, software
 - * distributed under the Licence is distributed on an "AS IS" basis,
 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 - * See the Licence for the specific language governing permissions and
 - * limitations under the Licence.
 - *
 - * This product combines work with different licenses. See the "NOTICE" text
 - * file for details on the various modules and licenses.
 - * The "NOTICE" text file is part of the distribution. Any derivative works
 - * that you distribute must include a readable copy of the "NOTICE" text file.
 - */
 -package at.knowcenter.wag.egov.egiz.pdf.operator.path.painting;
 -
 -import at.knowcenter.wag.egov.egiz.pdf.PDFPage;
 -import at.knowcenter.wag.egov.egiz.pdf.operator.path.PathPaintingOperatorProcessor;
 -import org.apache.commons.logging.Log;
 -import org.apache.commons.logging.LogFactory;
 -import org.apache.pdfbox.util.PDFOperator;
 -
 -import java.awt.geom.GeneralPath;
 -import java.io.IOException;
 -import java.util.List;
 -
 -/**
 - * Fill and then stroke the path, using the nonzero winding number rule to determine the region to fill. This operator
 - * shall produce the same result as constructing two identical path objects, painting the first with <code>f</code> and
 - * the second with <code>S</code>.
 - *
 - * @see "PDF 1.7 specification, Section 8.5.3 'Path-Painting Operators'"
 - * @author PdfBox, modified by Datentechnik Innovation GmbH
 - */
 -public class FillNonZeroAndStrokePath extends PathPaintingOperatorProcessor {
 -
 -	private Log log = LogFactory.getLog(getClass());
 -
 -	public FillNonZeroAndStrokePath(PDFPage context) {
 -		super(context);
 -	}
 -
 -	@Override
 -	public void process(PDFOperator operator, List operands) throws IOException {
 -		try {
 -			PDFPage pdfPage = (PDFPage) context;
 -
 -			if (log.isTraceEnabled()) {
 -				log.trace("Filling (non zero rule) and stroking path.");
 -			}
 -
 -			GeneralPath currentPath = (GeneralPath) pdfPage.getCurrentPath().clone();
 -			context.processOperator("f", operands);
 -			pdfPage.setCurrentPath(currentPath);
 -			context.processOperator("S", operands);
 -
 -		} catch (Exception e) {
 -			log.warn("Error processing operator 'B'.", e);
 -		}
 -	}
 -
 -}
 +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/ +/** + * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.knowcenter.wag.egov.egiz.pdf.operator.path.painting; + +import at.knowcenter.wag.egov.egiz.pdf.PDFPage; +import at.knowcenter.wag.egov.egiz.pdf.operator.path.PathPaintingOperatorProcessor; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.pdfbox.util.PDFOperator; + +import java.awt.geom.GeneralPath; +import java.io.IOException; +import java.util.List; + +/** + * Fill and then stroke the path, using the nonzero winding number rule to determine the region to fill. This operator + * shall produce the same result as constructing two identical path objects, painting the first with <code>f</code> and + * the second with <code>S</code>. + * + * @see "PDF 1.7 specification, Section 8.5.3 'Path-Painting Operators'" + * @author PdfBox, modified by Datentechnik Innovation GmbH + */ +public class FillNonZeroAndStrokePath extends PathPaintingOperatorProcessor { + +	private Log log = LogFactory.getLog(getClass()); + +	public FillNonZeroAndStrokePath(PDFPage context) { +		super(context); +	} + +	@Override +	public void process(PDFOperator operator, List operands) throws IOException { +		try { +			PDFPage pdfPage = (PDFPage) context; + +			if (log.isTraceEnabled()) { +				log.trace("Filling (non zero rule) and stroking path."); +			} + +			GeneralPath currentPath = (GeneralPath) pdfPage.getCurrentPath().clone(); +			context.processOperator("f", operands); +			pdfPage.setCurrentPath(currentPath); +			context.processOperator("S", operands); + +		} catch (Exception e) { +			log.warn("Error processing operator 'B'.", e); +		} +	} + +} diff --git a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/FillPathEvenOddRule.java b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/FillPathEvenOddRule.java index 28343c5a..7a20b52e 100644 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/FillPathEvenOddRule.java +++ b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/FillPathEvenOddRule.java @@ -1,70 +1,93 @@ -/**
 - * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
 - * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
 - * joint initiative of the Federal Chancellery Austria and Graz University of
 - * Technology.
 - *
 - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
 - * the European Commission - subsequent versions of the EUPL (the "Licence");
 - * You may not use this work except in compliance with the Licence.
 - * You may obtain a copy of the Licence at:
 - * http://www.osor.eu/eupl/
 - *
 - * Unless required by applicable law or agreed to in writing, software
 - * distributed under the Licence is distributed on an "AS IS" basis,
 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 - * See the Licence for the specific language governing permissions and
 - * limitations under the Licence.
 - *
 - * This product combines work with different licenses. See the "NOTICE" text
 - * file for details on the various modules and licenses.
 - * The "NOTICE" text file is part of the distribution. Any derivative works
 - * that you distribute must include a readable copy of the "NOTICE" text file.
 - */
 -package at.knowcenter.wag.egov.egiz.pdf.operator.path.painting;
 -
 -import at.knowcenter.wag.egov.egiz.pdf.PDFPage;
 -import at.knowcenter.wag.egov.egiz.pdf.operator.path.PathPaintingOperatorProcessor;
 -import org.apache.commons.logging.Log;
 -import org.apache.commons.logging.LogFactory;
 -import org.apache.pdfbox.util.PDFOperator;
 -
 -import java.awt.*;
 -import java.io.IOException;
 -import java.util.List;
 -
 -/**
 - * Fill the path, using the even-odd rule to determine the region to fill.
 - *
 - * @see "PDF 1.7 specification, Section 8.5.3 'Path-Painting Operators'"
 - * @author PdfBox, modified by Datentechnik Innovation GmbH
 - */
 -public class FillPathEvenOddRule extends PathPaintingOperatorProcessor {
 -
 -	private Log log = LogFactory.getLog(getClass());
 -
 -	public FillPathEvenOddRule(PDFPage context) {
 -		super(context);
 -	}
 -
 -	@Override
 -	public void process(PDFOperator operator, List operands) throws IOException {
 -		try {
 -			PDFPage pdfPage = (PDFPage) context;
 -
 -			pdfPage.getCurrentPath().setWindingRule(java.awt.geom.GeneralPath.WIND_EVEN_ODD);
 -			Rectangle bounds = pdfPage.getCurrentPath().getBounds();
 -			pdfPage.getCurrentPath().reset();
 -
 -			if (log.isTraceEnabled()) {
 -				log.trace("Filling path, using even-odd rule.");
 -			}
 -
 -			pdfPage.registerPathBounds(bounds);
 -
 -		} catch (Exception e) {
 -			log.warn("Error processing operator 'f*'.", e);
 -		}
 -	}
 -
 -}
 +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/ +/** + * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.knowcenter.wag.egov.egiz.pdf.operator.path.painting; + +import at.knowcenter.wag.egov.egiz.pdf.PDFPage; +import at.knowcenter.wag.egov.egiz.pdf.operator.path.PathPaintingOperatorProcessor; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.pdfbox.util.PDFOperator; + +import java.awt.*; +import java.io.IOException; +import java.util.List; + +/** + * Fill the path, using the even-odd rule to determine the region to fill. + * + * @see "PDF 1.7 specification, Section 8.5.3 'Path-Painting Operators'" + * @author PdfBox, modified by Datentechnik Innovation GmbH + */ +public class FillPathEvenOddRule extends PathPaintingOperatorProcessor { + +	private Log log = LogFactory.getLog(getClass()); + +	public FillPathEvenOddRule(PDFPage context) { +		super(context); +	} + +	@Override +	public void process(PDFOperator operator, List operands) throws IOException { +		try { +			PDFPage pdfPage = (PDFPage) context; + +			pdfPage.getCurrentPath().setWindingRule(java.awt.geom.GeneralPath.WIND_EVEN_ODD); +			Rectangle bounds = pdfPage.getCurrentPath().getBounds(); +			pdfPage.getCurrentPath().reset(); + +			if (log.isTraceEnabled()) { +				log.trace("Filling path, using even-odd rule."); +			} + +			pdfPage.registerPathBounds(bounds); + +		} catch (Exception e) { +			log.warn("Error processing operator 'f*'.", e); +		} +	} + +} diff --git a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/FillPathNonZeroWindingNumberRule.java b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/FillPathNonZeroWindingNumberRule.java index 28e5c373..4a2f4ff9 100644 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/FillPathNonZeroWindingNumberRule.java +++ b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/FillPathNonZeroWindingNumberRule.java @@ -1,71 +1,94 @@ -/**
 - * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
 - * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
 - * joint initiative of the Federal Chancellery Austria and Graz University of
 - * Technology.
 - *
 - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
 - * the European Commission - subsequent versions of the EUPL (the "Licence");
 - * You may not use this work except in compliance with the Licence.
 - * You may obtain a copy of the Licence at:
 - * http://www.osor.eu/eupl/
 - *
 - * Unless required by applicable law or agreed to in writing, software
 - * distributed under the Licence is distributed on an "AS IS" basis,
 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 - * See the Licence for the specific language governing permissions and
 - * limitations under the Licence.
 - *
 - * This product combines work with different licenses. See the "NOTICE" text
 - * file for details on the various modules and licenses.
 - * The "NOTICE" text file is part of the distribution. Any derivative works
 - * that you distribute must include a readable copy of the "NOTICE" text file.
 - */
 -package at.knowcenter.wag.egov.egiz.pdf.operator.path.painting;
 -
 -import at.knowcenter.wag.egov.egiz.pdf.PDFPage;
 -import at.knowcenter.wag.egov.egiz.pdf.operator.path.PathPaintingOperatorProcessor;
 -import org.apache.commons.logging.Log;
 -import org.apache.commons.logging.LogFactory;
 -import org.apache.pdfbox.util.PDFOperator;
 -
 -import java.awt.*;
 -import java.io.IOException;
 -import java.util.List;
 -
 -/**
 - * Fill the path, using the nonzero winding number rule to determine the region to fill. Any subpaths that are open
 - * shall be implicitly closed before being filled.
 - *
 - * @see "PDF 1.7 specification, Section 8.5.3 'Path-Painting Operators'"
 - * @author PdfBox, modified by Datentechnik Innovation GmbH
 - */
 -public class FillPathNonZeroWindingNumberRule extends PathPaintingOperatorProcessor {
 -
 -	private Log log = LogFactory.getLog(getClass());
 -
 -	public FillPathNonZeroWindingNumberRule(PDFPage context) {
 -		super(context);
 -	}
 -
 -	@Override
 -	public void process(PDFOperator operator, List operands) throws IOException {
 -		try {
 -			PDFPage pdfPage = (PDFPage) context;
 -
 -			pdfPage.getCurrentPath().setWindingRule(java.awt.geom.GeneralPath.WIND_NON_ZERO);
 -			Rectangle bounds = pdfPage.getCurrentPath().getBounds();
 -			pdfPage.getCurrentPath().reset();
 -
 -			if (log.isTraceEnabled()) {
 -				log.trace("Filling path, using nonzero winding number rule.");
 -			}
 -
 -			pdfPage.registerPathBounds(bounds);
 -
 -		} catch (Exception e) {
 -			log.warn("Error processing operator 'f/F'.", e);
 -		}
 -	}
 -
 -}
 +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/ +/** + * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.knowcenter.wag.egov.egiz.pdf.operator.path.painting; + +import at.knowcenter.wag.egov.egiz.pdf.PDFPage; +import at.knowcenter.wag.egov.egiz.pdf.operator.path.PathPaintingOperatorProcessor; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.pdfbox.util.PDFOperator; + +import java.awt.*; +import java.io.IOException; +import java.util.List; + +/** + * Fill the path, using the nonzero winding number rule to determine the region to fill. Any subpaths that are open + * shall be implicitly closed before being filled. + * + * @see "PDF 1.7 specification, Section 8.5.3 'Path-Painting Operators'" + * @author PdfBox, modified by Datentechnik Innovation GmbH + */ +public class FillPathNonZeroWindingNumberRule extends PathPaintingOperatorProcessor { + +	private Log log = LogFactory.getLog(getClass()); + +	public FillPathNonZeroWindingNumberRule(PDFPage context) { +		super(context); +	} + +	@Override +	public void process(PDFOperator operator, List operands) throws IOException { +		try { +			PDFPage pdfPage = (PDFPage) context; + +			pdfPage.getCurrentPath().setWindingRule(java.awt.geom.GeneralPath.WIND_NON_ZERO); +			Rectangle bounds = pdfPage.getCurrentPath().getBounds(); +			pdfPage.getCurrentPath().reset(); + +			if (log.isTraceEnabled()) { +				log.trace("Filling path, using nonzero winding number rule."); +			} + +			pdfPage.registerPathBounds(bounds); + +		} catch (Exception e) { +			log.warn("Error processing operator 'f/F'.", e); +		} +	} + +} diff --git a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/StrokePath.java b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/StrokePath.java index 0530a925..240a5967 100644 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/StrokePath.java +++ b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/StrokePath.java @@ -1,69 +1,92 @@ -/**
 - * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
 - * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
 - * joint initiative of the Federal Chancellery Austria and Graz University of
 - * Technology.
 - *
 - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
 - * the European Commission - subsequent versions of the EUPL (the "Licence");
 - * You may not use this work except in compliance with the Licence.
 - * You may obtain a copy of the Licence at:
 - * http://www.osor.eu/eupl/
 - *
 - * Unless required by applicable law or agreed to in writing, software
 - * distributed under the Licence is distributed on an "AS IS" basis,
 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 - * See the Licence for the specific language governing permissions and
 - * limitations under the Licence.
 - *
 - * This product combines work with different licenses. See the "NOTICE" text
 - * file for details on the various modules and licenses.
 - * The "NOTICE" text file is part of the distribution. Any derivative works
 - * that you distribute must include a readable copy of the "NOTICE" text file.
 - */
 -package at.knowcenter.wag.egov.egiz.pdf.operator.path.painting;
 -
 -import at.knowcenter.wag.egov.egiz.pdf.PDFPage;
 -import at.knowcenter.wag.egov.egiz.pdf.operator.path.PathPaintingOperatorProcessor;
 -import org.apache.commons.logging.Log;
 -import org.apache.commons.logging.LogFactory;
 -import org.apache.pdfbox.util.PDFOperator;
 -
 -import java.awt.*;
 -import java.io.IOException;
 -import java.util.List;
 -
 -/**
 - * Strokes the path.
 - *
 - * @see "PDF 1.7 specification, Section 8.5.3 'Path-Painting Operators'"
 - * @author PdfBox, modified by Datentechnik Innovation GmbH
 - */
 -public class StrokePath extends PathPaintingOperatorProcessor {
 -
 -	private Log log = LogFactory.getLog(getClass());
 -
 -	public StrokePath(PDFPage context) {
 -		super(context);
 -	}
 -
 -	@Override
 -	public void process(PDFOperator operator, List operands) throws IOException {
 -		try {
 -			PDFPage pdfPage = (PDFPage) context;
 -
 -			Rectangle bounds = pdfPage.getCurrentPath().getBounds();
 -			pdfPage.getCurrentPath().reset();
 -
 -			if (log.isTraceEnabled()) {
 -				log.trace("Stroking path.");
 -			}
 -
 -			pdfPage.registerPathBounds(bounds);
 -
 -		} catch (Exception e) {
 -			log.warn("Error processing operator 'S'.", e);
 -		}
 -	}
 -
 -}
 +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/ +/** + * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.knowcenter.wag.egov.egiz.pdf.operator.path.painting; + +import at.knowcenter.wag.egov.egiz.pdf.PDFPage; +import at.knowcenter.wag.egov.egiz.pdf.operator.path.PathPaintingOperatorProcessor; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.pdfbox.util.PDFOperator; + +import java.awt.*; +import java.io.IOException; +import java.util.List; + +/** + * Strokes the path. + * + * @see "PDF 1.7 specification, Section 8.5.3 'Path-Painting Operators'" + * @author PdfBox, modified by Datentechnik Innovation GmbH + */ +public class StrokePath extends PathPaintingOperatorProcessor { + +	private Log log = LogFactory.getLog(getClass()); + +	public StrokePath(PDFPage context) { +		super(context); +	} + +	@Override +	public void process(PDFOperator operator, List operands) throws IOException { +		try { +			PDFPage pdfPage = (PDFPage) context; + +			Rectangle bounds = pdfPage.getCurrentPath().getBounds(); +			pdfPage.getCurrentPath().reset(); + +			if (log.isTraceEnabled()) { +				log.trace("Stroking path."); +			} + +			pdfPage.registerPathBounds(bounds); + +		} catch (Exception e) { +			log.warn("Error processing operator 'S'.", e); +		} +	} + +} diff --git a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/sig/SignatureEntry.java b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/sig/SignatureEntry.java index 957e947f..5dbff50b 100644 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/sig/SignatureEntry.java +++ b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/sig/SignatureEntry.java @@ -1,163 +1,186 @@ -/**
 - * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
 - * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
 - * joint initiative of the Federal Chancellery Austria and Graz University of
 - * Technology.
 - *
 - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
 - * the European Commission - subsequent versions of the EUPL (the "Licence");
 - * You may not use this work except in compliance with the Licence.
 - * You may obtain a copy of the Licence at:
 - * http://www.osor.eu/eupl/
 - *
 - * Unless required by applicable law or agreed to in writing, software
 - * distributed under the Licence is distributed on an "AS IS" basis,
 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 - * See the Licence for the specific language governing permissions and
 - * limitations under the Licence.
 - *
 - * This product combines work with different licenses. See the "NOTICE" text
 - * file for details on the various modules and licenses.
 - * The "NOTICE" text file is part of the distribution. Any derivative works
 - * that you distribute must include a readable copy of the "NOTICE" text file.
 - *
 - * $Id: SignatureEntry.java,v 1.3 2006/08/25 17:09:41 wprinz Exp $
 - */
 -package at.knowcenter.wag.egov.egiz.pdf.sig;
 -
 -import java.io.Serializable;
 -
 -/**
 - * This class is to store a signature entry. The signature entry is 3-tupel. A key that is defined
 - * or declarated in the settings file, an optional caption or a value. <br>
 - * An additional helper value is a marker for the start index of the key, if the key is found in an
 - * analysing process extracting captions and values from a raw signature text.
 - * 
 - * @author wlackner
 - * @see at.knowcenter.wag.egov.egiz.sig.SignatureObject
 - */
 -public class SignatureEntry implements Serializable {
 -
 -  /**
 -   * SVUID.
 -   */
 -  private static final long serialVersionUID = 4640380069301731879L;
 -  
 -  /**
 -   * The signature key.
 -   */
 -  private String key_ = null;
 -  /**
 -   * The signature caption for the key found or set in the signature text.
 -   */
 -  private String caption_ = null;
 -  /**
 -   * The signature value for the key found or set in the signature text.
 -   */
 -  private String value_ = null;
 -  /**
 -   * The starting index position of the key if it is found in the signature text.
 -   */
 -  private int startIndex_ = -1;
 -  
 -  public boolean isPlaceholder = false;
 -
 -  /**
 -   * The empty constructor.
 -   */
 -  public SignatureEntry() {
 -  }
 -
 -  /**
 -   * A new <code>SignatureEntry</code> init with the key.
 -   * 
 -   * @param key
 -   */
 -  public SignatureEntry(String key) {
 -    key_ = key;
 -  }
 -
 -  /**
 -   * Returns the caption off the current key.
 -   * 
 -   * @return Returns the caption.
 -   */
 -  public String getCaption() {
 -    return caption_;
 -  }
 -
 -  /**
 -   * Set the caption of the current key.
 -   * 
 -   * @param caption The caption to set.
 -   */
 -  public void setCaption(String caption) {
 -    caption_ = caption;
 -  }
 -
 -  /**
 -   * Return the current key.
 -   * 
 -   * @return Returns the key.
 -   */
 -  public String getKey() {
 -    return key_;
 -  }
 -
 -  /**
 -   * Set the current key.
 -   * 
 -   * @param key The key to set.
 -   */
 -  public void setKey(String key) {
 -    key_ = key;
 -  }
 -
 -  /**
 -   * Return the start position of the key that caption is found in the signature text.
 -   * 
 -   * @return Returns the startIndex.
 -   */
 -  public int getStartIndex() {
 -    return startIndex_;
 -  }
 -
 -  /**
 -   * Set the start position of the current key.
 -   * 
 -   * @param startIndex The startIndex to set.
 -   */
 -  public void setStartIndex(int startIndex) {
 -    startIndex_ = startIndex;
 -  }
 -
 -  /**
 -   * Return the value of the current key.
 -   * 
 -   * @return Returns the value.
 -   */
 -  public String getValue() {
 -    return value_;
 -  }
 -
 -  /**
 -   * Set the value of the current key.
 -   * 
 -   * @param value The value to set.
 -   */
 -  public void setValue(String value) {
 -    value_ = value;
 -  }
 -
 -  /**
 -   * The toString method, used for tests or debugging.
 -   */
 -  public String toString() {
 -    String the_string = "";
 -    the_string += "\n    Key:" + key_;
 -    the_string += "\nCaption:" + caption_;
 -    the_string += "\n  Value:" + value_;
 -//    the_string += "\nStart I:" + startIndex_;
 -    return the_string;
 -  }
 -}
\ No newline at end of file +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/ +/** + * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + * + * $Id: SignatureEntry.java,v 1.3 2006/08/25 17:09:41 wprinz Exp $ + */ +package at.knowcenter.wag.egov.egiz.pdf.sig; + +import java.io.Serializable; + +/** + * This class is to store a signature entry. The signature entry is 3-tupel. A key that is defined + * or declarated in the settings file, an optional caption or a value. <br> + * An additional helper value is a marker for the start index of the key, if the key is found in an + * analysing process extracting captions and values from a raw signature text. + *  + * @author wlackner + * @see at.knowcenter.wag.egov.egiz.sig.SignatureObject + */ +public class SignatureEntry implements Serializable { + +  /** +   * SVUID. +   */ +  private static final long serialVersionUID = 4640380069301731879L; +   +  /** +   * The signature key. +   */ +  private String key_ = null; +  /** +   * The signature caption for the key found or set in the signature text. +   */ +  private String caption_ = null; +  /** +   * The signature value for the key found or set in the signature text. +   */ +  private String value_ = null; +  /** +   * The starting index position of the key if it is found in the signature text. +   */ +  private int startIndex_ = -1; +   +  public boolean isPlaceholder = false; + +  /** +   * The empty constructor. +   */ +  public SignatureEntry() { +  } + +  /** +   * A new <code>SignatureEntry</code> init with the key. +   *  +   * @param key +   */ +  public SignatureEntry(String key) { +    key_ = key; +  } + +  /** +   * Returns the caption off the current key. +   *  +   * @return Returns the caption. +   */ +  public String getCaption() { +    return caption_; +  } + +  /** +   * Set the caption of the current key. +   *  +   * @param caption The caption to set. +   */ +  public void setCaption(String caption) { +    caption_ = caption; +  } + +  /** +   * Return the current key. +   *  +   * @return Returns the key. +   */ +  public String getKey() { +    return key_; +  } + +  /** +   * Set the current key. +   *  +   * @param key The key to set. +   */ +  public void setKey(String key) { +    key_ = key; +  } + +  /** +   * Return the start position of the key that caption is found in the signature text. +   *  +   * @return Returns the startIndex. +   */ +  public int getStartIndex() { +    return startIndex_; +  } + +  /** +   * Set the start position of the current key. +   *  +   * @param startIndex The startIndex to set. +   */ +  public void setStartIndex(int startIndex) { +    startIndex_ = startIndex; +  } + +  /** +   * Return the value of the current key. +   *  +   * @return Returns the value. +   */ +  public String getValue() { +    return value_; +  } + +  /** +   * Set the value of the current key. +   *  +   * @param value The value to set. +   */ +  public void setValue(String value) { +    value_ = value; +  } + +  /** +   * The toString method, used for tests or debugging. +   */ +  public String toString() { +    String the_string = ""; +    the_string += "\n    Key:" + key_; +    the_string += "\nCaption:" + caption_; +    the_string += "\n  Value:" + value_; +//    the_string += "\nStart I:" + startIndex_; +    return the_string; +  } +} diff --git a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/table/Entry.java b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/table/Entry.java index 289a7f6f..a9089d66 100644 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/table/Entry.java +++ b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/table/Entry.java @@ -1,235 +1,258 @@ -/**
 - * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
 - * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
 - * joint initiative of the Federal Chancellery Austria and Graz University of
 - * Technology.
 - *
 - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
 - * the European Commission - subsequent versions of the EUPL (the "Licence");
 - * You may not use this work except in compliance with the Licence.
 - * You may obtain a copy of the Licence at:
 - * http://www.osor.eu/eupl/
 - *
 - * Unless required by applicable law or agreed to in writing, software
 - * distributed under the Licence is distributed on an "AS IS" basis,
 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 - * See the Licence for the specific language governing permissions and
 - * limitations under the Licence.
 - *
 - * This product combines work with different licenses. See the "NOTICE" text
 - * file for details on the various modules and licenses.
 - * The "NOTICE" text file is part of the distribution. Any derivative works
 - * that you distribute must include a readable copy of the "NOTICE" text file.
 - *
 - * $Id: Entry.java,v 1.3 2006/08/25 17:08:19 wprinz Exp $
 - */
 -package at.knowcenter.wag.egov.egiz.table;
 -
 -import java.io.Serializable;
 -
 -/**
 - * This class implements a table entry for different types. A table entry can be
 - * styled and setting there column dimensions. The default value for the column
 - * dimension is 1. To declare the type of the entry use the public
 - * <code>TYPE_</code> definitions.
 - * 
 - * @author wlackner
 - */
 -public class Entry implements Serializable
 -{
 -
 -  /**
 -   * SVUID.
 -   */
 -  private static final long serialVersionUID = -7952755200668528348L;
 -
 -  /**
 -   * Type for a text entry.
 -   */
 -  public final static int TYPE_CAPTION = 0;
 -
 -  /**
 -   * Type for a text entry.
 -   */
 -  public final static int TYPE_VALUE = 1;
 -
 -  /**
 -   * Type for an image entry.
 -   */
 -  public final static int TYPE_IMAGE = 2;
 -
 -  /**
 -   * Type for a table entry.
 -   */
 -  public final static int TYPE_TABLE = 3;
 -
 -  /**
 -   * The type info holder, default value is 0!
 -   */
 -  private int type_ = 0;
 -
 -  /**
 -   * The entry value.
 -   */
 -  private Object value_ = null;
 -
 -  /**
 -   * The key value
 -   */
 -  private String key_ = null;
 -
 -  /**
 -   * The entry style information.
 -   */
 -  private Style style_ = null;
 -
 -  /**
 -   * The column dimension.
 -   */
 -  private int colSpan_ = 1;
 -
 -  /**
 -   * Text wrap indicator, default is <code>false</code>.
 -   */
 -  private boolean noWrap_ = false;
 -
 -  /**
 -   * The empty constructor.
 -   */
 -  public Entry()
 -  {
 -  }
 -
 -  /**
 -   * A constructor setting the type and the value.
 -   * 
 -   * @param type
 -   *          the entry type to set
 -   * @param value
 -   *          the entry value to set
 -   */
 -  public Entry(int type, Object value, String key)
 -  {
 -    type_ = type;
 -    value_ = value;
 -    key_ = key;
 -  }
 -
 -  /**
 -   * @return Returns the entry style.
 -   */
 -  public Style getStyle()
 -  {
 -    return style_;
 -  }
 -
 -  /**
 -   * @param style
 -   *          The style to set.
 -   */
 -  public void setStyle(Style style)
 -  {
 -    style_ = style;
 -  }
 -
 -  /**
 -   * @return Returns the entry type.
 -   */
 -  public int getType()
 -  {
 -    return type_;
 -  }
 -
 -  /**
 -   * @param type
 -   *          The type to set.
 -   */
 -  public void setType(int type)
 -  {
 -    type_ = type;
 -  }
 -
 -  /**
 -   * @return Returns the entry value.
 -   */
 -  public Object getValue()
 -  {
 -    return value_;
 -  }
 -
 -  /**
 -   * @param value
 -   *          The value to set.
 -   */
 -  public void setValue(Object value)
 -  {
 -    value_ = value;
 -  }
 -
 -  /**
 -   * @return Returns the key.
 -   */
 -
 -  public String getKey()
 -  {
 -    return key_;
 -  }
 -
 -  /**
 -   * @param key
 -   *          The key to set.
 -   */
 -  public void setKey(String key)
 -  {
 -    key_ = key;
 -  }
 -
 -  /**
 -   * @return Returns the colSpan.
 -   */
 -  public int getColSpan()
 -  {
 -    return colSpan_;
 -  }
 -
 -  /**
 -   * @param colSpan
 -   *          The colSpan to set.
 -   */
 -  public void setColSpan(int colSpan)
 -  {
 -    colSpan_ = colSpan;
 -  }
 -
 -  /**
 -   * @return Returns the wrap indicator.
 -   */
 -  public boolean isNoWrap()
 -  {
 -    return noWrap_;
 -  }
 -
 -  /**
 -   * @param noWrap
 -   *          The wrap indicator to set.
 -   */
 -  public void setNoWrap(boolean noWrap)
 -  {
 -    noWrap_ = noWrap;
 -  }
 -
 -  /**
 -   * The toString method, used for tests or debugging.
 -   */
 -  public String toString()
 -  {
 -    Object obj = getValue();
 -    String value = null;
 -    if (obj != null)
 -    {
 -      value = obj.toString();
 -    }
 -    return "Type:" + getType() + " Value:" + value + " ColSpan:" + getColSpan();
 -  }
 -
 -}
\ No newline at end of file +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/ +/** + * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + * + * $Id: Entry.java,v 1.3 2006/08/25 17:08:19 wprinz Exp $ + */ +package at.knowcenter.wag.egov.egiz.table; + +import java.io.Serializable; + +/** + * This class implements a table entry for different types. A table entry can be + * styled and setting there column dimensions. The default value for the column + * dimension is 1. To declare the type of the entry use the public + * <code>TYPE_</code> definitions. + *  + * @author wlackner + */ +public class Entry implements Serializable +{ + +  /** +   * SVUID. +   */ +  private static final long serialVersionUID = -7952755200668528348L; + +  /** +   * Type for a text entry. +   */ +  public final static int TYPE_CAPTION = 0; + +  /** +   * Type for a text entry. +   */ +  public final static int TYPE_VALUE = 1; + +  /** +   * Type for an image entry. +   */ +  public final static int TYPE_IMAGE = 2; + +  /** +   * Type for a table entry. +   */ +  public final static int TYPE_TABLE = 3; + +  /** +   * The type info holder, default value is 0! +   */ +  private int type_ = 0; + +  /** +   * The entry value. +   */ +  private Object value_ = null; + +  /** +   * The key value +   */ +  private String key_ = null; + +  /** +   * The entry style information. +   */ +  private Style style_ = null; + +  /** +   * The column dimension. +   */ +  private int colSpan_ = 1; + +  /** +   * Text wrap indicator, default is <code>false</code>. +   */ +  private boolean noWrap_ = false; + +  /** +   * The empty constructor. +   */ +  public Entry() +  { +  } + +  /** +   * A constructor setting the type and the value. +   *  +   * @param type +   *          the entry type to set +   * @param value +   *          the entry value to set +   */ +  public Entry(int type, Object value, String key) +  { +    type_ = type; +    value_ = value; +    key_ = key; +  } + +  /** +   * @return Returns the entry style. +   */ +  public Style getStyle() +  { +    return style_; +  } + +  /** +   * @param style +   *          The style to set. +   */ +  public void setStyle(Style style) +  { +    style_ = style; +  } + +  /** +   * @return Returns the entry type. +   */ +  public int getType() +  { +    return type_; +  } + +  /** +   * @param type +   *          The type to set. +   */ +  public void setType(int type) +  { +    type_ = type; +  } + +  /** +   * @return Returns the entry value. +   */ +  public Object getValue() +  { +    return value_; +  } + +  /** +   * @param value +   *          The value to set. +   */ +  public void setValue(Object value) +  { +    value_ = value; +  } + +  /** +   * @return Returns the key. +   */ + +  public String getKey() +  { +    return key_; +  } + +  /** +   * @param key +   *          The key to set. +   */ +  public void setKey(String key) +  { +    key_ = key; +  } + +  /** +   * @return Returns the colSpan. +   */ +  public int getColSpan() +  { +    return colSpan_; +  } + +  /** +   * @param colSpan +   *          The colSpan to set. +   */ +  public void setColSpan(int colSpan) +  { +    colSpan_ = colSpan; +  } + +  /** +   * @return Returns the wrap indicator. +   */ +  public boolean isNoWrap() +  { +    return noWrap_; +  } + +  /** +   * @param noWrap +   *          The wrap indicator to set. +   */ +  public void setNoWrap(boolean noWrap) +  { +    noWrap_ = noWrap; +  } + +  /** +   * The toString method, used for tests or debugging. +   */ +  public String toString() +  { +    Object obj = getValue(); +    String value = null; +    if (obj != null) +    { +      value = obj.toString(); +    } +    return "Type:" + getType() + " Value:" + value + " ColSpan:" + getColSpan(); +  } + +} diff --git a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/table/Style.java b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/table/Style.java index 489c9419..50be815d 100644 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/table/Style.java +++ b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/table/Style.java @@ -1,630 +1,653 @@ -/**
 - * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
 - * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
 - * joint initiative of the Federal Chancellery Austria and Graz University of
 - * Technology.
 - *
 - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
 - * the European Commission - subsequent versions of the EUPL (the "Licence");
 - * You may not use this work except in compliance with the Licence.
 - * You may obtain a copy of the Licence at:
 - * http://www.osor.eu/eupl/
 - *
 - * Unless required by applicable law or agreed to in writing, software
 - * distributed under the Licence is distributed on an "AS IS" basis,
 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 - * See the Licence for the specific language governing permissions and
 - * limitations under the Licence.
 - *
 - * This product combines work with different licenses. See the "NOTICE" text
 - * file for details on the various modules and licenses.
 - * The "NOTICE" text file is part of the distribution. Any derivative works
 - * that you distribute must include a readable copy of the "NOTICE" text file.
 - *
 - * $Id: Style.java,v 1.3 2006/08/25 17:08:19 wprinz Exp $
 - */
 -package at.knowcenter.wag.egov.egiz.table;
 -
 -import java.awt.Color;
 -import java.io.Serializable;
 -
 -/**
 - * This class implements an abstract style definiton used in tables or table entrys. Predefined
 - * values exists for valign and halign. Color definitions uses the native awt color declarations.
 - * <br>
 - * The predefined keys are used in the setting definition file to style tables and table entries.
 - * <br>
 - * It provides an static method to inherit style informations from a given style object.
 - * {@link Style#doInherit}
 - * 
 - * 
 - * @author wlackner
 - * @see java.awt.Color
 - */
 -public class Style implements Serializable {
 -
 -// 03.11.2010 changed by exthex - added valuevalign and valuehalign to allow separate layout for value and non-value cells.
 -// Also the hardcoded default values for halign and valign were removed to allow proper inheritment.
 -// 04.11.2010 changed by exthex - added imagevalign and imagehalign analog to valuevalign/valuehalign
 -
 -  /**
 -   * SVUID.
 -   */
 -  private static final long serialVersionUID = 5855722896712428387L;
 -  
 -  /**
 -   * valign statement key top
 -   */
 -  public final static String TOP = "top";
 -  /**
 -   * valign statement key middle
 -   */
 -  public final static String MIDDLE = "middle";
 -  /**
 -   * valign statement key bottom
 -   */
 -  public final static String BOTTOM = "bottom";
 -  /**
 -   * halign statement key left
 -   */
 -  public final static String LEFT = "left";
 -  /**
 -   * halign statement key center
 -   */
 -  public final static String CENTER = "center";
 -  /**
 -   * halign statement key right
 -   */
 -  public final static String RIGHT = "right";
 -
 -  /**
 -   * bgcolor key
 -   */
 -  public final static String BGCOLOR = "bgcolor";
 -  /**
 -   * halign key
 -   */
 -  public final static String HALIGN = "halign";
 -  /**
 -   * valign key
 -   */
 -  public final static String VALIGN = "valign";
 -
 -  /**
 -   * value halign key
 -   */
 -  public final static String VALUEHALIGN = "valuehalign";
 -  /**
 -   * value valign key
 -   */
 -  public final static String VALUEVALIGN = "valuevalign";
 -
 -  /**
 -   * image halign key
 -   */
 -  public final static String IMAGEHALIGN = "imagehalign";
 -  /**
 -   * image valign key
 -   */
 -  public final static String IMAGEVALIGN = "imagevalign";
 -  /**
 -   * padding key, default padding = 1
 -   */
 -  public final static String PADDING = "padding";
 -  /**
 -   * border key, default border = 1;<br>
 -   * The border value is one value for all border lines of an entry or table! <br>
 -   * No separte definitions for top, right, bottom or left are possible.
 -   */
 -  public final static String BORDER = "border";
 -  
 -  /**
 -   * Font key
 -   */
 -  public final static String FONT = "font";
 -  
 -  /**
 -   * The value font key.
 -   */
 -  public final static String VALUEFONT = "valuefont";
 -  
 -  /**
 -   * The imageScaleToFit key.
 -   */
 -  public final static String IMAGE_SCALE_TO_FIT = "imagescaletofit";
 -  
 -  /**
 -   * Font name HELVETICA
 -   */
 -  public final static String HELVETICA = "HELVETICA";
 -  /**
 -   * Font name TIMES_ROMAN
 -   */
 -  public final static String TIMES_ROMAN = "TIMES_ROMAN";
 -  /**
 -   * Font name COURIER
 -   */
 -  public final static String COURIER = "COURIER";
 -  /**
 -   * Font type NORMAL
 -   */
 -  public final static String NORMAL = "NORMAL";
 -  /**
 -   * Font type BOLD
 -   */
 -  public final static String BOLD = "BOLD";
 -  /**
 -   * Font type ITALIC
 -   */
 -  public final static String ITALIC = "ITALIC";
 -  /**
 -   * Font type BOLDITALIC
 -   */
 -  public final static String BOLDITALIC = "BOLDITALIC";
 -  /**
 -   * Font type UNDERLINE
 -   */
 -  public final static String UNDERLINE = "UNDERLINE";
 -  /**
 -   * Font type STRIKETHRU
 -   */
 -  public final static String STRIKETHRU = "STRIKETHRU";
 -  
 -
 -  /**
 -   * all paddings initialized with the default padding value (1)
 -   */
 -  private static final float DEFAULT_PADDING = 1;
 -  /**
 -   * all borders initialized with the default border value (1)
 -   */
 -  private static final float DEFAULT_BORDER = 1;
 -  /**
 -   * The background color definition.
 -   */
 -  private Color bgColor_ = null;
 -  /**
 -   * The current padding value -> initialized with the default padding value
 -   */
 -  private float padding_ = DEFAULT_PADDING;
 -  /**
 -   * The current halign value
 -   */
 -  private String hAlign_ = null;
 -  /**
 -   * The current valign value
 -   */
 -  private String vAlign_ = null;
 -  /**
 -   * The current valuehalign value
 -   */
 -  private String valueHAlign_ = null;
 -  /**
 -   * The current valuevalign value
 -   */
 -  private String valueVAlign_ = null;
 -  /**
 -   * The current imagehalign value
 -   */
 -  private String imageHAlign_ = null;
 -  /**
 -   * The current imagevalign value
 -   */
 -  private String imageVAlign_ = null;
 -  /**
 -   * The current border value -> initialized with the default border value
 -   */
 -  private float border_ = DEFAULT_BORDER;
 -  /**
 -   * The font string of the style definition
 -   */
 -  private String font_ = null;
 -  /**
 -   * The font string of the value font.
 -   */
 -  private String valuefont_ = null;
 -  /**
 -   * The scaleToFit dimensions to be applied for image-cells.
 -   */
 -  private ImageScaleToFit imageScaleToFit_ = null;
 -
 -  /**
 -   * The empty constructor.
 -   */
 -  public Style() {
 -  }
 -
 -  /**
 -   * Set a style attribute. The style attribute must be one of the public definitions
 -   * 
 -   * @param id the style attribute to set
 -   * @param value the style value to set for the given attribute
 -   */
 -  public void setStyle(String id, String value) {
 -    if (BGCOLOR.equals(id)) {
 -      String[] col_strg = value.split(" ");
 -      if (col_strg.length == 3) {
 -        int r = Integer.parseInt(col_strg[0]);
 -        int g = Integer.parseInt(col_strg[1]);
 -        int b = Integer.parseInt(col_strg[2]);
 -        if (r < 256 && g < 256 && b < 256 && r >= 0 && g >= 0 && b >= 0) {
 -          bgColor_ = new Color(r, g, b);
 -        }
 -      }
 -    }
 -    if (HALIGN.equals(id)) {
 -      if (LEFT.equals(value) || CENTER.equals(value) || RIGHT.equals(value)) {
 -        hAlign_ = value;
 -      }
 -    }
 -    if (VALIGN.equals(id)) {
 -      if (TOP.equals(value) || MIDDLE.equals(value) || BOTTOM.equals(value)) {
 -        vAlign_ = value;
 -      }
 -    }
 -    if (VALUEHALIGN.equals(id)) {
 -      if (LEFT.equals(value) || CENTER.equals(value) || RIGHT.equals(value)) {
 -        valueHAlign_ = value;
 -      }
 -    }
 -    if (VALUEVALIGN.equals(id)) {
 -      if (TOP.equals(value) || MIDDLE.equals(value) || BOTTOM.equals(value)) {
 -        valueVAlign_ = value;
 -      }
 -    }
 -    if (IMAGEHALIGN.equals(id)) {
 -      if (LEFT.equals(value) || CENTER.equals(value) || RIGHT.equals(value)) {
 -        imageHAlign_ = value;
 -      }
 -    }
 -    if (IMAGEVALIGN.equals(id)) {
 -      if (TOP.equals(value) || MIDDLE.equals(value) || BOTTOM.equals(value)) {
 -        imageVAlign_ = value;
 -      }
 -    }
 -    if (PADDING.equals(id)) {
 -      padding_ = Float.parseFloat(value);
 -    }
 -    if (BORDER.equals(id)) {
 -      border_ = Float.parseFloat(value);
 -    }
 -    if (FONT.equals(id)) {
 -      font_ = value;
 -    }
 -    if (VALUEFONT.equals(id)) {
 -      valuefont_ = value;
 -    }
 -    if (IMAGE_SCALE_TO_FIT.equals(id))
 -    {
 -      imageScaleToFit_ = parseImageScaleToFit(value);
 -    }
 -  }
 -
 -  /**
 -   * @return Returns the bgColor.
 -   */
 -  public Color getBgColor() {
 -    return bgColor_;
 -  }
 -
 -  /**
 -   * @param bgColor The bgColor to set.
 -   */
 -  public void setBgColor(Color bgColor) {
 -    bgColor_ = bgColor;
 -  }
 -
 -  /**
 -   * @return Returns the hAlign.
 -   */
 -  public String getHAlign() {
 -    return hAlign_;
 -  }
 -
 -  /**
 -   * @param align The hAlign to set.
 -   */
 -  public void setHAlign(String align) {
 -    hAlign_ = align;
 -  }
 -
 -  /**
 -   * @return Returns the padding.
 -   */
 -  public float getPadding() {
 -    return padding_;
 -  }
 -
 -  /**
 -   * @param padding The padding to set.
 -   */
 -  public void setPadding(float padding) {
 -    padding_ = padding;
 -  }
 -
 -  /**
 -   * @return Returns the vAlign.
 -   */
 -  public String getVAlign() {
 -    return vAlign_;
 -  }
 -
 -  /**
 -   * @param align The vAlign to set.
 -   */
 -  public void setVAlign(String align) {
 -    vAlign_ = align;
 -  }
 -
 -  /**
 -   * @return Returns the border.
 -   */
 -  public float getBorder() {
 -    return border_;
 -  }
 -
 -  /**
 -   * @param border The border to set.
 -   */
 -  public void setBorder(float border) {
 -    border_ = border;
 -  }
 -
 -  
 -  /**
 -   * @return Returns the font.
 -   */
 -  public String getFont() {
 -    return font_;
 -  }
 -  
 -  /**
 -   * @param font The font to set.
 -   */
 -  public void setFont(String font) {
 -    font_ = font;
 -  }
 -  
 -  
 -  /**
 -   * Returns the value font.
 -   * @return Returns the value font.
 -   */
 -  public String getValueFont()
 -  {
 -    return valuefont_;
 -  }
 -
 -  /**
 -   * Sets the value font.
 -   * @param valuefont The value font to be set.
 -   */
 -  public void setValueFont(String valuefont)
 -  {
 -    this.valuefont_ = valuefont;
 -  }
 -  
 -  /**
 -   * @param align The valueHAlign to set.
 -   */
 -  public void setValueHAlign(String align) {
 -    valueHAlign_ = align;
 -  }
 -
 -  /**
 -   * Returns the value halign
 -   * @return Returns the value halign
 -   */
 -  public String getValueHAlign() {
 -    return valueHAlign_;
 -  }
 -
 -  /**
 -   * @param align The valueVAlign to set.
 -   */
 -  public void setValueVAlign(String align) {
 -    valueVAlign_ = align;
 -  }
 -
 -  /**
 -   * Returns the value valign
 -   * @return Returns the value valign
 -   */
 -  public String getValueVAlign() {
 -    return valueVAlign_;
 -  }
 -  
 -  /**
 -   * @param align The imageHAlign to set.
 -   */
 -  public void setImageHAlign(String align) {
 -    imageHAlign_ = align;
 -  }
 -
 -  /**
 -   * Returns the image halign
 -   * @return Returns the image halign
 -   */
 -  public String getImageHAlign() {
 -    return imageHAlign_;
 -  }
 -
 -  /**
 -   * @param align The imageVAlign to set.
 -   */
 -  public void setImageVAlign(String align) {
 -    imageVAlign_ = align;
 -  }
 -
 -  /**
 -   * Returns the image valign
 -   * @return Returns the image valign
 -   */
 -  public String getImageVAlign() {
 -    return imageVAlign_;
 -  }
 -
 -  /**
 -   * Returns the scaleToFit dimensions to be applied for image-cells.
 -   * @return Returns the scaleToFit dimensions to be applied for image-cells.
 -   */
 -  public ImageScaleToFit getImageScaleToFit()
 -  {
 -    return this.imageScaleToFit_;
 -  }
 -
 -  /**
 -   * Sets the scaleToFit dimensions to be applied for image-cells.
 -   * @param imageScaleToFit_ The scaleToFit dimensions to be applied for image-cells.
 -   */
 -  public void setImageScaleToFit(ImageScaleToFit imageScaleToFit)
 -  {
 -    this.imageScaleToFit_ = imageScaleToFit;
 -  }
 -
 -  /**
 -   * The toString method, used for tests or debugging.
 -   */
 -  public String toString() {
 -    return "bgcolor:" + getBgColor() + " halign:" + getHAlign() + " valign:" + getVAlign() + " padding:" + getPadding() + " border:" + getBorder() + " font:" + getFont() + " valuefont:" + getValueFont() + " imageScaleToFit:" + getImageScaleToFit();
 -  }
 -
 -  /**
 -   * This method inherits all style attributes (values) from a given style object.
 -   * 
 -   * <p>
 -   * A new style object is created that receives the properly inherited styles.
 -   * </p>
 -   * <p>
 -   * If a value is not defined in the <code>baseStyle</code> object it would be inhert from the <code>inheritStyle</code> object.
 -   * </p>
 -   * 
 -   * @param baseStyle the style object that serves as a primary style source.
 -   * @param inheritStyle the style object that serves as a secondary style source in case a style attribute is not defined on the primary style source. 
 -   * @param isValue 
 -   * @return Returns a new Style object being fully equipped with styles.
 -   */
 -  public static Style doInherit(Style baseStyle, Style inheritStyle) {
 -    Style newStyle = new Style();
 -    
 -    if (baseStyle != null)
 -    {
 -      newStyle.setBgColor(baseStyle.getBgColor());
 -      newStyle.setBorder(baseStyle.getBorder());
 -      newStyle.setFont(baseStyle.getFont());
 -      newStyle.setHAlign(baseStyle.getHAlign());
 -      newStyle.setImageHAlign(baseStyle.getImageHAlign());
 -      newStyle.setImageVAlign(baseStyle.getImageVAlign());
 -      newStyle.setPadding(baseStyle.getPadding());
 -      newStyle.setVAlign(baseStyle.getVAlign());
 -      newStyle.setValueFont(baseStyle.getValueFont());
 -      newStyle.setValueHAlign(baseStyle.getValueHAlign());
 -      newStyle.setValueVAlign(baseStyle.getValueVAlign());
 -      newStyle.setImageScaleToFit(baseStyle.getImageScaleToFit());
 -    }
 -    
 -    if (inheritStyle != null)
 -    {
 -      if (newStyle.getBgColor() == null) { newStyle.setBgColor(inheritStyle.getBgColor()); }
 -      if (newStyle.getBorder() == DEFAULT_BORDER) { newStyle.setBorder(inheritStyle.getBorder()); }
 -      if (newStyle.getFont() == null) { newStyle.setFont(inheritStyle.getFont()); }
 -      if (newStyle.getHAlign() == null) { newStyle.setHAlign(inheritStyle.getHAlign()); }
 -      if (newStyle.getImageHAlign() == null) { newStyle.setImageHAlign(inheritStyle.getImageHAlign()); }
 -      if (newStyle.getImageVAlign() == null) { newStyle.setImageVAlign(inheritStyle.getImageVAlign()); }
 -      if (newStyle.getPadding() == DEFAULT_PADDING) { newStyle.setPadding(inheritStyle.getPadding()); }
 -      if (newStyle.getVAlign() == null) { newStyle.setVAlign(inheritStyle.getVAlign()); }
 -      if (newStyle.getValueFont() == null) { newStyle.setValueFont(inheritStyle.getValueFont()); }
 -      if (newStyle.getValueHAlign() == null) { newStyle.setValueHAlign(inheritStyle.getValueHAlign()); }
 -      if (newStyle.getValueVAlign() == null) { newStyle.setValueVAlign(inheritStyle.getValueVAlign()); }
 -      if (newStyle.getImageScaleToFit() == null) { newStyle.setImageScaleToFit(inheritStyle.getImageScaleToFit()); }
 -   }
 -    
 -   return newStyle;
 -  }
 -  
 -  protected static ImageScaleToFit parseImageScaleToFit (String imageScaleToFit)
 -  {
 -    if (imageScaleToFit == null || imageScaleToFit.length() == 0 || imageScaleToFit.trim().length() == 0)
 -    {
 -      return null;
 -    }
 -    
 -    String [] dimensions = imageScaleToFit.split(";");
 -    if (dimensions.length != 2)
 -    {
 -      return null;
 -    }
 -    
 -    float width = Float.parseFloat(dimensions[0]);
 -    float height = Float.parseFloat(dimensions[0]);
 -    
 -    return new ImageScaleToFit(width, height);
 -  }
 -  
 -  /**
 -   * Holds the width and the height an image can be scaled to fit.
 -   * 
 -   * @author wprinz
 -   */
 -  public static class ImageScaleToFit
 -  {
 -    /**
 -     * The width.
 -     */
 -    protected float width;
 -    
 -    /**
 -     * The height.
 -     */
 -    protected float height;
 -
 -    /**
 -     * Constructor.
 -     * 
 -     * @param width The width.
 -     * @param height The height.
 -     */
 -    public ImageScaleToFit(float width, float height)
 -    {
 -      this.width = width;
 -      this.height = height;
 -    }
 -
 -    /**
 -     * Returns the width.
 -     * @return Returns the width.
 -     */
 -    public float getWidth()
 -    {
 -      return this.width;
 -    }
 -
 -    /**
 -     * Sets the width.
 -     * @param width The width to set.
 -     */
 -    public void setWidth(float width)
 -    {
 -      this.width = width;
 -    }
 -
 -    /**
 -     * Returns the height.
 -     * @return Returns the height.
 -     */
 -    public float getHeight()
 -    {
 -      return this.height;
 -    }
 -
 -    /**
 -     * Sets the height.
 -     * @param height The height to set.
 -     */
 -    public void setHeight(float height)
 -    {
 -      this.height = height;
 -    }
 -     
 -  }
 -}
\ No newline at end of file +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/ +/** + * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + * + * $Id: Style.java,v 1.3 2006/08/25 17:08:19 wprinz Exp $ + */ +package at.knowcenter.wag.egov.egiz.table; + +import java.awt.Color; +import java.io.Serializable; + +/** + * This class implements an abstract style definiton used in tables or table entrys. Predefined + * values exists for valign and halign. Color definitions uses the native awt color declarations. + * <br> + * The predefined keys are used in the setting definition file to style tables and table entries. + * <br> + * It provides an static method to inherit style informations from a given style object. + * {@link Style#doInherit} + *  + *  + * @author wlackner + * @see java.awt.Color + */ +public class Style implements Serializable { + +// 03.11.2010 changed by exthex - added valuevalign and valuehalign to allow separate layout for value and non-value cells. +// Also the hardcoded default values for halign and valign were removed to allow proper inheritment. +// 04.11.2010 changed by exthex - added imagevalign and imagehalign analog to valuevalign/valuehalign + +  /** +   * SVUID. +   */ +  private static final long serialVersionUID = 5855722896712428387L; +   +  /** +   * valign statement key top +   */ +  public final static String TOP = "top"; +  /** +   * valign statement key middle +   */ +  public final static String MIDDLE = "middle"; +  /** +   * valign statement key bottom +   */ +  public final static String BOTTOM = "bottom"; +  /** +   * halign statement key left +   */ +  public final static String LEFT = "left"; +  /** +   * halign statement key center +   */ +  public final static String CENTER = "center"; +  /** +   * halign statement key right +   */ +  public final static String RIGHT = "right"; + +  /** +   * bgcolor key +   */ +  public final static String BGCOLOR = "bgcolor"; +  /** +   * halign key +   */ +  public final static String HALIGN = "halign"; +  /** +   * valign key +   */ +  public final static String VALIGN = "valign"; + +  /** +   * value halign key +   */ +  public final static String VALUEHALIGN = "valuehalign"; +  /** +   * value valign key +   */ +  public final static String VALUEVALIGN = "valuevalign"; + +  /** +   * image halign key +   */ +  public final static String IMAGEHALIGN = "imagehalign"; +  /** +   * image valign key +   */ +  public final static String IMAGEVALIGN = "imagevalign"; +  /** +   * padding key, default padding = 1 +   */ +  public final static String PADDING = "padding"; +  /** +   * border key, default border = 1;<br> +   * The border value is one value for all border lines of an entry or table! <br> +   * No separte definitions for top, right, bottom or left are possible. +   */ +  public final static String BORDER = "border"; +   +  /** +   * Font key +   */ +  public final static String FONT = "font"; +   +  /** +   * The value font key. +   */ +  public final static String VALUEFONT = "valuefont"; +   +  /** +   * The imageScaleToFit key. +   */ +  public final static String IMAGE_SCALE_TO_FIT = "imagescaletofit"; +   +  /** +   * Font name HELVETICA +   */ +  public final static String HELVETICA = "HELVETICA"; +  /** +   * Font name TIMES_ROMAN +   */ +  public final static String TIMES_ROMAN = "TIMES_ROMAN"; +  /** +   * Font name COURIER +   */ +  public final static String COURIER = "COURIER"; +  /** +   * Font type NORMAL +   */ +  public final static String NORMAL = "NORMAL"; +  /** +   * Font type BOLD +   */ +  public final static String BOLD = "BOLD"; +  /** +   * Font type ITALIC +   */ +  public final static String ITALIC = "ITALIC"; +  /** +   * Font type BOLDITALIC +   */ +  public final static String BOLDITALIC = "BOLDITALIC"; +  /** +   * Font type UNDERLINE +   */ +  public final static String UNDERLINE = "UNDERLINE"; +  /** +   * Font type STRIKETHRU +   */ +  public final static String STRIKETHRU = "STRIKETHRU"; +   + +  /** +   * all paddings initialized with the default padding value (1) +   */ +  private static final float DEFAULT_PADDING = 1; +  /** +   * all borders initialized with the default border value (1) +   */ +  private static final float DEFAULT_BORDER = 1; +  /** +   * The background color definition. +   */ +  private Color bgColor_ = null; +  /** +   * The current padding value -> initialized with the default padding value +   */ +  private float padding_ = DEFAULT_PADDING; +  /** +   * The current halign value +   */ +  private String hAlign_ = null; +  /** +   * The current valign value +   */ +  private String vAlign_ = null; +  /** +   * The current valuehalign value +   */ +  private String valueHAlign_ = null; +  /** +   * The current valuevalign value +   */ +  private String valueVAlign_ = null; +  /** +   * The current imagehalign value +   */ +  private String imageHAlign_ = null; +  /** +   * The current imagevalign value +   */ +  private String imageVAlign_ = null; +  /** +   * The current border value -> initialized with the default border value +   */ +  private float border_ = DEFAULT_BORDER; +  /** +   * The font string of the style definition +   */ +  private String font_ = null; +  /** +   * The font string of the value font. +   */ +  private String valuefont_ = null; +  /** +   * The scaleToFit dimensions to be applied for image-cells. +   */ +  private ImageScaleToFit imageScaleToFit_ = null; + +  /** +   * The empty constructor. +   */ +  public Style() { +  } + +  /** +   * Set a style attribute. The style attribute must be one of the public definitions +   *  +   * @param id the style attribute to set +   * @param value the style value to set for the given attribute +   */ +  public void setStyle(String id, String value) { +    if (BGCOLOR.equals(id)) { +      String[] col_strg = value.split(" "); +      if (col_strg.length == 3) { +        int r = Integer.parseInt(col_strg[0]); +        int g = Integer.parseInt(col_strg[1]); +        int b = Integer.parseInt(col_strg[2]); +        if (r < 256 && g < 256 && b < 256 && r >= 0 && g >= 0 && b >= 0) { +          bgColor_ = new Color(r, g, b); +        } +      } +    } +    if (HALIGN.equals(id)) { +      if (LEFT.equals(value) || CENTER.equals(value) || RIGHT.equals(value)) { +        hAlign_ = value; +      } +    } +    if (VALIGN.equals(id)) { +      if (TOP.equals(value) || MIDDLE.equals(value) || BOTTOM.equals(value)) { +        vAlign_ = value; +      } +    } +    if (VALUEHALIGN.equals(id)) { +      if (LEFT.equals(value) || CENTER.equals(value) || RIGHT.equals(value)) { +        valueHAlign_ = value; +      } +    } +    if (VALUEVALIGN.equals(id)) { +      if (TOP.equals(value) || MIDDLE.equals(value) || BOTTOM.equals(value)) { +        valueVAlign_ = value; +      } +    } +    if (IMAGEHALIGN.equals(id)) { +      if (LEFT.equals(value) || CENTER.equals(value) || RIGHT.equals(value)) { +        imageHAlign_ = value; +      } +    } +    if (IMAGEVALIGN.equals(id)) { +      if (TOP.equals(value) || MIDDLE.equals(value) || BOTTOM.equals(value)) { +        imageVAlign_ = value; +      } +    } +    if (PADDING.equals(id)) { +      padding_ = Float.parseFloat(value); +    } +    if (BORDER.equals(id)) { +      border_ = Float.parseFloat(value); +    } +    if (FONT.equals(id)) { +      font_ = value; +    } +    if (VALUEFONT.equals(id)) { +      valuefont_ = value; +    } +    if (IMAGE_SCALE_TO_FIT.equals(id)) +    { +      imageScaleToFit_ = parseImageScaleToFit(value); +    } +  } + +  /** +   * @return Returns the bgColor. +   */ +  public Color getBgColor() { +    return bgColor_; +  } + +  /** +   * @param bgColor The bgColor to set. +   */ +  public void setBgColor(Color bgColor) { +    bgColor_ = bgColor; +  } + +  /** +   * @return Returns the hAlign. +   */ +  public String getHAlign() { +    return hAlign_; +  } + +  /** +   * @param align The hAlign to set. +   */ +  public void setHAlign(String align) { +    hAlign_ = align; +  } + +  /** +   * @return Returns the padding. +   */ +  public float getPadding() { +    return padding_; +  } + +  /** +   * @param padding The padding to set. +   */ +  public void setPadding(float padding) { +    padding_ = padding; +  } + +  /** +   * @return Returns the vAlign. +   */ +  public String getVAlign() { +    return vAlign_; +  } + +  /** +   * @param align The vAlign to set. +   */ +  public void setVAlign(String align) { +    vAlign_ = align; +  } + +  /** +   * @return Returns the border. +   */ +  public float getBorder() { +    return border_; +  } + +  /** +   * @param border The border to set. +   */ +  public void setBorder(float border) { +    border_ = border; +  } + +   +  /** +   * @return Returns the font. +   */ +  public String getFont() { +    return font_; +  } +   +  /** +   * @param font The font to set. +   */ +  public void setFont(String font) { +    font_ = font; +  } +   +   +  /** +   * Returns the value font. +   * @return Returns the value font. +   */ +  public String getValueFont() +  { +    return valuefont_; +  } + +  /** +   * Sets the value font. +   * @param valuefont The value font to be set. +   */ +  public void setValueFont(String valuefont) +  { +    this.valuefont_ = valuefont; +  } +   +  /** +   * @param align The valueHAlign to set. +   */ +  public void setValueHAlign(String align) { +    valueHAlign_ = align; +  } + +  /** +   * Returns the value halign +   * @return Returns the value halign +   */ +  public String getValueHAlign() { +    return valueHAlign_; +  } + +  /** +   * @param align The valueVAlign to set. +   */ +  public void setValueVAlign(String align) { +    valueVAlign_ = align; +  } + +  /** +   * Returns the value valign +   * @return Returns the value valign +   */ +  public String getValueVAlign() { +    return valueVAlign_; +  } +   +  /** +   * @param align The imageHAlign to set. +   */ +  public void setImageHAlign(String align) { +    imageHAlign_ = align; +  } + +  /** +   * Returns the image halign +   * @return Returns the image halign +   */ +  public String getImageHAlign() { +    return imageHAlign_; +  } + +  /** +   * @param align The imageVAlign to set. +   */ +  public void setImageVAlign(String align) { +    imageVAlign_ = align; +  } + +  /** +   * Returns the image valign +   * @return Returns the image valign +   */ +  public String getImageVAlign() { +    return imageVAlign_; +  } + +  /** +   * Returns the scaleToFit dimensions to be applied for image-cells. +   * @return Returns the scaleToFit dimensions to be applied for image-cells. +   */ +  public ImageScaleToFit getImageScaleToFit() +  { +    return this.imageScaleToFit_; +  } + +  /** +   * Sets the scaleToFit dimensions to be applied for image-cells. +   * @param imageScaleToFit_ The scaleToFit dimensions to be applied for image-cells. +   */ +  public void setImageScaleToFit(ImageScaleToFit imageScaleToFit) +  { +    this.imageScaleToFit_ = imageScaleToFit; +  } + +  /** +   * The toString method, used for tests or debugging. +   */ +  public String toString() { +    return "bgcolor:" + getBgColor() + " halign:" + getHAlign() + " valign:" + getVAlign() + " padding:" + getPadding() + " border:" + getBorder() + " font:" + getFont() + " valuefont:" + getValueFont() + " imageScaleToFit:" + getImageScaleToFit(); +  } + +  /** +   * This method inherits all style attributes (values) from a given style object. +   *  +   * <p> +   * A new style object is created that receives the properly inherited styles. +   * </p> +   * <p> +   * If a value is not defined in the <code>baseStyle</code> object it would be inhert from the <code>inheritStyle</code> object. +   * </p> +   *  +   * @param baseStyle the style object that serves as a primary style source. +   * @param inheritStyle the style object that serves as a secondary style source in case a style attribute is not defined on the primary style source.  +   * @param isValue  +   * @return Returns a new Style object being fully equipped with styles. +   */ +  public static Style doInherit(Style baseStyle, Style inheritStyle) { +    Style newStyle = new Style(); +     +    if (baseStyle != null) +    { +      newStyle.setBgColor(baseStyle.getBgColor()); +      newStyle.setBorder(baseStyle.getBorder()); +      newStyle.setFont(baseStyle.getFont()); +      newStyle.setHAlign(baseStyle.getHAlign()); +      newStyle.setImageHAlign(baseStyle.getImageHAlign()); +      newStyle.setImageVAlign(baseStyle.getImageVAlign()); +      newStyle.setPadding(baseStyle.getPadding()); +      newStyle.setVAlign(baseStyle.getVAlign()); +      newStyle.setValueFont(baseStyle.getValueFont()); +      newStyle.setValueHAlign(baseStyle.getValueHAlign()); +      newStyle.setValueVAlign(baseStyle.getValueVAlign()); +      newStyle.setImageScaleToFit(baseStyle.getImageScaleToFit()); +    } +     +    if (inheritStyle != null) +    { +      if (newStyle.getBgColor() == null) { newStyle.setBgColor(inheritStyle.getBgColor()); } +      if (newStyle.getBorder() == DEFAULT_BORDER) { newStyle.setBorder(inheritStyle.getBorder()); } +      if (newStyle.getFont() == null) { newStyle.setFont(inheritStyle.getFont()); } +      if (newStyle.getHAlign() == null) { newStyle.setHAlign(inheritStyle.getHAlign()); } +      if (newStyle.getImageHAlign() == null) { newStyle.setImageHAlign(inheritStyle.getImageHAlign()); } +      if (newStyle.getImageVAlign() == null) { newStyle.setImageVAlign(inheritStyle.getImageVAlign()); } +      if (newStyle.getPadding() == DEFAULT_PADDING) { newStyle.setPadding(inheritStyle.getPadding()); } +      if (newStyle.getVAlign() == null) { newStyle.setVAlign(inheritStyle.getVAlign()); } +      if (newStyle.getValueFont() == null) { newStyle.setValueFont(inheritStyle.getValueFont()); } +      if (newStyle.getValueHAlign() == null) { newStyle.setValueHAlign(inheritStyle.getValueHAlign()); } +      if (newStyle.getValueVAlign() == null) { newStyle.setValueVAlign(inheritStyle.getValueVAlign()); } +      if (newStyle.getImageScaleToFit() == null) { newStyle.setImageScaleToFit(inheritStyle.getImageScaleToFit()); } +   } +     +   return newStyle; +  } +   +  protected static ImageScaleToFit parseImageScaleToFit (String imageScaleToFit) +  { +    if (imageScaleToFit == null || imageScaleToFit.length() == 0 || imageScaleToFit.trim().length() == 0) +    { +      return null; +    } +     +    String [] dimensions = imageScaleToFit.split(";"); +    if (dimensions.length != 2) +    { +      return null; +    } +     +    float width = Float.parseFloat(dimensions[0]); +    float height = Float.parseFloat(dimensions[0]); +     +    return new ImageScaleToFit(width, height); +  } +   +  /** +   * Holds the width and the height an image can be scaled to fit. +   *  +   * @author wprinz +   */ +  public static class ImageScaleToFit +  { +    /** +     * The width. +     */ +    protected float width; +     +    /** +     * The height. +     */ +    protected float height; + +    /** +     * Constructor. +     *  +     * @param width The width. +     * @param height The height. +     */ +    public ImageScaleToFit(float width, float height) +    { +      this.width = width; +      this.height = height; +    } + +    /** +     * Returns the width. +     * @return Returns the width. +     */ +    public float getWidth() +    { +      return this.width; +    } + +    /** +     * Sets the width. +     * @param width The width to set. +     */ +    public void setWidth(float width) +    { +      this.width = width; +    } + +    /** +     * Returns the height. +     * @return Returns the height. +     */ +    public float getHeight() +    { +      return this.height; +    } + +    /** +     * Sets the height. +     * @param height The height to set. +     */ +    public void setHeight(float height) +    { +      this.height = height; +    } +      +  } +} diff --git a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/table/Table.java b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/table/Table.java index c5a0c58f..de471e11 100644 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/table/Table.java +++ b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/table/Table.java @@ -1,223 +1,246 @@ -/**
 - * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
 - * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
 - * joint initiative of the Federal Chancellery Austria and Graz University of
 - * Technology.
 - *
 - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
 - * the European Commission - subsequent versions of the EUPL (the "Licence");
 - * You may not use this work except in compliance with the Licence.
 - * You may obtain a copy of the Licence at:
 - * http://www.osor.eu/eupl/
 - *
 - * Unless required by applicable law or agreed to in writing, software
 - * distributed under the Licence is distributed on an "AS IS" basis,
 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 - * See the Licence for the specific language governing permissions and
 - * limitations under the Licence.
 - *
 - * This product combines work with different licenses. See the "NOTICE" text
 - * file for details on the various modules and licenses.
 - * The "NOTICE" text file is part of the distribution. Any derivative works
 - * that you distribute must include a readable copy of the "NOTICE" text file.
 - *
 - * $Id: Table.java,v 1.2 2006/08/25 17:08:19 wprinz Exp $
 - */
 -package at.knowcenter.wag.egov.egiz.table;
 -
 -import java.io.Serializable;
 -import java.util.Map;
 -import java.util.HashMap;
 -import java.util.ArrayList;
 -
 -/**
 - * This class implements an abstract table definition. The table contains table
 - * rows and the table rows contains the table entries. A table can be styled and
 - * a relative column width can be set.
 - * 
 - * @author wlackner
 - * @see Style
 - * @see at.knowcenter.wag.egov.egiz.table.Entry
 - */
 -public class Table implements Serializable
 -{
 -
 -  /**
 -   * SVUID.
 -   */
 -  private static final long serialVersionUID = 8488947943674086618L;
 -
 -  /**
 -   * The table column settings.
 -   */
 -  private float[] colsRelativeWith_ = null;
 -
 -  /**
 -   * The row definitions.
 -   */
 -  private Map rows_ = new HashMap();
 -
 -  /**
 -   * The table width.
 -   */
 -  private float width_ = 100;
 -
 -  /**
 -   * The table style.
 -   */
 -  private Style style_ = null;
 -
 -  /**
 -   * Number of columns that are defined for the current table.
 -   */
 -  private int maxCols_ = 0;
 -
 -  /**
 -   * A table name.
 -   */
 -  private String name_ = null;
 -
 -  /**
 -   * The table constructor init by a table name.
 -   * 
 -   * @param name
 -   *          the name for the table.
 -   */
 -  public Table(String name)
 -  {
 -    name_ = name;
 -  }
 -
 -  /**
 -   * The width of the columns are relative to each other. This means the values
 -   * are summarized and divided into portions of columns used. <br>
 -   * Example: <code>[1,4]</code> means the second column is four times wider
 -   * than the first column.
 -   * 
 -   * @return Returns the relative width of the columns
 -   */
 -  public float[] getColsRelativeWith()
 -  {
 -    return colsRelativeWith_;
 -  }
 -
 -  /**
 -   * The width of the columns are relative to each other. This means the values
 -   * are summarized and divided into portions of columns used. <br>
 -   * Example: <code>[10,90]</code> means the first colum consumes 10% and the
 -   * second column consumes 90% of the table width. <br>
 -   * The relative width of the columns to set.
 -   */
 -  public void setColsRelativeWith(float[] cols)
 -  {
 -    colsRelativeWith_ = cols;
 -  }
 -
 -  /**
 -   * @return Returns the style.
 -   */
 -  public Style getStyle()
 -  {
 -    return style_;
 -  }
 -
 -  /**
 -   * @param style
 -   *          The style to set.
 -   */
 -  public void setStyle(Style style)
 -  {
 -    style_ = style;
 -  }
 -
 -  /**
 -   * @return Returns the width.
 -   */
 -  public float getWidth()
 -  {
 -    return width_;
 -  }
 -
 -  /**
 -   * @param width
 -   *          The width to set.
 -   */
 -  public void setWidth(float width)
 -  {
 -    width_ = width;
 -  }
 -
 -  /**
 -   * @return Returns the maxCols.
 -   */
 -  public int getMaxCols()
 -  {
 -    return maxCols_;
 -  }
 -
 -  /**
 -   * @return Returns the name.
 -   */
 -  public String getName()
 -  {
 -    return name_;
 -  }
 -
 -  /**
 -   * This method returns a sorted row list beginning with the row number 1. The
 -   * entrys in a row also stored in a <code>{@link java.util.ArrayList}</code>.
 -   * 
 -   * @return Returns the sorted (by row number) table rows.
 -   */
 -  public ArrayList getRows()
 -  {
 -    ArrayList rows = new ArrayList();
 -    for (int row_idx = 1; row_idx <= rows_.size(); row_idx++)
 -    {
 -      ArrayList row = (ArrayList) rows_.get("" + row_idx);
 -      rows.add(row);
 -    }
 -    return rows;
 -  }
 -
 -  /**
 -   * Add a comlete table row to the current table. Be carefull usding the
 -   * correct row number because no check is done if a row with the given row
 -   * number does exist! In that case the stored row would be replaced!
 -   * 
 -   * @param rowNumber
 -   *          the row number to store the row entries
 -   * @param row
 -   *          the entry list to store
 -   */
 -  public void addRow(String rowNumber, ArrayList row)
 -  {
 -    rows_.put(rowNumber, row);
 -    if (row.size() > maxCols_)
 -    {
 -      maxCols_ = row.size();
 -    }
 -  }
 -
 -  /**
 -   * The toString method, used for tests or debugging.
 -   */
 -  public String toString()
 -  {
 -    String the_string = "\n#### TABLE " + name_ + " BEGIN #####";
 -    the_string += " Width:" + width_ + " max cols:" + maxCols_ + " cols:" + colsRelativeWith_;
 -    the_string += "\nStyle:" + style_;
 -    ArrayList rows = getRows();
 -    for (int row_idx = 0; row_idx < rows.size(); row_idx++)
 -    {
 -      ArrayList row = (ArrayList) rows.get(row_idx);
 -      String row_prefix = "\n ++ ROW " + row_idx + " ++ ";
 -      for (int entry_idx = 0; entry_idx < row.size(); entry_idx++)
 -      {
 -        the_string += row_prefix + ((Entry) row.get(entry_idx)).toString();
 -      }
 -    }
 -    the_string += "\n#### TABLE " + name_ + " END #####";
 -    return the_string;
 -  }
 -}
\ No newline at end of file +/******************************************************************************* + * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + *  + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + *  + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + ******************************************************************************/ +/** + * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright> + * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a + * joint initiative of the Federal Chancellery Austria and Graz University of + * Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + * + * $Id: Table.java,v 1.2 2006/08/25 17:08:19 wprinz Exp $ + */ +package at.knowcenter.wag.egov.egiz.table; + +import java.io.Serializable; +import java.util.Map; +import java.util.HashMap; +import java.util.ArrayList; + +/** + * This class implements an abstract table definition. The table contains table + * rows and the table rows contains the table entries. A table can be styled and + * a relative column width can be set. + *  + * @author wlackner + * @see Style + * @see at.knowcenter.wag.egov.egiz.table.Entry + */ +public class Table implements Serializable +{ + +  /** +   * SVUID. +   */ +  private static final long serialVersionUID = 8488947943674086618L; + +  /** +   * The table column settings. +   */ +  private float[] colsRelativeWith_ = null; + +  /** +   * The row definitions. +   */ +  private Map rows_ = new HashMap(); + +  /** +   * The table width. +   */ +  private float width_ = 100; + +  /** +   * The table style. +   */ +  private Style style_ = null; + +  /** +   * Number of columns that are defined for the current table. +   */ +  private int maxCols_ = 0; + +  /** +   * A table name. +   */ +  private String name_ = null; + +  /** +   * The table constructor init by a table name. +   *  +   * @param name +   *          the name for the table. +   */ +  public Table(String name) +  { +    name_ = name; +  } + +  /** +   * The width of the columns are relative to each other. This means the values +   * are summarized and divided into portions of columns used. <br> +   * Example: <code>[1,4]</code> means the second column is four times wider +   * than the first column. +   *  +   * @return Returns the relative width of the columns +   */ +  public float[] getColsRelativeWith() +  { +    return colsRelativeWith_; +  } + +  /** +   * The width of the columns are relative to each other. This means the values +   * are summarized and divided into portions of columns used. <br> +   * Example: <code>[10,90]</code> means the first colum consumes 10% and the +   * second column consumes 90% of the table width. <br> +   * The relative width of the columns to set. +   */ +  public void setColsRelativeWith(float[] cols) +  { +    colsRelativeWith_ = cols; +  } + +  /** +   * @return Returns the style. +   */ +  public Style getStyle() +  { +    return style_; +  } + +  /** +   * @param style +   *          The style to set. +   */ +  public void setStyle(Style style) +  { +    style_ = style; +  } + +  /** +   * @return Returns the width. +   */ +  public float getWidth() +  { +    return width_; +  } + +  /** +   * @param width +   *          The width to set. +   */ +  public void setWidth(float width) +  { +    width_ = width; +  } + +  /** +   * @return Returns the maxCols. +   */ +  public int getMaxCols() +  { +    return maxCols_; +  } + +  /** +   * @return Returns the name. +   */ +  public String getName() +  { +    return name_; +  } + +  /** +   * This method returns a sorted row list beginning with the row number 1. The +   * entrys in a row also stored in a <code>{@link java.util.ArrayList}</code>. +   *  +   * @return Returns the sorted (by row number) table rows. +   */ +  public ArrayList getRows() +  { +    ArrayList rows = new ArrayList(); +    for (int row_idx = 1; row_idx <= rows_.size(); row_idx++) +    { +      ArrayList row = (ArrayList) rows_.get("" + row_idx); +      rows.add(row); +    } +    return rows; +  } + +  /** +   * Add a comlete table row to the current table. Be carefull usding the +   * correct row number because no check is done if a row with the given row +   * number does exist! In that case the stored row would be replaced! +   *  +   * @param rowNumber +   *          the row number to store the row entries +   * @param row +   *          the entry list to store +   */ +  public void addRow(String rowNumber, ArrayList row) +  { +    rows_.put(rowNumber, row); +    if (row.size() > maxCols_) +    { +      maxCols_ = row.size(); +    } +  } + +  /** +   * The toString method, used for tests or debugging. +   */ +  public String toString() +  { +    String the_string = "\n#### TABLE " + name_ + " BEGIN #####"; +    the_string += " Width:" + width_ + " max cols:" + maxCols_ + " cols:" + colsRelativeWith_; +    the_string += "\nStyle:" + style_; +    ArrayList rows = getRows(); +    for (int row_idx = 0; row_idx < rows.size(); row_idx++) +    { +      ArrayList row = (ArrayList) rows.get(row_idx); +      String row_prefix = "\n ++ ROW " + row_idx + " ++ "; +      for (int entry_idx = 0; entry_idx < row.size(); entry_idx++) +      { +        the_string += row_prefix + ((Entry) row.get(entry_idx)).toString(); +      } +    } +    the_string += "\n#### TABLE " + name_ + " END #####"; +    return the_string; +  } +} | 
