我正在尝试在中使用我定义的(更改的)样式
style=mp。getStyleDefinitionsPart()。getJaxbElement()
更改整个表格/单个表格单元格的样式。我通过在RPr runProperties中设置如下属性来实现:
在为表格单元格应用样式的方法中,我使用以下内容:
setFontFamily(runProperties,style.getFontFamily())
private static void setFontFamily(RPr runProperties, String fontFamily) {
if (fontFamily != null) {
RFonts rf = runProperties.getRFonts();
if (rf == null) {
rf = new RFonts();
runProperties.setRFonts(rf);
}
rf.setAscii(fontFamily);
}
}
其他样式属性(如字体大小、颜色等)也是如此,所有这些都有效,但。。。问题是,我用它来动态生成捷克语文档,捷克语有:š、č、ř、ž、ý等字符,我使用Verdana字体作为表格单元格内容,当我用这种方式设置字体时,它只应用与捷克特殊字符不同的字符。
例如,当我将字符串“Pavlovský”生成到新的docx中时,“Pavlovsk”是Verdana字体(如设置的那样),而“ý”字符是Calibri字体。
即使我只是简单地使用
wordMLPackage。getMainDocumentPart()。addStyledParagraphOfText(“正常”、“正常”、“不正常”)
-所有内容都更改为Calibri(当我打开docx时,段落的样式是正常的-字体Verdana…如我的代码中设置的)
我甚至试着把语言设置成这样
StyleDefinitionsPart styles = mp.getStyleDefinitionsPart ();
Style defaultCharacterStyle = styles.getDefaultCharacterStyle();
extracted(defaultCharacterStyle);
Style defaultParagraphStyle = styles.getDefaultParagraphStyle();
extracted(defaultParagraphStyle);
Style defaultTableStyle = styles.getDefaultTableStyle();
extracted(defaultTableStyle);
哪里:
private static void extracted(Style style) {
RPr rPr = style.getRPr();
if (rPr!=null) {
CTLanguage lang = factory.createCTLanguage();
lang.setVal("cs-CZ");
lang.setEastAsia("cs-CZ");
lang.setBidi("ar-SA");
rPr.setLang(lang);
style.setRPr(rPr);
} else {
rPr = factory.createRPr();
CTLanguage lang = factory.createCTLanguage();
lang.setVal("cs-CZ");
lang.setEastAsia("cs-CZ");
lang.setBidi("ar-SA");
rPr.setLang(lang);
style.setRPr(rPr);
}
}
我会感谢任何提示!提前感谢!
我也面临同样的问题。我的解决方案是:设置所有类型的字体
rf.setAscii(fontFamily);
rf.setCs(fontFamily);
rf.setHAnsi(fontFamily);
看看org。docx4j。字体。RunFontSelector。JAVA
这让docx4j能够理解Word如何决定给定字符使用的字体。
我想在您的例子中,rFonts元素上的hAnsi属性才是最重要的。
为什么不解压缩Word中创建的docx,然后查看XML?
问题内容: 我正在使用React 和开发一个多语言应用程序。 我通过以下方式初始化i18next: 而且我实现了一个语言选择器,该选择器仅将中的值更改为用户选择的值。 这是正确的做法吗? 我问,因为即使这可行,但我仍然感觉自己在通过设置进行“欺骗”,并且我没有按原样使用语言检测。 问题答案: 根据文档,您不需要自己指定语言: 而根据这片源中,它的确使用了插件的检测能力: 这是正确的做法吗? 所以,
问题内容: 我正在尝试实现可以更改应用程序语言的功能。 我试图这样设置: 在应用重启后,语言仍然是“系统默认值”。 现在,我通过设置来测试不同的语言。 但是,用户是否可以单击按钮,然后在重新启动后查看选择的语言? 另外,执行此操作以避免在重新启动时更改语言的正确方法是什么? 问题答案: 是的,您可以立即更改应用语言,例如, 使用您的NSUserDefaults值来设置语言。
使用一种语言比另外一种语言更流利?请为您的 Creative Cloud 应用程序选择其他语言。 选择您的操作系统筛选依据:所有系统较新的系统:Mac OS 10.7、Windows 7 或更高版本较旧的系统:Mac OS 10.6、Windows Vista 或更早版本 较新的系统:Mac OS 10.7、Windows 7 或更高版本 使用 Adobe Creative Cloud 桌面应用程
我有一个docx文件,带有Calibri Light的Heading1样式(每隔一个文本也使用Calibri Light)。转换为html后,每个文本都是Calibri Light(正确),但当我打开html文件时,Heading1样式的文本是Times New Roman。(原因:html文件内部没有为Heading1样式设置字体系列) 当我打开docx文件并检查Heading1样式的字体时,它
我正在使用VS Code编辑多种语言(主要是Ruby、PHP和Javascript)的项目,对于每种语言,我们有不同的缩进模型(空格/制表符和宽度)。看起来VS Code支持这一点,因为它允许将和设置为,这是每种语言的定义。 但是当看起来要做我想要的事情时,在模式下总是插入空格。 我试图找到可以编辑每种语言配置的位置,但没有找到这样的设置。我还查看了下的语言目录,但未能找到指定这些功能的内容。 知
问题内容: 我希望使用该类来更改Java中文件的时间戳记元数据。 我想更改所有3个Linux / ext4时间戳(最后修改,访问和更改)。 我可以按如下方式更改前两个时间戳字段: 但是,我无法修改文件的最后一次 更改: 时间。同样,值得关注的是文档中没有提到更改时间戳。最接近的可用属性是,我尝试没有成功。 关于如何根据Java中的自定义时间戳修改文件元数据的任何想法? 谢谢! 问题答案: 我可以使