How can I make my bullets larger in Open XML?

大城市里の小女人 提交于 2020-01-16 07:50:17

问题


I'm generating docx files using the Open XML SDK for .NET

The bullets in my lists are super tiny but I can't figure out why. So here's what I've done:

  1. Generating a doc with a single bulleted item
  2. Created a doc from Word with a single bulleted item
  3. Used Open XML Productivity Tools to compare both files
  4. Cannot for the life of me see any differences

If I click on the bullet in both, to where it shows the font and size, they are both the same! I don't see any differences in the numbering section of the xml, or anywhere for that matter. Perhaps I'm missing something elementary.

Here's some code for the numbering part:

  var abstractNumberId = part.Numbering.Elements<AbstractNum>().Count() + 1;
  var abstractNum = new AbstractNum { AbstractNumberId = abstractNumberId };
  if (initialIndent == 0)
  {
      initialIndent = 1;
  }

  var start1 = (initialIndent * 720);

  abstractNum.SetAttribute(new OpenXmlAttribute("w15", "restartNumberingAfterBreak", "http://schemas.microsoft.com/office/word/2012/wordml", "1"));
  var multiLevelType = new MultiLevelType { Val = MultiLevelValues.HybridMultilevel };
  var templateCode = new TemplateCode { Val = "48A2E570" };

  var level = new Level { LevelIndex = 0, TemplateCode = "0409000F" };
  var startNumberingValue = new StartNumberingValue { Val = 1 };
  var restartValue = new LevelRestart() { Val = 0 };
  var numberingFormat = new NumberingFormat { Val = NumberFormatValues.Bullet };
  var levelText = new LevelText { Val = "%1." };
  var levelJustification = new LevelJustification { Val = LevelJustificationValues.Left };
  var previousParagraphProperties = new PreviousParagraphProperties();
  var indentation = new Indentation { Start = start1.ToString(), Hanging = "360" };

  previousParagraphProperties.Append(indentation);

  level.Append(startNumberingValue);
  level.Append(numberingFormat);
  level.Append(restartValue);
  level.Append(levelText);
  level.Append(levelJustification);
  level.Append(previousParagraphProperties);

  abstractNum.Append(multiLevelType);
  abstractNum.Append(templateCode);
  abstractNum.Append(level);



  var numberId = part.Numbering.Elements<NumberingInstance>().Count() + 1;
  var numberingInstance = new NumberingInstance { NumberID = numberId };
  var abstractNumId = new AbstractNumId { Val = abstractNumberId };
  numberingInstance.Append(abstractNumId);


  if (abstractNumberId == 1)
  {
    part.Numbering.Append(abstractNum);
  }
  else
  {
    var lastAbstractNum = part.Numbering.Elements<AbstractNum>().Last();
    part.Numbering.InsertAfter(abstractNum, lastAbstractNum);
  }

  if (numberId == 1)
  {
    part.Numbering.Append(numberingInstance);
  }
  else
  {
    var lastNumberingInstance = part.Numbering.Elements<NumberingInstance>().Last();
    part.Numbering.InsertAfter(numberingInstance, lastNumberingInstance);
  }


  return numberId;

Here's the XML for the large bullet:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<w:document xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas" xmlns:cx="http://schemas.microsoft.com/office/drawing/2014/chartex" xmlns:cx1="http://schemas.microsoft.com/office/drawing/2015/9/8/chartex" xmlns:cx2="http://schemas.microsoft.com/office/drawing/2015/10/21/chartex" xmlns:cx3="http://schemas.microsoft.com/office/drawing/2016/5/9/chartex" xmlns:cx4="http://schemas.microsoft.com/office/drawing/2016/5/10/chartex" xmlns:cx5="http://schemas.microsoft.com/office/drawing/2016/5/11/chartex" xmlns:cx6="http://schemas.microsoft.com/office/drawing/2016/5/12/chartex" xmlns:cx7="http://schemas.microsoft.com/office/drawing/2016/5/13/chartex" xmlns:cx8="http://schemas.microsoft.com/office/drawing/2016/5/14/chartex" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:aink="http://schemas.microsoft.com/office/drawing/2016/ink" xmlns:am3d="http://schemas.microsoft.com/office/drawing/2017/model3d" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:w10="urn:schemas-microsoft-com:office:word" 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" xmlns:w16cid="http://schemas.microsoft.com/office/word/2016/wordml/cid" xmlns:w16se="http://schemas.microsoft.com/office/word/2015/wordml/symex" xmlns:wpg="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup" xmlns:wpi="http://schemas.microsoft.com/office/word/2010/wordprocessingInk" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml" xmlns:wps="http://schemas.microsoft.com/office/word/2010/wordprocessingShape" mc:Ignorable="w14 w15 w16se w16cid wp14">
 <w:body>
  <w:p w14:paraId="6279EAE9" w14:textId="5895C066" w:rsidR="008070A4" w:rsidRPr="009228DC" w:rsidRDefault="00281441" w:rsidP="00984CDF">
   <w:pPr>
    <w:pStyle w:val="ListParagraph"/>
    <w:numPr>
     <w:ilvl w:val="0"/>
     <w:numId w:val="5"/>
    </w:numPr>
    <w:ind w:left="0"/>
    <w:rPr>
     <w:rFonts w:cstheme="minorHAnsi"/>
    </w:rPr>
   </w:pPr>
   <w:bookmarkStart w:id="0" w:name="_GoBack"/>
   <w:bookmarkEnd w:id="0"/>
   <w:r w:rsidRPr="009228DC">
    <w:rPr>
     <w:rFonts w:cstheme="minorHAnsi"/>
    </w:rPr>
    <w:t>
     Large bullet
    </w:t>
   </w:r>
  </w:p>
  <w:sectPr w:rsidR="008070A4" w:rsidRPr="009228DC">
   <w:pgSz w:w="12240" w:h="15840"/>
   <w:pgMar w:top="1440" w:right="1440" w:bottom="1440" w:left="1440" w:header="720" w:footer="720" w:gutter="0"/>
   <w:cols w:space="720"/>
   <w:docGrid w:linePitch="360"/>
  </w:sectPr>
 </w:body>
