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

Apache POI docx:HTML作为altChunk

袁枫涟
2023-03-14

早上好
我想使用Apache POI将HTML作为altChunk添加到DOCX文件中。为了做到这一点,我遵循了这个答案

如何使用Apache POI向XWPFDocument添加altChunk元素

除了我的语言(意大利语)有一个特殊的特点外,一切都很好<我的情况如下:我有一个外部html文件。要导入,我使用以下代码

byte[] inputBytes = Files.readAllBytes(Paths.get("testo.html"));
String xhtml = new String(inputBytes, StandardCharsets.UTF_8);

然后,我使用stackoverflow答案中提供的代码生成docx<如果我解开拉链。docx在“word”文件夹下,我有一个正确的文件“chunk1.html”
如果我打开它,特殊字符会正确报告,例如

L'attività in oggetto è:

但是当我在Word中打开文档时,我看到了这个

L'attività in oggetto è: 

是否有我错过的相同的Microsoft配置
创建区块时是否需要指定字符集

共有1个答案

卜昂熙
2023-03-14

Microsoft似乎将ANSI作为WordHTML块的默认字符编码。这很烦人,因为整个另一个世界现在都将Unicode(UTF-8)作为默认值。

所以我们需要显式地为HTML设置字符集。在区块的HTMLdo的模板中:

...
  private MyXWPFHtmlDocument(PackagePart part, String id) throws Exception {
   super(part);
   this.html = "<!DOCTYPE html><html><head><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"><style></style><title>HTML import</title></head><body></body>";
   this.id = id;
  }
...

我建议这样做,而不是对HTML块使用ANSI编码。

在如何使用ApachePOI将altChunk元素添加到XWPFDocument中,我也将其编辑到了我的答案中。

 类似资料:
  • 问题内容: 我试图通过使用Action对象将功能与GUI应用程序中的状态分开。我已经成功地使用它们来创建具有相同功能的菜单项和按钮。 我的问题是:我希望菜单中的“退出”项和框架的关闭按钮都具有相同的操作。 目前,我已经可以通过将以下WindowListener添加到框架中来解决此问题: 有没有更简单,更直接的方法来做到这一点? 问题答案: 转发事件是很方便的,但你也可以使用,如在这里。 附录:下面

  • 我有一个流量endpoint,我提供给客户机(订户),以接收更新的价格。我正在测试它通过浏览器访问URL(http://localhost:8080/prices),它工作得很好。我面临的问题(我可能在这里遗漏了一些概念)是,当我在许多浏览器中打开这个URL,我希望在所有浏览器中都收到通知,但只有一个浏览器收到通知。它作为一个队列而不是一个主题工作(就像在message Brokers中一样)。那

  • 因此,我的任务是为客户端的Oracle Hyperion应用程序启用SSO。我使用的方法是基于自定义标头变量的SSO。 平联邦目前作为许多应用程序的SSO身份验证服务器存在,计划是在它(平馈SP)从Okta IDP检索属性/身份验证用户时使用它作为目标应用程序的SP。 我对这个过程相对较新,因为您可能已经猜到了,并且正在寻找有关如何配置的澄清: > SP 从 Pingfed 启动 SSO,并从 O

  • 问题内容: 我怎样才能得到 作为MySQL中的UTC / GMT?该日期在连接的时区中返回。 我不想更改连接的时区。 问题答案: 您最好提前设置时区: 原因是涉及本地时区的转换可能是有损的。这里的文档中有一个示例(请参阅以“注意:”开头的部分下的第4段)

  • 问题内容: 我有 如何在管理界面中将TextArea小部件分配给“ descr”字段? upd: 在管理界面中!使用ModelForm的好主意。 问题答案: 你将必须创建一个描述你希望如何显示该字段的表单,然后告诉你使用该表单。例如: 属性记录在官方Django文档中。