From 13d6dc3a6a5e8bd3c17997351a0e6f087eb301a2 Mon Sep 17 00:00:00 2001 From: tknall Date: Tue, 25 Nov 2008 12:04:30 +0000 Subject: Removing itext from source. git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/trunk@302 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c --- .../com/lowagie/tools/plugins/Watermarker.java | 163 --------------------- 1 file changed, 163 deletions(-) delete mode 100644 src/main/java/com/lowagie/tools/plugins/Watermarker.java (limited to 'src/main/java/com/lowagie/tools/plugins/Watermarker.java') diff --git a/src/main/java/com/lowagie/tools/plugins/Watermarker.java b/src/main/java/com/lowagie/tools/plugins/Watermarker.java deleted file mode 100644 index e1e64f8..0000000 --- a/src/main/java/com/lowagie/tools/plugins/Watermarker.java +++ /dev/null @@ -1,163 +0,0 @@ -/* - * $Id: Watermarker.java,v 1.6 2006/03/20 14:30:33 blowagie Exp $ - * $Name: $ - * - * This code is free software. It may only be copied or modified - * if you include the following copyright notice: - * - * This class by Carsten hammer and Bruno Lowagie. - * Copyright (c) 2005 Carsten Hammer and Bruno Lowagie. - * - * This code is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * itext-questions@list.sourceforge.net - */ - -package com.lowagie.tools.plugins; - -import java.io.*; - -import javax.swing.*; - -import com.lowagie.text.*; -import com.lowagie.text.pdf.*; -import com.lowagie.tools.arguments.*; - -/** - * This tool lets you add a text watermark to all pages of a document. - */ -public class Watermarker extends AbstractTool { - - static { - addVersion("$Id: Watermarker.java,v 1.6 2006/03/20 14:30:33 blowagie Exp $"); - } - - /** - * This tool lets you add a text watermark to all pages of a document. - */ - public Watermarker() { - super(); - arguments.add(new FileArgument(this, "srcfile", - "The file you want to watermark", false, new PdfFilter())); - arguments.add(new ToolArgument(this, "watermark", "The text that can be used as watermark", String.class.getName())); - arguments.add(new ToolArgument(this, "fontsize", "The fontsize of the watermark text", String.class.getName())); - arguments.add(new ToolArgument(this, "opacity", "The opacity of the watermark text", String.class.getName())); - arguments.add(new FileArgument(this, "destfile", - "The file to which the watermarked PDF has to be written", - true, new PdfFilter())); - - } - - /** - * Creates the internal frame. - */ - protected void createFrame() { - internalFrame = new JInternalFrame("Watermark", true, false, true); - internalFrame.setSize(300, 80); - internalFrame.setJMenuBar(getMenubar()); - System.out.println("=== Watermark OPENED ==="); - } - - /** - * Executes the tool (in most cases this generates a PDF file). - */ - public void execute() { - try { - if (getValue("srcfile") == null) { - throw new InstantiationException( - "You need to choose a sourcefile"); - } - if (getValue("destfile") == null) { - throw new InstantiationException( - "You need to choose a destination file"); - } - if (getValue("watermark") == null) { - throw new InstantiationException( - "You need to add a text for the watermark"); - } - int fontsize = Integer.parseInt((String)getValue("fontsize")); - float opacity = Float.parseFloat((String)getValue("opacity")); - BaseFont bf = BaseFont.createFont("Helvetica", BaseFont.WINANSI, - false); - PdfReader reader = new PdfReader(((File) getValue("srcfile")) - .getAbsolutePath()); - int pagecount = reader.getNumberOfPages(); - PdfGState gs1 = new PdfGState(); - gs1.setFillOpacity(opacity); - String text = (String)getValue("watermark"); - PdfStamper stamp = new PdfStamper(reader, new FileOutputStream( - (File) getValue("destfile"))); - float txtwidth = bf.getWidthPoint(text, fontsize); - for (int i = 1; i <= pagecount; i++) { - PdfContentByte seitex = stamp.getOverContent(i); - Rectangle recc = reader.getCropBox(i); - float winkel = (float) Math.atan(recc.height() / recc.width()); - float m1 = (float) Math.cos(winkel); - float m2 = (float) -Math.sin(winkel); - float m3 = (float) Math.sin(winkel); - float m4 = (float) Math.cos(winkel); - float xoff = (float) (-Math.cos(winkel) * txtwidth / 2 - Math - .sin(winkel) - * fontsize / 2); - float yoff = (float) (Math.sin(winkel) * txtwidth / 2 - Math - .cos(winkel) - * fontsize / 2); - seitex.saveState(); - seitex.setGState(gs1); - seitex.beginText(); - seitex.setFontAndSize(bf, fontsize); - seitex.setTextMatrix(m1, m2, m3, m4, xoff + recc.width() / 2, - yoff + recc.height() / 2); - seitex.showText(text); - seitex.endText(); - seitex.restoreState(); - } - stamp.close(); - } catch (Exception e) { - JOptionPane.showMessageDialog(internalFrame, e.getMessage(), e - .getClass().getName(), JOptionPane.ERROR_MESSAGE); - System.err.println(e.getMessage()); - } - } - - /** - * Gets the PDF file that should be generated (or null if the output isn't a - * PDF file). - * - * @return the PDF file that should be generated - * @throws InstantiationException - */ - protected File getDestPathPDF() throws InstantiationException { - return (File) getValue("destfile"); - } - - /** - * Indicates that the value of an argument has changed. - * - * @param arg - * the argument that has changed - */ - public void valueHasChanged(ToolArgument arg) { - if (internalFrame == null) { - // if the internal frame is null, the tool was called from the - // commandline - return; - } - - } - - /** - * This methods helps you running this tool as a standalone application. - * @param args the srcfile, watermark text and destfile - */ - public static void main(String[] args) { - Watermarker watermarker = new Watermarker(); - if (args.length != 5) { - System.err.println(watermarker.getUsage()); - } - watermarker.setArguments(args); - watermarker.execute(); - } -} \ No newline at end of file -- cgit v1.2.3