package b4x.doc;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import com.spire.doc.*;
import com.spire.doc.documents.*;
import com.spire.doc.documents.ImageType;
import com.spire.presentation.*;
import anywheresoftware.b4a.BA;
import anywheresoftware.b4a.BA.*;
@ShortName("Doc")
public class doc {
static BA b;
static String source;
static String dir;
static String myevent;
static String mytypename;
static String pic;
public static void transfer(BA ba,String event,String source_dir,String todir,String lei,String pic_name) throws IOException{
b=ba;
source=source_dir;
dir=todir;
myevent=event;
pic=pic_name;
if(lei=="ppt"){
ppt_trans ppt=new ppt_trans();
Thread t2=new Thread(ppt);
t2.start();
}
if(lei=="word"){
doc_trans doc=new doc_trans();
Thread t1 = new Thread(doc);
t1.start();
}
}
public static class doc_trans implements Runnable{
Document doc=new Document();
public void run() {
doc.loadFromFile(source);
BufferedImage[] images=doc.saveToImages(0,doc.getPageCount(),ImageType.Bitmap,70,70);
int i=0;
for(BufferedImage image: images)
{
File file= new File(dir+"\\"+String.format((pic+"-%d.JPG"), i));
try {
ImageIO.write(image, "JPG", file);
} catch (IOException e) {
e.printStackTrace();
}
i++;
}
if (b.subExists(myevent+"_finished")){
b.raiseEvent(b, myevent+"_finished","success");
System.out.println("output success");
}
}
}
public static class ppt_trans implements Runnable{
Presentation p= new Presentation();
[USER=69643]@override[/USER]
public void run() {
try {
p.loadFromFile(source);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
for (int i = 0; i < p.getSlides().getCount(); i++) {
BufferedImage image = p.getSlides().get(i).saveAsImage();
String fileName = String.format(dir+"/"+pic+"-%1$s.JPG", i);
try {
ImageIO.write(image, "JPG",new File(fileName));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (b.subExists(myevent+"_finished")){
b.raiseEvent(b, myevent+"_finished","success");
System.out.println("output success");
}
p.dispose();
}
}
}