我需要为具有不同操作系统(Mac和Windows)的多用户办公室设置Word模板。我有Office 2016 for Mac,它不提供将字体嵌入.docx / .dotx容器的可能性。
我可以手动将某些自定义字体添加到容器中吗?我创建了一个测试文件并解压缩,因此我看到了实际的XML文件。我查看了word / fontTable.xml,但它只显示有关使用过的字体的信息:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<w:fonts xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" xmlns:w15="http://schemas.microsoft.com/office/word/2012/wordml" mc:Ignorable="w14 w15">
<w:font w:name="Calibri">
<w:panose1 w:val="020F0502020204030204"/>
<w:charset w:val="00"/>
<w:family w:val="auto"/>
<w:pitch w:val="variable"/>
<w:sig w:usb0="E00002FF" w:usb1="4000ACFF" w:usb2="00000001" w:usb3="00000000" w:csb0="0000019F" w:csb1="00000000"/>
</w:font>
<w:font w:name="DengXian">
<w:panose1 w:val="02010600030101010101"/>
<w:charset w:val="86"/>
<w:family w:val="auto"/>
<w:pitch w:val="variable"/>
<w:sig w:usb0="A00002BF" w:usb1="38CF7CFA" w:usb2="00000016" w:usb3="00000000" w:csb0="0004000F" w:csb1="00000000"/>
</w:font>
<w:font w:name="Times New Roman">
<w:panose1 w:val="02020603050405020304"/>
<w:charset w:val="00"/>
<w:family w:val="auto"/>
<w:pitch w:val="variable"/>
<w:sig w:usb0="E0002AEF" w:usb1="C0007841" w:usb2="00000009" w:usb3="00000000" w:csb0="000001FF" w:csb1="00000000"/>
</w:font>
<w:font w:name="Arial">
<w:panose1 w:val="020B0604020202020204"/>
<w:charset w:val="00"/>
<w:family w:val="auto"/>
<w:pitch w:val="variable"/>
<w:sig w:usb0="E0002AFF" w:usb1="C0007843" w:usb2="00000009" w:usb3="00000000" w:csb0="000001FF" w:csb1="00000000"/>
</w:font>
<w:font w:name="DengXian Light">
<w:panose1 w:val="02010600030101010101"/>
<w:charset w:val="86"/>
<w:family w:val="auto"/>
<w:pitch w:val="variable"/>
<w:sig w:usb0="A00002BF" w:usb1="38CF7CFA" w:usb2="00000016" w:usb3="00000000" w:csb0="0004000F" w:csb1="00000000"/>
</w:font>
<w:font w:name="Calibri Light">
<w:panose1 w:val="020F0302020204030204"/>
<w:charset w:val="00"/>
<w:family w:val="auto"/>
<w:pitch w:val="variable"/>
<w:sig w:usb0="A00002EF" w:usb1="4000207B" w:usb2="00000000" w:usb3="00000000" w:csb0="0000019F" w:csb1="00000000"/>
</w:font>
</w:fonts>
我想在容器中包含自定义字体并使用它,因此我在模板中包含的字体与模板所使用的机器无关。
有什么想法吗?
答案 0 :(得分:0)
我认为您可以通过以下方式执行此操作
getOOXML示例:
Word.run(function (context) {
//make sure you previously add the fonts you need!
var myOOXMLTest = context.document.body.getOoxml();
return context.sync()
.then(function () {
var returnOoxmlWithFonts = myOOXMLTest.value; // this is the OOXML you need to insert when you want to sue the fonts.
})
})
insertOOXML示例:
Word.run(function (ctx) {
ctx.document.getSelection().insertOoxml(OOXML, "replace"); // use the OOXML obtained before!
return ctx.sync();
});