问题标签 [documents4j]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
674 浏览

java - 如何在linux上使用documents4j?

我正在windows上开发spring mvc web项目,我的服务器安装在linux上。我正在使用documents4j将docx文件转换为pdf文件,它在windows上运行良好,但是当我将代码放到服务器上时它不起作用,因为我的服务器在linux上。documents4j 可以在 linux 上运行吗?或者我可以使用哪个库来代替documents4j?

0 投票
0 回答
215 浏览

documents4j - Documents4j - RemoteConverter 输入无效

我们尝试使用 Documents4j 将 docx 转换为 pdf。

我已经使用 LocalConverter 进行了尝试,它可以按预期完美运行。但是当我尝试使用 RemoteConverter 运行时,遇到错误“com.documents4j.throwables.ConversionInputException:输入文件似乎已损坏”。同一文件在同一台机器上的 LocalConverter 中工作

要运行 RemoteConverter:

  1. java -jar **\Downloads\documents4j-server-standalone-1.1.3-shaded.jar http://127.0.0.1:9998 -log **\Downloads\Documents4jlog.txt -level DEBUG

  2. java -jar **\Downloads\documents4j-client-standalone-1.1.3-shaded.jar http://127.0.0.1:9998 -log **\Downloads\Documents4jlogClient.txt

错误:com.documents4j.throwables.ConversionInputException:发送的输入无效

以下是服务器日志:

2020-06-05 18:11:04,939 INFO [pool-3-thread-2] cdcmsoffice.MicrosoftWordBridge - 请求从 C:\Users\DIVYAL~2\AppData\Local\Temp\1591360694906-0\5b54b28b-b20d- 进行转换4f41-9647-18b89f154c28\temp3 (application/msword) 到 C:\Users\DIVYAL~2\AppData\Local\Temp\1591360694906-0\5b54b28b-b20d-4f41-9647-18b89f154c28\temp4 (application/pdf) 2020- 06-05 18:11:04,939 调试 [pool-3-thread-2] org.zeroturnaround.exec.ProcessExecutor - 执行 [cmd, /S, /C, ""C:\Users\DIVYAL~2\AppData\Local \Temp\1591360694906-0\word_convert1288062732.vbs" "C:\Users\DIVYAL~2\AppData\Local\Temp\1591360694906-0\5b54b28b-b20d-4f41-9647-18b89f154c28\temp3" "C:\Users\DIVYAL ~2\AppData\Local\Temp\1591360694906-0\5b54b28b-b20d-4f41-9647-18b89f154c28\temp4" "17""] 在 C:\Users\DIVYAL~2\AppData\Local\Temp\1591360694906-0 中。2020-06-05 18:11:04,952 调试 [pool-3-thread-2] org.zeroturnaround.exec.ProcessExecutor - 启动 java.lang.ProcessImpl@8f30115 2020-06-05 18:11:05,189 调试 [WaitForProcess- java.lang.ProcessImpl@8f30115] org.zeroturnaround.exec.WaitForProcess - java.lang.ProcessImpl@8f30115 停止并退出代码 -2 2020-06-05 18:11:05,196 INFO [pool-3-thread-2] cdweAsynchronousConversionResponse - 为 org.glassfish.jersey.server.ServerRuntime$AsyncResponder@250891f5 com.documents4j.throwables.ConversionInputException 发送异常响应:输入文件在 com.documents4j.util.Reaction$ConversionInputExceptionBuilder.make(Reaction.java: 159) 在 com.documents4j.util.Reaction$ExceptionalReaction.apply(Reaction.java:75) 在 com.documents4j.conversion.ExternalConverterScriptResult.resolve(ExternalConverterScriptResult.java:70) 在 com.documents4j.conversion.ProcessFutureWrapper.get(ProcessFutureWrapper.java:36) 在 com.documents4j.conversion.ProcessFutureWrapper.get(ProcessFutureWrapper.java:48) 在 com.documents4j.conversion.ProcessFutureWrapper.evaluateExitValue(ProcessFutureWrapper.java:48) :11) 在 com.documents4j.job.AbstractFutureWrappingPriorityFuture.run(AbstractFutureWrappingPriorityFuture.java:78) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:617) 在 java.lang.Thread.run(Thread.java:745)ProcessFutureWrapper.get(ProcessFutureWrapper.java:11) at com.documents4j.job.AbstractFutureWrappingPriorityFuture.run(AbstractFutureWrappingPriorityFuture.java:78) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent .ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread.run(Thread.java:745)ProcessFutureWrapper.get(ProcessFutureWrapper.java:11) at com.documents4j.job.AbstractFutureWrappingPriorityFuture.run(AbstractFutureWrappingPriorityFuture.java:78) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent .ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread.run(Thread.java:745)


