source: trunk/src/org/expeditee/io/HTMLBWriter.java@ 289

Last change on this file since 289 was 226, checked in by ra33, 16 years ago

Added PDF writers

File size: 2.4 KB
Line 
1package org.expeditee.io;
2
3import java.awt.Image;
4import java.awt.image.BufferedImage;
5import java.io.IOException;
6import java.util.List;
7
8import org.expeditee.actions.Misc;
9import org.expeditee.gui.FrameIO;
10import org.expeditee.items.Item;
11import org.expeditee.items.Picture;
12import org.expeditee.items.Text;
13
14import sun.awt.image.ToolkitImage;
15
16public class HTMLBWriter extends AbstractHTMLWriter {
17
18 @Override
19 protected void writeTitle(Text toWrite, List<Item> items)
20 throws IOException {
21 String heading = toWrite.getText();
22 String tag = "h" + (getIndent() + 1);
23 // indenting for tag
24 indent();
25 _writer.write("<" + tag + ">" + heading + "</" + tag + ">"
26 + ItemWriter.NEW_LINE);
27 }
28
29 @Override
30 protected void writeText(Text text) throws IOException {
31 indent();
32 _writer.write("<p>");
33 _writer.write(text.getText().replace('\n', ' '));
34 _writer.write("</p>" + ItemWriter.NEW_LINE);
35 }
36
37 @Override
38 protected void writePicture(Picture pic) throws IOException {
39 //TODO: Deal with cropped images!
40
41 Image image = pic.getImage();
42 String filesFolder = getFilesFolder();
43 String fileName;
44 // If its a bufferedImage then just write it out to the files directory
45 //This means it is probably a FrameImage
46 if (image instanceof BufferedImage || image instanceof ToolkitImage) {
47 String link = pic.getAbsoluteLink();
48 // Account for the possiblitly of an unlinked buffered image
49 fileName = link == null ? ("Image" + pic.getID()) : link;
50 fileName = Misc.SaveImage((BufferedImage) image, "PNG", FrameIO.EXPORTS_DIR
51 + filesFolder, fileName);
52 } else {//It is a normal Image stored somewhere
53
54 Text source = pic.getSource();
55
56 fileName = source.getFirstLine();
57 fileName = fileName.substring(fileName.indexOf(":") + 1).trim();
58
59 String oldImageName = FrameIO.IMAGES_PATH + fileName;
60 String newImageName = FrameIO.EXPORTS_DIR + filesFolder + fileName;
61 try {
62 FrameIO.copyFile(oldImageName, newImageName);
63 } catch (Exception e) {
64 filesFolder = "";
65 }
66 if (filesFolder.equals("")) {
67 filesFolder = "../" + FrameIO.IMAGES_FOLDER;
68 }
69 }
70 indent();
71 StringBuffer imageTag = new StringBuffer("<img src=\"");
72 imageTag.append(filesFolder).append(fileName);
73 imageTag.append("\" height=").append(pic.getHeight());
74 imageTag.append(" width=").append(pic.getWidth());
75 imageTag.append(" border=1>");
76 _writer.write(imageTag.toString());
77 _writer.write(ItemWriter.NEW_LINE);
78 }
79}
Note: See TracBrowser for help on using the repository browser.