当前位置: 首页 > 知识库问答 >
问题:

在 X 页面应用程序中使用文档 x4j

东郭元魁
2023-03-14

我正在尝试在XPages应用程序中安装docx4j开源java库,但迄今为止没有成功。我下载了docx4j-3.1.0.jar并将其添加到domino服务器和本地计算机上的\jvm\lib\ext文件夹中。我还使用Package Explorer视图将docx4j-3.1.0.jar添加到WebContent\WEB-INF\lib文件夹,然后右键单击.jar并选择“Build Path”-

在我用来测试的Java类中,我看到消息“此元素没有附加的源,并且在附加的Javadoc中找不到Javadoc。”我的代码如下:

package TESTPackage;

import org.docx4j.openpackaging.packages.WordprocessingMLPackage;

public class JavaDoc {

  public void createJavaDoc() {

    try {
      WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.createPackage();
      wordMLPackage.getMainDocumentPart().addParagraphOfText("Hello Word!");
      wordMLPackage.save(new java.io.File("C:\\Temp\\HelloWord1.docx"));

    } catch (Exception e) {
      e.printStackTrace();
    }

  }

}

还有什么建议吗?

共有2个答案

丁阳炎
2023-03-14

将jar添加到服务器上的jvm\lib\ext将意味着数据库中不再需要它。但是您需要将它添加到相关的位置,以便Domino Designer能够看到它。一旦完成,你不需要把它添加到NSF,但是你需要确保它在所有你放NSF的服务器上。

将其存储在服务器和其他位置的替代方法是将其放在WebContent\WEB-INF\lib中,但这样就不会费心查找服务器了。

听起来您附加了错误的jar文件。您附加了一个编译的jar。代码可以工作,但正如您发现的那样,您看不到Javadoc帮助。

您需要附加一个包含源文件的jar。然后您将看到Javadoc内容帮助

卫博学
2023-03-14

我可以通过XPage中的一个按钮在Notes客户端中运行您的代码。让这段代码工作需要几个步骤(Domino是一个可靠运行Java代码的痛苦平台):

> < li>

将docx4j及其依赖项添加到您的工作站/服务器的< code>lib\ext目录中(您在NSF中也不需要它们。事实上,从那里移除它们)。

编辑Domino JVM < code > Java . policy 文件,如下所示。(该文件通常位于< code>\jvm\lib\security下的安装目录中)。请注意,对于开发工作,可以将这一行添加到顶部,但是您不能将它投入生产:您需要通过通配符包名称或操作类型来关注允许的操作:

授予{权限java.security.AllPermission;}

重新启动笔记/多米诺设计器

构建你的项目。注意:如果你改成清理项目,请记住老式的包含Java文件(即在Domino 8.5.2或更早版本上直接放在NSF的local文件夹中的文件)将被删除,因此你需要重新创建它们。

运行您的帖子中的代码:现在应该生成文件。

您遇到的问题可能归结为两件事:(1)缺少依赖项;(2) Domino 中的安全设置,这些设置禁止所需的类装入和反射操作。

 类似资料:
  • 我在用一个垂直的图书馆。返回项目Reactor类型Mono的x应用程序。 我有一个verticle,它接收这种反应类型,并打算通过事件总线将内容发送到另一个verticle: 这是正确的方法吗?我应该换成垂直吗。在将消息发送到事件总线之前,x事件循环线程池?在一起使用这些库时,有什么我应该注意的吗?

  • 我正在寻找在java应用程序中禁用AWS X射线的选项,这样它就不会创建/记录任何片段。Java应用程序是在spring boot中构建的,并部署在EC2上 与全局记录器类似,它可以禁用采样并对所有传入请求进行检测。背后的原因是,我们的应用程序有时会部署到客户机AWS环境中,他们不希望启用跟踪。 我可以看到有选项可以禁用Xray为python(AWS_XRAY_SDK_ENABLEDhttps:/

  • 问题内容: 我正在尝试将一些用户文档链接到我的Java Swing应用程序。用户文档是pdf,我希望能够在应用程序中单击一个按钮,该按钮会打开某种pdf渲染器以显示我的userdoc.pdf。 我不想使用运行时exec命令 我尝试了以下方法,但收效不大- pdfRenderer-这似乎不适用于当前版本的pdf(似乎需要较旧的pdf) Acrobat Viewer-我一直遇到字体错误(显示文档,但是

  • 有人能告诉我如何使用docx4j将.dotx文件转换为.docx文件吗? 我当前使用的代码是:

  • 我试图理解我们什么时候需要使用这个应用程序。在我们的node Express中使用 当我在网上搜索时,我在reddit上偶然发现了这个答案,它说明了应用程序之间的区别。获取和应用程序。使用 在此基础上,我总结了以下几点。 充当超级路由或中间件?这意味着它在? 此外,如果有人能添加更多关于app.use.的信息/练习,我将不胜感激

  • 问题内容: 我有一个使用angularJS的单页Web应用程序。我需要打印某个页面的div。我尝试了以下方法: 该页面包含少量div(print.html) 控制器具有以下脚本: 此代码可打印所需的div,但存在问题。该语句代替了整个应用程序的主体,因为它是SPA。因此,当我刷新页面或再次单击“打印”按钮时,页面的全部内容将被删除。 问题答案: