From 63784f692a50606f34702706761edac052fdac60 Mon Sep 17 00:00:00 2001 From: Andreas Fitzek Date: Thu, 16 Oct 2014 12:45:01 +0200 Subject: Introduced PDF-AS Backends, removed all pdfbox specific code to pdfbox backend --- .../operator/path/painting/CloseAndStrokePath.java | 82 ------------------- .../painting/CloseFillEvenOddAndStrokePath.java | 83 ------------------- .../painting/CloseFillNonZeroAndStrokePath.java | 83 ------------------- .../egiz/pdf/operator/path/painting/EndPath.java | 91 --------------------- .../path/painting/FillEvenOddAndStrokePath.java | 95 ---------------------- .../path/painting/FillNonZeroAndStrokePath.java | 95 ---------------------- .../path/painting/FillPathEvenOddRule.java | 94 --------------------- .../painting/FillPathNonZeroWindingNumberRule.java | 95 ---------------------- .../pdf/operator/path/painting/StrokePath.java | 93 --------------------- 9 files changed, 811 deletions(-) delete mode 100644 pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/CloseAndStrokePath.java delete mode 100644 pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/CloseFillEvenOddAndStrokePath.java delete mode 100644 pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/CloseFillNonZeroAndStrokePath.java delete mode 100644 pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/EndPath.java delete mode 100644 pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/FillEvenOddAndStrokePath.java delete mode 100644 pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/FillNonZeroAndStrokePath.java delete mode 100644 pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/FillPathEvenOddRule.java delete mode 100644 pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/FillPathNonZeroWindingNumberRule.java delete mode 100644 pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/StrokePath.java (limited to 'pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting') 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 deleted file mode 100644 index 552a033c..00000000 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/CloseAndStrokePath.java +++ /dev/null @@ -1,82 +0,0 @@ -/******************************************************************************* - * Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria - * 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 2006 by Know-Center, Graz, Austria - * 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.cos.COSBase; -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 h S. - * - * @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 deleted file mode 100644 index 718fe362..00000000 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/CloseFillEvenOddAndStrokePath.java +++ /dev/null @@ -1,83 +0,0 @@ -/******************************************************************************* - * Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria - * 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 2006 by Know-Center, Graz, Austria - * 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.cos.COSBase; -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 h B*. - * - * @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 deleted file mode 100644 index 523f6681..00000000 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/CloseFillNonZeroAndStrokePath.java +++ /dev/null @@ -1,83 +0,0 @@ -/******************************************************************************* - * Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria - * 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 2006 by Know-Center, Graz, Austria - * 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.cos.COSBase; -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 h B. - * - * @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 deleted file mode 100644 index 5134ed2f..00000000 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/EndPath.java +++ /dev/null @@ -1,91 +0,0 @@ -/******************************************************************************* - * Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria - * 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 2006 by Know-Center, Graz, Austria - * 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.cos.COSBase; -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 deleted file mode 100644 index 13623648..00000000 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/FillEvenOddAndStrokePath.java +++ /dev/null @@ -1,95 +0,0 @@ -/******************************************************************************* - * Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria - * 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 2006 by Know-Center, Graz, Austria - * 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.cos.COSBase; -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 B, except that the path is filled as if with f* instead of - * f. - * - * @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 deleted file mode 100644 index 485411a8..00000000 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/FillNonZeroAndStrokePath.java +++ /dev/null @@ -1,95 +0,0 @@ -/******************************************************************************* - * Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria - * 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 2006 by Know-Center, Graz, Austria - * 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.cos.COSBase; -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 f and - * the second with S. - * - * @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 deleted file mode 100644 index bb3d3411..00000000 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/FillPathEvenOddRule.java +++ /dev/null @@ -1,94 +0,0 @@ -/******************************************************************************* - * Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria - * 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 2006 by Know-Center, Graz, Austria - * 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.cos.COSBase; -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 deleted file mode 100644 index 6196c466..00000000 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/FillPathNonZeroWindingNumberRule.java +++ /dev/null @@ -1,95 +0,0 @@ -/******************************************************************************* - * Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria - * 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 2006 by Know-Center, Graz, Austria - * 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.cos.COSBase; -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 deleted file mode 100644 index b114b60b..00000000 --- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/operator/path/painting/StrokePath.java +++ /dev/null @@ -1,93 +0,0 @@ -/******************************************************************************* - * Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria - * 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 2006 by Know-Center, Graz, Austria - * 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.cos.COSBase; -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); - } - } - -} -- cgit v1.2.3