java - 将 PDF 转换为 Word,包括链接
问题描述
我使用 document4j 库构建了一个 PDF 到 Word 转换器,但链接有问题。例如,在 PDF 文件中,您可以单击章节名称,它会立即跳转到那里,但在转换为 doc 文件后,不幸的是它不再起作用了。有谁知道如何将其添加到代码中?
import java.io.File;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
import com.documents4j.api.DocumentType;
import com.documents4j.api.IConverter;
import com.documents4j.job.LocalConverter;
public class App
{
final static String dir = "C:/Users/sakyildi/Desktop/fosTest/";
public static void main( String[] args )
{
File pdfFile = new File(dir + "Sandbox_TopLevelTopic.pdf");
File wordFile = new File(dir + "test.docx");
IConverter converter = LocalConverter.builder()
.baseFolder(new File(dir))
.workerPool(20, 25, 2, TimeUnit.SECONDS)
.processTimeout(5, TimeUnit.SECONDS)
.build();
Future<Boolean> conversion = converter
.convert(pdfFile).as(DocumentType.PDF)
.to(wordFile).as(DocumentType.DOCX)
.schedule();
System.out.println(wordFile.getPath());
try {
conversion.get();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ExecutionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
解决方案
这实际上是由 Word 控制的,而不是由 documents4j 控制的。Word 转换脚本需要许多参数,也许其中一个可以启用此行为。您可以通过命令行参数设置自定义转换脚本以查看此处的工作原理。
推荐阅读
- google-sheets - 创建一个镜像平方数?
- python - numpy - 通过多个等式动态选择
- python-3.x - 如何“修复”使用 Pandas read_sql_query 进行 sql 查询后返回的对象类型
- c# - 如何按总人数和总价值在工人之间平均分配工作?
- c# - (已解决)如何在函数中创建可用于所有其他函数的变量?
- windows - 如何从以管理员身份运行的更新程序/脚本更新 Windows 任务计划程序任务
- python - 如何将一个模块内的类中的 pyqtSignal 连接到另一个模块内的类中的 pyqtSlot?
- github - 删除分支并搞砸备份..需要恢复或跳下桥
- node.js - nodejs如何处理trycatch中的函数错误
- ios - SwiftUI:单一目标中的 iPhone、iPad、Mac