/** * 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.gv.egiz.pdfas.impl.api; import at.gv.egiz.pdfas.api.sign.pos.SignaturePositioning; import at.gv.egiz.pdfas.api.sign.pos.axis.AbsoluteAxisAlgorithm; import at.gv.egiz.pdfas.api.sign.pos.axis.AutoAxisAlgorithm; import at.gv.egiz.pdfas.api.sign.pos.axis.AxisAlgorithm; import at.gv.egiz.pdfas.api.sign.pos.page.AbsolutePageAlgorithm; import at.gv.egiz.pdfas.api.sign.pos.page.AutoPageAlgorithm; import at.gv.egiz.pdfas.api.sign.pos.page.NewPageAlgorithm; import at.gv.egiz.pdfas.api.sign.pos.page.PageAlgorithm; import at.knowcenter.wag.egov.egiz.PdfAS; import at.knowcenter.wag.egov.egiz.exceptions.PDFDocumentException; import at.knowcenter.wag.egov.egiz.pdf.TablePos; /** * @author wprinz * */ public final class PosHelper { /** * Hidden default constructor. */ private PosHelper() { // empty block } public static TablePos formTablePos(SignaturePositioning signaturePositioning) throws PDFDocumentException { if (signaturePositioning == null) { return null; } String positioningString = formPositioningString(signaturePositioning); TablePos pos = PdfAS.parsePositionFromPosString(positioningString); return pos; } protected static String formPositioningString(SignaturePositioning sp) { String x_algo = formAxisAlgoString(sp.getXAlgorithm()); String y_algo = formAxisAlgoString(sp.getYAlgorithm()); String w_algo = formAxisAlgoString(sp.getWidthAlgorithm()); String p_algo = formPageAlgoString(sp.getPageAlgorithm()); String positioning = "x:" + x_algo + ";y:" + y_algo + ";w:" + w_algo + ";p:" + p_algo + ";f:" + sp.getFooterLine(); return positioning; } protected static String formAxisAlgoString(AxisAlgorithm algorithm) { if (algorithm instanceof AutoAxisAlgorithm) { return "auto"; } AbsoluteAxisAlgorithm aaa = (AbsoluteAxisAlgorithm) algorithm; return Float.toString(aaa.getAbsoluteValue()); } protected static String formPageAlgoString(PageAlgorithm algorithm) { if (algorithm instanceof AutoPageAlgorithm) { return "auto"; } if (algorithm instanceof NewPageAlgorithm) { return "new"; } AbsolutePageAlgorithm apa = (AbsolutePageAlgorithm) algorithm; return Integer.toString(apa.getPage()); } }