/* * Created on May 31, 2003 * * To change this generated comment go to * Window>Preferences>Java>Code Generation>Code Template */ package is.idega.experimental.pdftest; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.StringBufferInputStream; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import com.idega.block.pdf.ITextXMLHandler; import com.idega.io.MemoryFileBuffer; import com.idega.io.MemoryInputStream; import com.lowagie.text.ElementTags; import com.lowagie.text.xml.XmlPeer; /** * <p>Title: idegaWeb</p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2003</p> * <p>Company: idega Software</p> * @author aron * @version 1.0 */ public class PDFHandlerTest { public static void main(String[] args) { try { PDFHandlerTest test = new PDFHandlerTest(); if (args!=null && args.length >0) { if(args[0].equalsIgnoreCase("xml")) System.out.println(test.getXMLTemplate()); else test.doTheShit(new FileInputStream(args[0])); } else { test.doTheShit(new StringBufferInputStream(test.getXMLTemplate())); } } catch (IOException e) { e.printStackTrace(); } } public void doTheShit(InputStream xmlURI) throws IOException { ITextXMLHandler handler = new ITextXMLHandler(ITextXMLHandler.PDF + ITextXMLHandler.HTML + ITextXMLHandler.TXT); HashMap tagmap = new HashMap(); XmlPeer peer = new XmlPeer(ElementTags.ITEXT, "template"); tagmap.put(peer.getAlias(), peer); peer = new XmlPeer(ElementTags.CHUNK, "caretime"); peer.setContent("<caretime/> "); tagmap.put(peer.getAlias(), peer); peer = new XmlPeer(ElementTags.CHUNK, "name"); peer.setContent("<dummy /> "); tagmap.put(peer.getAlias(), peer); peer = new XmlPeer(ElementTags.CHUNK, "name1"); peer.setContent("Beavis "); tagmap.put(peer.getAlias(), peer); peer = new XmlPeer(ElementTags.CHUNK, "name2"); peer.setContent("Butthead "); tagmap.put(peer.getAlias(), peer); Collection buffers = handler.writeToBuffers(tagmap, xmlURI); if (buffers != null && !buffers.isEmpty()) { System.out.println("Buffer count : " + buffers.size()); Iterator iter = buffers.iterator(); if (iter.hasNext()) writeToFile((MemoryFileBuffer) iter.next(), "temp.pdf"); if (iter.hasNext()) writeToFile((MemoryFileBuffer) iter.next(), "temp.txt"); if (iter.hasNext()) writeToFile((MemoryFileBuffer) iter.next(), "temp.html"); } } public void writeToFile(MemoryFileBuffer buffer, String fileName) throws IOException { System.out.println("Buffer " + fileName + " length: " + buffer.length()); MemoryInputStream in = new MemoryInputStream(buffer); //FileUtil.createFile("/home/aron/javatest/"+fileName); // FileOutputStream out = new FileOutputStream(new File("/home/aron/javatest/" + fileName)); FileOutputStream out = new FileOutputStream(new File("C:/Documents and Settings/Roar.GALILEO/My Documents/Work/Nacka/PKI/" + fileName)); int c; while ((c = in.read()) != -1) out.write(c); in.close(); out.close(); } public String getXMLTemplate() { StringBuffer xml = new StringBuffer(); String newline = "\n"; xml.append("<template> ").append(newline); xml.append("<name/> <newline/>").append(newline); xml.append("<name1/>: How do you do my friend <newline /><newline /><newline />").append(newline); xml.append("<name2/>: Im fine, and you ? <newline />").append(newline); xml.append("<name1/>: Yeah I'm hanging inthere ! <newline />").append(newline); xml.append("<paragraph leading=\"18.0\" font=\"unknown\" align=\"Default\">").append(newline); xml.append("<list>"); xml.append("<listitem>Punkt 1</listitem>"); xml.append("<listitem>Punkt 2</listitem>"); xml.append("<listitem>Punkt 3</listitem>"); xml.append("</list>"); xml.append("<name2/>: This is funky shit funking down town").append(newline); xml.append("Care time: <caretime/><newline/><newline/>").append(newline); xml.append("</paragraph>").append(newline); xml.append("<chunk font=\"Helvetica\" size=\"18.0\" fontstyle=\"normal\" red=\"0\" green=\"64\" blue=\"64\">").append(newline); xml.append("<name1/>: Heavy chunk of funk").append(newline); xml.append("</chunk>").append(newline); xml.append("</template>").append(newline); return xml.toString(); } public String getXMLTemplate2() { return "<template> <name/> <newline/><name1/>: How do you do my friend <newline /><name2/>: Im fine, and you ? <newline /><name1/>: Yeah I'm hanging inthere ! <newline /><paragraph leading=\"18.0\" font=\"unknown\" align=\"Default\"><name2/>: This is funky shit funking down town</paragraph>Care time: <caretime/><chunk font=\"Helvetica\" size=\"18.0\" fontstyle=\"normal\" red=\"0\" green=\"64\" blue=\"64\"></chunk></template>"; } }