2017-03-09 11 views
0

異なるオペレーティングシステム(MacとWindows)を持つマルチユーザーオフィスのWordテンプレートをセットアップする必要があります。私はMac用のOffice 2016を持っており、フォントを.docx/.dotxコンテナに埋め込むことはできません。Word文書にカスタムフォントを追加する

私のカスタムフォントを何とか手動でコンテナに追加できますか?私はテストファイルを作成し、実際のXMLファイルを参照してそれを解凍した。私は言葉/ 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

私はあなたが

  1. 、次の方法でこれを行うことができるかもしれないと思うあなたが(APIのrange.getOoxml()機能を使用して)必要なフォントを使用して空白のドキュメントのOOXMLを取得します。事前に必要なフォントを手動で集約します。
  2. このOOXMLを格納し、必要に応じて新しい文書に挿入します(range.insertOoxml()メソッドを使用)
  3. OOXMLをフォントと共に挿入したら、range.font.name = "フォント名"

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(); 
 
       
 

 
     });

関連する問題