org.artofsolving.jodconverter.office.OfficeManager 未在检票口中初始化
org.artofsolving.jodconverter.office.OfficeManager is not initializing in wicket
我已将我的应用程序从 Wicket 1.x 升级到 8.x 版本。
我在将 Excel 文件转换为 PDF 格式时遇到问题。
使用以下依赖项:
<dependency>
<groupId>net.sf.jodconverter</groupId>
<artifactId>jodconverter</artifactId>
<version>3.0-beta-4</version>
</dependency>
使用这些导入 类
import org.artofsolving.jodconverter.OfficeDocumentConverter;
import org.artofsolving.jodconverter.office.ExternalOfficeManagerConfiguration;
import org.artofsolving.jodconverter.office.OfficeConnectionProtocol;
import org.artofsolving.jodconverter.office.OfficeManager;
调用 buildOfficeManager() 方法时在此行出现以下错误。
OfficeManager officeManager = eomc.buildOfficeManager();
我在上面的行中收到以下异常:
java.lang.ClassNotFoundException: com.sun.star.connection.NoConnectException
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1358)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1180)
at org.artofsolving.jodconverter.office.ExternalOfficeManager.(ExternalOfficeManager.java:55)
at org.artofsolving.jodconverter.office.ExternalOfficeManagerConfiguration.buildOfficeManager(ExternalOfficeManagerConfiguration.java:50)
使用以下系统参数:
[openofficeHome=C:/Program Files/openoffice.org3, hostname=127.0.0.1, port=8100, protocol=SOCKET]
下面是更详细的代码:
ExternalOfficeManagerConfiguration eomcTest = new ExternalOfficeManagerConfiguration();
eomcTest.setConnectOnStart(true);
eomcTest.setConnectionProtocol(ooConfig.getProtocol());
if (OfficeConnectionProtocol.PIPE.equals(ooConfig.getProtocol())) {
eomcTest.setPipeName("officePipe");
} else {
eomcTest.setPortNumber(ooConfig.getPort());
}
OfficeManager officeManager = eomcTest.buildOfficeManager();
officeManager.start();
OfficeDocumentConverter officeDocConverter = new OfficeDocumentConverter(officeManager);
resultFile = File.createTempFile(sheetName, TypeOfFile.PDF.getFileExtension());
officeDocConverter.convert(tempFile, resultFile);
fout.close();
officeManager.stop();
任何人都可以让我知道为什么 buildOfficeManager() 在这里给出错误以及这里可以解决这个问题的解决方案是什么。会更有价值。
根据 https://search.maven.org/search?q=fc:com.sun.star.connection.NoConnectException,您需要添加 org.libreoffice:libreoffice
(或旧的 org.libreoffice:ridl
)对 Maven 的 pom.xml.
的依赖
我在 https://search.maven.org/search?q=jodconverter. You may try with a more recent version of it - probably any of the listed ones here: https://search.maven.org/search?q=g:org.jodconverter
没有看到 net.sf.jodconverter
我已经解决了这个问题,上面的代码可以很好地使用 jodconverter API.
将 excel 文件转换为 pdf 文件
在我的例子中,excel 文件和 pdf 文件都具有相同的名称,这导致问题 return 相同的 excel pdf 下载文件 link.更改pdf名称后,它解决了我的问题。
我已将我的应用程序从 Wicket 1.x 升级到 8.x 版本。
我在将 Excel 文件转换为 PDF 格式时遇到问题。
使用以下依赖项:
<dependency>
<groupId>net.sf.jodconverter</groupId>
<artifactId>jodconverter</artifactId>
<version>3.0-beta-4</version>
</dependency>
使用这些导入 类
import org.artofsolving.jodconverter.OfficeDocumentConverter;
import org.artofsolving.jodconverter.office.ExternalOfficeManagerConfiguration;
import org.artofsolving.jodconverter.office.OfficeConnectionProtocol;
import org.artofsolving.jodconverter.office.OfficeManager;
调用 buildOfficeManager() 方法时在此行出现以下错误。
OfficeManager officeManager = eomc.buildOfficeManager();
我在上面的行中收到以下异常:
java.lang.ClassNotFoundException: com.sun.star.connection.NoConnectException at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1358) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1180) at org.artofsolving.jodconverter.office.ExternalOfficeManager.(ExternalOfficeManager.java:55) at org.artofsolving.jodconverter.office.ExternalOfficeManagerConfiguration.buildOfficeManager(ExternalOfficeManagerConfiguration.java:50)
使用以下系统参数:
[openofficeHome=C:/Program Files/openoffice.org3, hostname=127.0.0.1, port=8100, protocol=SOCKET]
下面是更详细的代码:
ExternalOfficeManagerConfiguration eomcTest = new ExternalOfficeManagerConfiguration();
eomcTest.setConnectOnStart(true);
eomcTest.setConnectionProtocol(ooConfig.getProtocol());
if (OfficeConnectionProtocol.PIPE.equals(ooConfig.getProtocol())) {
eomcTest.setPipeName("officePipe");
} else {
eomcTest.setPortNumber(ooConfig.getPort());
}
OfficeManager officeManager = eomcTest.buildOfficeManager();
officeManager.start();
OfficeDocumentConverter officeDocConverter = new OfficeDocumentConverter(officeManager);
resultFile = File.createTempFile(sheetName, TypeOfFile.PDF.getFileExtension());
officeDocConverter.convert(tempFile, resultFile);
fout.close();
officeManager.stop();
任何人都可以让我知道为什么 buildOfficeManager() 在这里给出错误以及这里可以解决这个问题的解决方案是什么。会更有价值。
根据 https://search.maven.org/search?q=fc:com.sun.star.connection.NoConnectException,您需要添加 org.libreoffice:libreoffice
(或旧的 org.libreoffice:ridl
)对 Maven 的 pom.xml.
我在 https://search.maven.org/search?q=jodconverter. You may try with a more recent version of it - probably any of the listed ones here: https://search.maven.org/search?q=g:org.jodconverter
没有看到 net.sf.jodconverter我已经解决了这个问题,上面的代码可以很好地使用 jodconverter API.
将 excel 文件转换为 pdf 文件在我的例子中,excel 文件和 pdf 文件都具有相同的名称,这导致问题 return 相同的 excel pdf 下载文件 link.更改pdf名称后,它解决了我的问题。