</w:document>

And here's the xml for the small one:

    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<w:document xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas" xmlns:cx="http://schemas.microsoft.com/office/drawing/2014/chartex" xmlns:cx1="http://schemas.microsoft.com/office/drawing/2015/9/8/chartex" xmlns:cx2="http://schemas.microsoft.com/office/drawing/2015/10/21/chartex" xmlns:cx3="http://schemas.microsoft.com/office/drawing/2016/5/9/chartex" xmlns:cx4="http://schemas.microsoft.com/office/drawing/2016/5/10/chartex" xmlns:cx5="http://schemas.microsoft.com/office/drawing/2016/5/11/chartex" xmlns:cx6="http://schemas.microsoft.com/office/drawing/2016/5/12/chartex" xmlns:cx7="http://schemas.microsoft.com/office/drawing/2016/5/13/chartex" xmlns:cx8="http://schemas.microsoft.com/office/drawing/2016/5/14/chartex" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:aink="http://schemas.microsoft.com/office/drawing/2016/ink" xmlns:am3d="http://schemas.microsoft.com/office/drawing/2017/model3d" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:w10="urn:schemas-microsoft-com:office:word" 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" xmlns:w16cid="http://schemas.microsoft.com/office/word/2016/wordml/cid" xmlns:w16se="http://schemas.microsoft.com/office/word/2015/wordml/symex" xmlns:wpg="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup" xmlns:wpi="http://schemas.microsoft.com/office/word/2010/wordprocessingInk" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml" xmlns:wps="http://schemas.microsoft.com/office/word/2010/wordprocessingShape" mc:Ignorable="w14 w15 w16se w16cid wp14">
 <w:body>
  <w:p w14:paraId="6279EAE9" w14:textId="4866CD41" w:rsidR="008070A4" w:rsidRPr="009228DC" w:rsidRDefault="00221689" w:rsidP="008C6B6F">
   <w:pPr>
    <w:pStyle w:val="ListParagraph"/>
    <w:numPr>
     <w:ilvl w:val="0"/>
     <w:numId w:val="1"/>
    </w:numPr>
    <w:ind w:left="0"/>
    <w:rPr>
     <w:rFonts w:cstheme="minorHAnsi"/>
    </w:rPr>
   </w:pPr>
   <w:bookmarkStart w:id="0" w:name="_GoBack"/>
   <w:bookmarkEnd w:id="0"/>
   <w:r w:rsidRPr="009228DC">
    <w:rPr>
     <w:rFonts w:cstheme="minorHAnsi"/>
    </w:rPr>
    <w:t>
     This is a bulleted list
    </w:t>
   </w:r>
  </w:p>
  <w:sectPr w:rsidR="008070A4" w:rsidRPr="009228DC">
   <w:pgSz w:w="12240" w:h="15840"/>
   <w:pgMar w:top="1440" w:right="1440" w:bottom="1440" w:left="1440" w:header="720" w:footer="720" w:gutter="0"/>
   <w:cols w:space="720"/>
   <w:docGrid w:linePitch="360"/>
  </w:sectPr>
 </w:body>
</w:document>

回答1:


The formatting of bullets and numbers is defined in the w:abstractNum elements (or by their descendants to be precise) that are contained in the w:numbering root element of the NumberingDefinitionsPart. Your w:document root element of the MainDocumentPart could be completely identical. In your case, though, you should at least see that the w:numId elements have different w:val attribute values, meaning they are pointing to different numbering instances and related bullet definitions.

Thus, you need to set up your numbering definitions correctly and then reference that from your main document part.



来源:https://stackoverflow.com/questions/59668625/how-can-i-make-my-bullets-larger-in-open-xml

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!