启动活动时docx4j错误

时间:2014-12-02 12:15:20

标签: java android docx4j

这可能很明显,但有人可以提供帮助。项目在运行时编译错误:

12-02 06:56:36.871: I/dalvikvm(1121): Could not find method org.docx4j.openpackaging.packages.WordprocessingMLPackage.createPackage, 
referenced from method com.example.datadevheadlines.DeclerationCreator.makeIt

12-02 06:56:36.871: W/dalvikvm(1121): VFY: unable to resolve static method 9664: Lorg/docx4j/openpackaging/packages/WordprocessingMLPackage;.createPackage ()
Lorg/docx4j/openpackaging/packages/WordprocessingMLPackage;

12-02 06:56:36.881: D/dalvikvm(1121): VFY: replacing opcode 0x71 at 0x002c

12-02 06:56:36.881: W/dalvikvm(1121): VFY: unable to resolve exception class 1281 (Lorg/docx4j/openpackaging/exceptions/InvalidFormatException;)

12-02 06:56:36.881: W/dalvikvm(1121): VFY: unable to find exception handler at addr 0x42

12-02 06:56:36.881: W/dalvikvm(1121): VFY:  rejected Lcom/example/datadevheadlines/DeclerationCreator;.makeIt (Landroid/view/View;)V

12-02 06:56:36.921: W/dalvikvm(1121): VFY:  rejecting opcode 0x0d at 0x0042

12-02 06:56:36.921: W/dalvikvm(1121): VFY:  rejected Lcom/example/datadevheadlines/DeclerationCreator;.makeIt (Landroid/view/View;)V

12-02 06:56:36.921: W/dalvikvm(1121): Verifier rejected class Lcom/example/datadevheadlines/DeclerationCreator;

12-02 06:56:36.921: W/dalvikvm(1121): Class init failed in newInstance call (Lcom/example/datadevheadlines/DeclerationCreator;)

所有docx4j和依赖项都在用户库中。<​​/ p>

我想我已经通过将jar复制到/ lib文件夹中解决了错误,现在我收到以下错误:

转换为Dalvik格式失败,错误1.我尝试运行的代码是:

        WordprocessingMLPackage wordMLPackage = null;
    try {
        wordMLPackage = WordprocessingMLPackage.createPackage();
    } catch (InvalidFormatException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }
    wordMLPackage.getMainDocumentPart().addParagraphOfText("Hello Word!");
    try {
        String path = Environment.getExternalStorageDirectory().toString() + "/HelloWord1.docx";
        File file = new File(path);
        try {
            file.createNewFile();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }           
        wordMLPackage.save(file);
    } catch (Docx4JException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

UPDATE !!!!!!!!!!!!

我放弃了doc4jx,并且不想支付itext,所以使用PrintedPdfDocument作为我想要的文件是一个固定模板,足以满足我的需求。任何动态都是一个问题。基本上使用布局框架作为画布,并将我的所有文本和标题定位为相关,然后将其打印为pdf。

我发现的一个问题是,文本的可见大小意味着A4 pdf一个单词会覆盖页面的一大块,所以我必须制作文本4sp和7sp,以便它完全适合并且必须有一个没有填充活动框架的中心化布局框架。

有人知道将布局缩放到A4尺寸的简单方法,而不必将其缩小为缩小预览吗?

1 个答案:

答案 0 :(得分:0)

嗯,显然依赖项出了问题。你是怎么包括一切的?也许可以和Maven一起尝试,然后应该包含所有内容。

所有进口都是正确的吗?我发现有些类名用在不同的包中,也许你在某个地方选错了?你有我们的代码片段吗?