aboutsummaryrefslogtreecommitdiff
path: root/pdf-as-lib/src/test/java/at/gv
diff options
context:
space:
mode:
Diffstat (limited to 'pdf-as-lib/src/test/java/at/gv')
-rw-r--r--pdf-as-lib/src/test/java/at/gv/egiz/pdfas/lib/test/mains/TestPDFBoxTable.java224
1 files changed, 0 insertions, 224 deletions
diff --git a/pdf-as-lib/src/test/java/at/gv/egiz/pdfas/lib/test/mains/TestPDFBoxTable.java b/pdf-as-lib/src/test/java/at/gv/egiz/pdfas/lib/test/mains/TestPDFBoxTable.java
deleted file mode 100644
index 4166198b..00000000
--- a/pdf-as-lib/src/test/java/at/gv/egiz/pdfas/lib/test/mains/TestPDFBoxTable.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*******************************************************************************
- * <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.test.mains;
-import iaik.x509.X509Certificate;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.util.ArrayList;
-
-import org.apache.pdfbox.cos.COSName;
-import org.apache.pdfbox.pdmodel.PDDocument;
-import org.apache.pdfbox.pdmodel.PDPage;
-import org.apache.pdfbox.pdmodel.common.PDRectangle;
-import org.apache.pdfbox.pdmodel.edit.PDPageContentStream;
-import org.apache.pdfbox.pdmodel.font.PDType1Font;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import at.gv.egiz.pdfas.common.settings.ISettings;
-import at.gv.egiz.pdfas.common.settings.SignatureProfileSettings;
-import at.gv.egiz.pdfas.lib.api.PdfAs;
-import at.gv.egiz.pdfas.lib.api.PdfAsFactory;
-import at.gv.egiz.pdfas.lib.impl.stamping.TableFactory;
-import at.knowcenter.wag.egov.egiz.table.Entry;
-import at.knowcenter.wag.egov.egiz.table.Style;
-import at.knowcenter.wag.egov.egiz.table.Table;
-
-public class TestPDFBoxTable {
-
- private static final Logger logger = LoggerFactory
- .getLogger(TestPDFBoxTable.class);
-
- private static void drawTable(PDPage page, PDPageContentStream contentStream,
- float x, float y, Table abstractTable) throws IOException {
-
- final int rows = abstractTable.getRows().size();
- final int cols = abstractTable.getMaxCols();
- float[] colsSizes = abstractTable.getColsRelativeWith();
- int max_cols = abstractTable.getMaxCols();
- if (colsSizes == null)
- {
- colsSizes = new float[max_cols];
- // set the column ratio for all columns to 1
- for (int cols_idx = 0; cols_idx < colsSizes.length; cols_idx++)
- {
- colsSizes[cols_idx] = 1;
- }
- }
-
- logger.info("TOTAL Col: " + abstractTable.getWidth());
-
- float total = 0;
-
- for (int cols_idx = 0; cols_idx < colsSizes.length; cols_idx++)
- {
- total += colsSizes[cols_idx];
- }
-
- for (int cols_idx = 0; cols_idx < colsSizes.length; cols_idx++)
- {
- colsSizes[cols_idx] = (colsSizes[cols_idx]/total) * abstractTable.getWidth();
- }
-
- for (int cols_idx = 0; cols_idx < colsSizes.length; cols_idx++)
- {
- logger.info("Col: " + cols_idx + " : " + colsSizes[cols_idx]);
- }
-
- final float cellMargin=5f;
- final float rowHeight = 12f + 2 * cellMargin;
- final float tableWidth = abstractTable.getWidth();
- final float tableHeight = rowHeight * rows;
- final float colWidth = tableWidth/(float)cols;
-
- //draw the rows
- float nexty = y ;
- for (int i = 0; i <= rows; i++) {
- contentStream.drawLine(x, nexty, x+tableWidth, nexty);
- nexty-= rowHeight;
- }
-
- //draw the columns
- float nextx = x;
- for (int i = 0; i <= cols; i++) {
- contentStream.drawLine(nextx, y, nextx, y-tableHeight);
- if(i < colsSizes.length) {
- nextx += (colsSizes != null) ? colsSizes[i] : colWidth;
- }
- }
-
- float textx = x+cellMargin;
- float texty = y-15;
- for(int i = 0; i < abstractTable.getRows().size(); i++){
- ArrayList<Entry> row = abstractTable.getRows().get(i);
- for(int j = 0 ; j < row.size(); j++) {
- Entry cell = row.get(j);
- String text = cell.toString();
- text = "Hallo";
- COSName name = COSName.getPDFName("ANDI_TAG!");
- contentStream.beginMarkedContentSequence(COSName.ALT, name);
- contentStream.beginText();
- logger.info("Writing: " + textx + " : " + texty + " = " + text);
- contentStream.moveTextPositionByAmount(textx,texty);
-
- if (text.contains("\n")) {
- String[] lines = text.split("\n");
- contentStream.appendRawCommands(10 + " TL\n");
- for (int k = 0; k < lines.length; k++) {
- contentStream.drawString(lines[k]);
- if (k < lines.length - 1) {
- contentStream.appendRawCommands("T*\n");
- }
- }
- } else {
- contentStream.drawString(text);
- }
- contentStream.endText();
- contentStream.endMarkedContentSequence();
- textx += (colsSizes != null) ? colsSizes[j] : colWidth;
- }
- texty-= rowHeight;
- textx = x+cellMargin;
- }
- }
-
-
- private static void renderTable(Table abstractTable) {
-
- ArrayList<ArrayList<Entry>> rows = abstractTable.getRows();
- Style table_style = abstractTable.getStyle();
- for (int row_idx = 0; row_idx < rows.size(); row_idx++)
- {
- ArrayList<Entry> row = rows.get(row_idx);
- logger.info("## Row:" + row_idx + " ## of table:" + abstractTable.getName());
- for (int entry_idx = 0; entry_idx < row.size(); entry_idx++)
- {
- Entry cell = row.get(entry_idx);
- // 03.11.2010 changed by exthex - swapped the two params, was probably a bug
- Style inherit_style = Style.doInherit(table_style, cell.getStyle());
- cell.setStyle(inherit_style);
- logger.info(cell.toString());
- /*PdfPCell pdf_cell = renderCell(cell);
- if (cell.getColSpan() > 1)
- {
- pdf_cell.setColspan(cell.getColSpan());
- }
- if (cell.isNoWrap())
- {
- pdf_cell.setNoWrap(true);
- }*/
- // System.err.println("valign:" + pdf_cell.getVerticalAlignment() + "
- // halign:" +
- // pdf_cell.getHorizontalAlignment());
- //pdf_table.addCell(pdf_cell);
- }
- //pdf_table.completeRow();
- }
- logger.info("render table:" + abstractTable.getName());
- }
-
- public static void main(String[] args) {
- try {
- PdfAs pdfAs = PdfAsFactory.createPdfAs(new File("/home/afitzek/.pdfas/"));
- ISettings settings = (ISettings) pdfAs.getConfiguration();
- SignatureProfileSettings profileSettings =
- TableFactory.createProfile("SIGNATURBLOCK_DE", settings);
-
- X509Certificate cert = new X509Certificate(new FileInputStream("/home/afitzek/qualified.cer"));
-
- CertificateHolderRequest request = new CertificateHolderRequest(cert);
- /*
- Table main = TableFactory.createSigTable(profileSettings, "main", settings, request);
-
- main.setWidth(400);
-
- renderTable(main);
- */
-// PDStream stream1;
-
- PDDocument document = new PDDocument();
- PDPage page = new PDPage();
- page.setMediaBox(new PDRectangle());
- PDPageContentStream stream = new PDPageContentStream(document, page);
- stream.setFont(PDType1Font.HELVETICA_BOLD , 12);
- //drawTable(page, stream, 100, 300, main);
- stream.close();
-
- document.addPage(page);
-
- document.save("/tmp/test.pdf");
-
- /*
- FileOutputStream fos = new FileOutputStream("/tmp/buffer.bin");
- fos.write(page.getContents().getByteArray());
- fos.close();
- */
-
- } catch(Throwable e) {
- e.printStackTrace();
- }
- }
-}