【问题标题】:docx4j errors when starting activity开始活动时出现 docx4j 错误
【发布时间】:2015-01-30 16:31:21
【问题描述】:

这可能很明显,但有人可以帮忙。项目编译正常运行时出现错误:

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 和依赖 jar 都在一个用户库中。

我想我已经通过将 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();
    }

更新!!!!!!!!!!!!

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

我发现的一个问题是,让 A4 pdf 上的可见大小的文本一个单词会覆盖页面的很大一部分,因此我必须将文本设置为 4sp 和 7sp 以使其完美契合,并且必须有一个未填充活动框架的居中布局框架。

有人知道将布局缩放到 A4 大小而无需将其缩小为缩小预览的更简单方法吗?

【问题讨论】:

    标签: java android docx4j


    【解决方案1】:

    嗯,显然依赖项有问题。你是如何包含所有内容的?或许可以用 Maven 试试,那么应该包含所有内容。

    所有的导入都正确吗?我发现有些类名在不同的包中使用,也许你在某个地方选错了?您有我们的代码 sn-p 吗?

    【讨论】:

    • 我从docx4java.org/downloads.html 下载了zip 解压缩了内容,并通过创建一个名为docx4j 的用户库将它们添加到项目的构建路径中。我尝试使用 maven,但是当我使用帮助“安装新软件”选项将软件添加到 eclipse 中时,它说文件丢失。我很快就会把代码放到这里
    • 我在本教程中做对了:docx4java.org/blog/2011/10/hello-maven-central
    • 这里也是 pom.xml 中的部分: org.docx4jdocx4j3.2.1依赖>
    • 当我尝试安装 maven 时,我得到这个:无法完成安装,因为找不到一个或多个必需的项目。正在安装的软件:m2e - slf4j over logback 日志记录(可选)1.5.0.20140606-0033 (org.eclipse.m2e.logback.feature.feature.group 1.5.0.20140606-0033)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-06
    • 1970-01-01
    • 1970-01-01
    • 2012-04-02
    相关资源
    最近更新 更多