我想打印一个用Apache POI编辑的excel表单。要按照格式打印它,我需要将文件转换为pdf,但由于jxcell
库,转换始终在内部失败。
这是我的代码
import com.jxcell.*;<br>
import java.io.File;<br>
import java.io.FileInputStream;<br>
import java.io.FileOutputStream;<br>
import java.io.IOException;<br>
import javax.swing.JFileChooser;<br>
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;<br>
import org.apache.poi.ss.usermodel.Workbook;<br>
import org.apache.poi.ss.usermodel.WorkbookFactory;<br>
public class PruebaPdf {
public static void main(String args[]){
View m_view = new View();
try
{
File file = new File(GetPath());
FileInputStream fis = null;
fis = new FileInputStream(file);
m_view.read(fis);
File file2 = new File(SavePath());
FileOutputStream fis2 = new FileOutputStream(file2);
m_view.exportPDF(fis2);
}
catch (CellException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
}
}
其中GetPath()
和SavePath()
为jFileChooser
showDialog
和showSaveDialog
我也试过
try {
m_view.read(GetPath());
m_view.exportPDF(SavePath())
}
因为它也接受字符串,但它不起作用
对于两者,我都会收到此错误
Exception in thread "main" java.lang.NoClassDefFoundError: com/itextpdf/text/pdf/FontMapper
at com.jxcell.View.exportPDF(KKLI)
at com.jxcell.View.exportPDF(KKLI)
at PruebaPdf1.main(PruebaPdf.java:[new Int line])
Caused by: java.lang.ClassNotFoundException: com.itextpdf.text.pdf.FontMapper
at java.net.URLClassLoader$1.run............
line = numberline where函数exportPDF
我没有使用itext
,所以我猜jxcell
正在内部使用它。问题是我不知道如何解决这个问题(除了寻找另一种方式来执行转换)