请让我知道,如果我遗漏了什么......

提前致谢

0 投票
1 回答
270 浏览

documents4j - documents4j - docx 到 pdf 生成问题

我使用一个简单的 java 代码将 doxc 生成为 PDF。用于会话的库是documents4j。

相同的代码在一台机器上运行,而不是在另一台机器上运行。另一台机器总是出现“com.documents4j.throwables.ConversionInputException:输入文件似乎已损坏”错误。

VB脚本出现问题:如果我删除“dummy-password-to-avoid-lock”字符串,它工作正常。发生错误:设置 wordDocument = wordApplication.Documents.Open(inputFile, False, True, False, "dummy-password-to-avoid-lock")

生成 PDF 精细:设置 wordDocument = wordApplication.Documents.Open(inputFile, False, True, False)

是否有可能从 java 代码更改 VBSscript?

例如转换器?IConverter 转换器 = LocalConverter.builder().setVBScript().build(); ?

0 投票
1 回答
574 浏览

java - java.lang.IllegalAccessError:类 org.slf4j.LoggerFactory 试图访问私有字段 org.slf4j.impl.StaticLoggerBinder.SINGLETON

我正在尝试使用documents4j 将MS word 转换为PDF。使用java程序,通过cmd编译和运行代码,文件生成没有问题。

但是,当我在 tomcat 上运行相同的文件时,出现以下错误:

所有 jar 文件都具有相同的版本,并且如前所述在 cmd 上编译/运行。

slf4j-api 1.7.28。slf4j-log4j12 1.7.28。slf4j-简单 1.7.28。

你能告诉我我错过了什么吗?

0 投票
2 回答
683 浏览

java - 转换后documents4j不保存文件

我已经使用documents4j将.docx文件转换为.pdf,但是即使日志显示转换成功,pdf也没有显示。

调试还显示以下内容:

为什么pdf没有显示在目录中?

程序片段

添加conversion.get() 会引发以下错误

0 投票
1 回答
593 浏览

java - 在linux中使用java将RTF转换为PDF格式

我创建了一个 Java 代码来将 RTF 格式的文档转换为 PDF 格式。程序在 Windows 中正常运行。但它在linux中给出了错误。有人可以告诉我这段代码的问题吗?

Java代码:

我使用documents4j 1.1.3 版来实现这段代码。

以下错误在linux环境中给出:

0 投票
1 回答
344 浏览

android-studio - Android App中的Documents4j java库将Docx转换为Pdf

我正在尝试 在我的 Android 应用程序中使用Documents4j java 库将 Docx 格式文档转换为 PDF 文件,但输出的 pdf 文件已损坏或损坏。输出 pdf 文件为 0 字节的空文件。我正在使用以下代码将 Docx 转换为 pdf。

0 投票
2 回答
65 浏览

maven - 为什么documents4j使用maven运行测试会出现错误

我使用documents4j将docx转换为PDF,在IDEA中运行时,一切都找到了,但是当我用maven或jenkins运行测试时,出现错误:

我的 pom.xml 是这样的:

0 投票
2 回答
77 浏览

java - 当独立服务器以管理员权限启动时,客户端转换失败

我正在使用 Windows 10 上的阴影 jar 测试各种使用 Documents4j 的方法。我使用以下内容:

在客户端控制台中,我输入 0 和完整的文件路径,即C:\temp2\Sample.docx

然后显示此消息:预定转换:C:\temp2\Sample.docx -> C:\temp2\Sample.docx.txt

当独立服务器以登录用户身份启动时转换成功,但以管理员权限启动时失败(未生成转换文件)。

以下是日志摘录(附件):

客户端日志

服务器日志

此外,启动独立客户端时会出现这些警告:

0 投票
1 回答
145 浏览

java - 将 Java 代码转换为 C# httpClient POST 自定义请求到转换服务器

我有一个使用 Java 的示例工作解决方案,但我需要一个可以从遗留数据库系统调用的 C# 解决方案。

所以基本上创建一个带有自定义标题的请求,加载一个 Word 文档,然后发送请求。然后,服务器将转换 Word 文档并返回 PDF,然后需要将其保存到磁盘。

有人可以帮忙吗。

Java 代码

以下是我一直在使用的 C# 代码 [注意尚未尝试保存返回的 PDF] - 下面是服务器响应:

Http 响应:

替代解决方案 restSharp

我今天取得了一些进展,并设法在 restSharp 中创建了一个基本的工作解决方案。这源于调查 Postman 中的工作方式并从生成的代码片段开始。挑战在于识别源文档以便可以上传(对于每个文件参数的用途似乎有点混乱):