import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.Date;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.UUID;
import java.util.logging.LogManager;
import javax.imageio.ImageIO;
+import org.apache.commons.lang.*;
+import org.apache.commons.io.*;
import jp.sourceforge.dvibrowser.dvi2epub.cmd.AnnotatedCommand;
import jp.sourceforge.dvibrowser.dvi2epub.cmd.Command;
DviDocument doc = ctx.openDviDocument(inputFile);
DviToolkit toolkit = ctx.getDviToolkit();
+ List<String> recs = new ArrayList<String>();
for (DviPage page : doc.getPages()) {
int pn = page.getPageNumber() + 1;
System.out.printf("[%d]", pn);
String.format("%s<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='ja' lang='ja'><body>%s<img src='images/page%04d.%s' /></body></html>", docType, body, pn, formatExt)
, true, true, true);
png.delete();
+ recs.add(
+ String.format("{'id':%d, url:'%s', image:'%s'}",
+ pn, "page.html", imageFile
+ )
+ );
}
+ if (true) {
+ // SCORM
+ UUID orgUUID = UUID.randomUUID();
+ UUID itemUUID = UUID.randomUUID();
+ UUID resUUID = UUID.randomUUID();
+ List<String> manifest = IOUtils.readLines(
+ Dvi2EpubCmd.class.getResourceAsStream("tpl/manifest.txt"),
+ "UTF-8"
+ );
+ String pages = '[' + StringUtils.join(recs, ',') + ']';
+ for (String line : manifest) {
+ String [] rec = line.split(",", -1);
+ String mimeType = rec[0];
+ String path = rec[1];
+ String c = IOUtils.toString(
+ Dvi2EpubCmd.class.getResourceAsStream("tpl/" + path), "UTF-8"
+ );
+ c = c.replace("$(UUID)", epubWriter.getUUID().toString());
+ c = c.replace("$(ORG_UUID)", orgUUID.toString());
+ c = c.replace("$(TITLE)", title);
+ c = c.replace("$(ITEM_UUID)", itemUUID.toString());
+ c = c.replace("$(RES_UUID)", resUUID.toString());
+ c = c.replace("$(ITEM_TITLE)", title);
+ c = c.replace("$(PAGES)", pages);
+ epubWriter.writeFile(path, mimeType, c, false, false, false);
+ }
+ }
epubWriter.close();
System.out.println();
System.out.println("Output written on " + outputFile);