Я немного изучил формат файла docx.Очевидно, я не могу говорить конкретно о файле, который вы используете ... но я подумал, что вас может заинтересовать то, что я нашел.
Если вы создаете копию файла docx и даете ей расширение .zipЗатем вы можете извлечь содержимое документа.В моем случае, и, вероятно, в вашем, основная часть документа находится в извлеченном файле [Extraction Base Path]\word\document.xml
.
Следующий фрагмент кода XML, который применяется к первой ячейке таблицы (для документа, который я создал):
<w:tc>
<w:tcPr>
<w:tcW w:w="3192" w:type="dxa"/>
</w:tcPr>
<w:p w:rsidR="006C4430" w:rsidRPr="006C4430" w:rsidRDefault="006C4430">
<w:pPr>
<w:rPr>
<w:rFonts w:ascii="Ariel" w:hAnsi="Ariel"/>
<w:sz w:val="28"/>
<w:szCs w:val="28"/>
</w:rPr>
</w:pPr>
<w:bookmarkStart w:id="0" w:name="First"/>
<w:bookmarkEnd w:id="0"/>
<w:r w:rsidRPr="006C4430">
<w:rPr>
<w:rFonts w:ascii="Bauhaus 93" w:hAnsi="Bauhaus 93"/>
<w:sz w:val="28"/>
<w:szCs w:val="28"/>
</w:rPr>
<w:t>Here is some text</w:t>
</w:r>
</w:p>
</w:tc>
Как видите, теги w:bookmarkStart
и w:bookmarkEnd
находятся вне фактического содержимого таблицы (которое выглядит как тег w: r после закладки).Это произошло, хотя я выбрал все содержимое ячейки перед созданием закладки.В результате я подозреваю, что при любом вызове bookmarkStart.InsertAfterSelf
, как вы видели, будут использоваться настройки шрифта по умолчанию, а не какие-либо настройки, связанные с ячейкой таблицы.Мне кажется, что вам нужно было бы либо перейти к циклу сразу после закладки, и вставить туда свой текст, либо скопировать настройки (предположительно содержимое тега w:rPr
) из следующего цикла в новый цикл, которыйВы создаете.
Надеюсь, это укажет вам правильное направление.Удачи!