hi i am using epub lib and converting html to epub, but i cant able to display the images in the converted files below is my code can any one help me????
package com.ereader.content.controller;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import java.util.Map;
import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
import nl.siegmann.epublib.domain.Author;
import nl.siegmann.epublib.domain.Book;
import nl.siegmann.epublib.domain.Resource;
import nl.siegmann.epublib.epub.EpubWriter;
import org.apache.commons.io.FileUtils;
public class Html2Epub {
public String Convert2Epub(String src_path, String output_path, Map<String, String> meta_data) {
try {
// Create new Book
Book book = new Book();
// Set the title
if(meta_data.containsKey("Title")){
//System.out.println("Got Title :"+ meta_data.get("Title"));
book.getMetadata().addTitle(meta_data.get("Title"));
}
// Add an Author
if(meta_data.containsKey("Author")){
//System.out.println("Got Author :"+ meta_data.get("Author"));
book.getMetadata().addAuthor(new Author(meta_data.get("Author")));
}
//Add description
if(meta_data.containsKey("Subject")){
book.getMetadata().addDescription(meta_data.get("Subject"));
}
//Add Producer
if(meta_data.containsKey("Producer")){
book.getMetadata().addPublisher(meta_data.get("Producer"));
}
//Metadata metadata = new Metadata();
//book.setMetadata(metadata);
// Set cover image
//book.getMetadata().setCoverImage(new Resource(Html2Epub.class.getResourceAsStream("/book1/test_cover.png"), "cover.png"));
File dir = new File(src_path);
String[] extensions = new String[] { "html" };
List<File> files = (List<File>) FileUtils.listFiles(dir, extensions, true);
InputStream stream;
Resource resource;
for (File file : files) {
File f = file;
String name = f.getName();
int pos = name.lastIndexOf('.');
String ext = name.substring(pos+1);
if(ext.equals("html"))
{
String resources_folder = name.substring(0,pos);
File img_dir = new File(src_path+"/"+resources_folder+"/img/");
if(img_dir.exists()){
System.out.println("Image Dir: "+img_dir);
String[] img_extensions = new String[] { "png","jpg","jpeg","svg" };
List<File> images = (List<File>) FileUtils.listFiles(img_dir, img_extensions, true);
InputStream stream1;
for (File image : images) {
File img_file = image;
String imgname = img_file.getName();
//System.out.println("Img name: "+imgname);
stream1 = new FileInputStream(img_file);
book.getResources().add(new Resource(stream1, resources_folder+"/img/"+imgname));
}
}
File fonts_dir = new File(src_path+"/"+resources_folder+"/fonts/");
if(fonts_dir.exists()){
//System.out.println("Image Dir: "+img_dir);
String[] font_extensions = new String[] { "ttf" };
List<File> fonts = (List<File>) FileUtils.listFiles(fonts_dir, font_extensions, true);
InputStream font_stream;
for (File font : fonts) {
File font_file = font;
String fontname = font_file.getName();
//System.out.println("Img name: "+img_name);
font_stream = new FileInputStream(font_file);
book.getResources().add(new Resource(font_stream, resources_folder+"/fonts/"+fontname));
}
}
//Needed if it has javascript
File js_dir = new File(src_path+"/"+resources_folder+"/js/");
if(js_dir.exists()){
System.out.println("Javascript Dir----------------->: "+js_dir);
String[] js_extensions = new String[] { "js" };
List<File> jsfiles = (List<File>) FileUtils.listFiles(js_dir, js_extensions, true);
InputStream js_stream;
for (File js : jsfiles) {
File js_file = js;
String jsname = js_file.getName();
System.out.println("Script name-------------------->: "+jsname);
js_stream = new FileInputStream(js_file);
book.getResources().add(new Resource(js_stream,resources_folder+"/js/"+jsname));
}
}
File shades_dir = new File(src_path+"/"+resources_folder+"/shade/");
if(shades_dir.exists()){
//System.out.println("Image Dir: "+img_dir);
String[] shade_extensions = new String[] { "png","jpg" };
List<File> shades = (List<File>) FileUtils.listFiles(shades_dir, shade_extensions, true);
InputStream shade_stream;
for (File shade : shades) {
File shade_file = shade;
String shadename = shade_file.getName();
//System.out.println("Img name: "+img_name);
shade_stream = new FileInputStream(shade_file);
book.getResources().add(new Resource(shade_stream, resources_folder+"/shade/"+shadename));
}
}
stream = new FileInputStream(f);
resource = new Resource(stream, name);
book.addSection(name, resource);
}else{
System.out.println("file found with someother extension!!");
}
}
// Create EpubWriter
EpubWriter epubWriter = new EpubWriter();
// Write the Book as Epub
epubWriter.write(book, new FileOutputStream(output_path+"_pdf.epub"));
System.out.println("successfully converted into epub file");
}catch (Exception e) {
e.printStackTrace();
}
return output_path+"_pdf.epub";
}
public static void main(String[] args) throws Exception {
}
}