gpt4 book ai didi

java - 从代码中合并两个 .odt 文件

转载 作者:搜寻专家 更新时间:2023-10-30 21:34:26 26 4
gpt4 key购买 nike

如何合并两个 .odt 文件?手动执行此操作,打开每个文件并复制内容是可行的,但不可行。

我已尝试使用 odttoolkit Simple API (simple-odf-0.8.1-incubating) 来完成该任务,创建一个空的 TextDocument 并将所有内容合并到其中:

private File masterFile = new File(...);

...

TextDocument t = TextDocument.newTextDocument();
t.save(masterFile);

...

for(File f : filesToMerge){
joinOdt(f);
}

...

void joinOdt(File joinee){
TextDocument master = (TextDocument) TextDocument.loadDocument(masterFile);
TextDocument slave = (TextDocument) TextDocument.loadDocument(joinee);
master.insertContentFromDocumentAfter(slave, master.getParagraphByReverseIndex(0, false), true);
master.save(masterFile);
}

这工作得相当好,但是它丢失了有关字体的信息 - 原始文件是 Arial Narrow 和 Windings(用于复选框)的组合,输出 masterFile 全部在 TimesNewRoman 中。起初我怀疑 insertContentFromDocumentAfter 的最后一个参数,但将其更改为假中断(几乎)所有格式。难道我做错了什么?还有其他办法吗?

最佳答案

我认为这是“按设计工作”。

我用一个全局文档试过一次,它导入文档并按原样显示它们...只要段落样式有不同的名称!

使用相同命名的模板会被“主”文档所具有的值覆盖。

所以我最终克隆了具有唯一(每个文档)名称的标准样式。

HTH

关于java - 从代码中合并两个 .odt 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25200764/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com