1 50 package com.lowagie.tools.plugins; 51 52 import java.io.BufferedReader; 53 import java.io.File; 54 import java.io.FileOutputStream; 55 import java.io.FileReader; 56 57 import javax.swing.JInternalFrame; 58 import javax.swing.JOptionPane; 59 60 import com.lowagie.text.Document; 61 import com.lowagie.text.Font; 62 import com.lowagie.text.FontFactory; 63 import com.lowagie.text.PageSize; 64 import com.lowagie.text.Paragraph; 65 import com.lowagie.text.Rectangle; 66 import com.lowagie.text.pdf.PdfWriter; 67 import com.lowagie.tools.arguments.FileArgument; 68 import com.lowagie.tools.arguments.OptionArgument; 69 import com.lowagie.tools.arguments.PdfFilter; 70 import com.lowagie.tools.arguments.ToolArgument; 71 72 75 public class Txt2Pdf extends AbstractTool { 76 79 public Txt2Pdf() { 80 menuoptions = MENU_EXECUTE | MENU_EXECUTE_SHOW | MENU_EXECUTE_PRINT_SILENT; 81 arguments.add(new FileArgument(this, "srcfile", "The file you want to convert", false)); 82 arguments.add(new FileArgument(this, "destfile", "The file to which the converted text has to be written", true, new PdfFilter())); 83 OptionArgument oa1 = new OptionArgument(this, "pagesize", "Pagesize"); 84 oa1.addOption("A4", "A4"); 85 oa1.addOption("Letter", "LETTER"); 86 arguments.add(oa1); 87 OptionArgument oa2 = new OptionArgument(this, "orientation", "Orientation of the page"); 88 oa2.addOption("Portrait", "PORTRAIT"); 89 oa2.addOption("Landscape", "LANDSCAPE"); 90 arguments.add(oa2); 91 } 92 93 96 protected void createFrame() { 97 internalFrame = new JInternalFrame("Txt2Pdf", true, true, true); 98 internalFrame.setSize(300, 80); 99 internalFrame.setJMenuBar(getMenubar()); 100 } 101 102 105 public void execute() { 106 try { 107 String line = null; 108 Document document; 109 Font f; 110 Rectangle pagesize; 111 if ("LETTER".equals(getValue("pagesize"))) { 112 pagesize = PageSize.LETTER; 113 } 114 else { 115 pagesize = PageSize.A4; 116 } 117 if ("LANDSCAPE".equals(getValue("orientation"))) { 118 f = FontFactory.getFont(FontFactory.COURIER, 10); 119 document = new Document(pagesize.rotate(), 36, 9, 36, 36); 120 } 121 else { 122 f = FontFactory.getFont(FontFactory.COURIER, 11); 123 document = new Document(pagesize, 72, 36, 36, 36); 124 } 125 BufferedReader in = new BufferedReader(new FileReader((File)getValue("srcfile"))); 126 PdfWriter.getInstance(document, new FileOutputStream((File)getValue("destfile"))); 127 document.open(); 128 while ((line = in.readLine()) != null) { 129 document.add(new Paragraph(12, line, f)); 130 } 131 document.close(); 132 } catch (Exception e) { 133 JOptionPane.showMessageDialog(internalFrame, 134 e.getMessage(), 135 e.getClass().getName(), 136 JOptionPane.ERROR_MESSAGE); 137 System.err.println(e.getMessage()); 138 } 139 } 140 141 144 public void valueHasChanged(ToolArgument arg) { 145 if (internalFrame == null) { 146 return; 148 } 149 } 151 152 153 157 public static void main(String[] args) { 158 Txt2Pdf tool = new Txt2Pdf(); 159 if (args.length < 2) { 160 System.err.println(tool.getUsage()); 161 } 162 tool.setArguments(args); 163 tool.execute(); 164 } 165 166 169 protected File getDestPathPDF() throws InstantiationException { 170 return (File)getValue("destfile"); 171 } 172 } | Popular Tags |