Я строю таблицу с помощью OpenXml и устанавливаю свойство Оправдание для каждой ячейки. На самом деле не имеет значения, где я присваиваю это свойство, либо в элементе Run, либо как TableCellProperty, когда документ открывается с помощью инструмента Productivity Tool для MS Office, элемент выравнивания всегда приходит как OpenXmlUnknownElement
. Это пример:OpenXml.WordProcessing.Justification всегда приходит как OpenXmlUnknownElement
TableCell tc = new tbl.TableCell();
tc.Append(new tbl.TableCellProperties(new tbl.Justification() { Val = tbl.JustificationValues.Right }));
текст оправдан, но при преобразовании файла DOCX в PDF, оправдание нет, и я предполагаю, что из-за этого OpenXmlUnknownElement
вопроса.
Edit: У меня есть проблема в том, что при установке Justification
недвижимости на ParagrahProperties
для пункта, это не делает выравнивание. Он работает только тогда, когда ParagrahProperties
является прямым потомком TableCell
:
tc.AppendChild<tbl.ParagraphProperties>(paragraphProperties);
Но тогда я получаю OpenXmlUnknownElement
. Если я добавлю свойства непосредственно к абзацу, я не получу OpenXmlUnknownElement
, но он не делает ошибку вообще
Спасибо, см. Мое редактирование для дальнейшей информации –
Прямой заказ table-> tableRow-> tableCell-> paragraph-> paragraphProperties. Это сработает. Я не думаю, что вы добавляете материал в правильном порядке. 'new Table (новый TableRow (новый TableCell (новый абзац (новый ParagraphProperties (новый Обоснование() {blah})))))'. Я не вижу, где вы определяете 'paragraphProperties'. – jn1kk
Спасибо, проблема в том, что у меня был Run, добавленный перед ParagrahProperties в абзаце –