Может кто-нибудь показать мне, как применить FontFamily/размер к AltChunk ТипаOpenXml-SDK: Как применять FontFamily/размер для AltChunk типа [TextPlain]
AlternativeFormatImportPartType.TextPlain
Это мой код, но я не могу 'T выяснить, как сделать это на всех (это не распространяется помощь даже Google)
MainDocumentPart main = doc.MainDocumentPart;
string altChunkId = "AltChunkId" + Guid.NewGuid().ToString().Replace("-", "");
var chunk = main.AddAlternativeFormatImportPart
(AlternativeFormatImportPartType.TextPlain, altChunkId);
using (var mStream = new MemoryStream())
{
using (var writer = new StreamWriter(mStream))
{
writer.Write(value);
writer.Flush();
mStream.Position = 0;
chunk.FeedData(mStream);
}
}
var altChunk = new AltChunk();
altChunk.Id = altChunkId;
OpenXmlElement afterThat = null;
foreach (var para in main.Document.Body.Descendants<Paragraph>())
{
if (para.InnerText.Equals("Notizen:"))
{
afterThat = para;
}
}
main.Document.Body.InsertAfter(altChunk, afterThat);
если я сделать это таким образом, я получаю «Courier New» с размером «10,5»
ОБНОВЛЕНИЕ
Это рабочее решение я придумал:
Преобразовать PLAINTEXT в формате RTF, изменять FontFamily/размер и применить его к WordProcessingDocument!
public static string PlainToRtf(string value)
{
using (var rtf = new System.Windows.Forms.RichTextBox())
{
rtf.Text = value;
rtf.SelectAll();
rtf.SelectionFont = new System.Drawing.Font("Calibri", 10);
return rtf.Rtf;
}
}
var chunk = main.AddAlternativeFormatImportPart
(AlternativeFormatImportPartType.Rtf, altChunkId);
using (var mStream = new MemoryStream())
{
using (var writer = new StreamWriter(mStream))
{
var rtf = PlainToRtf(value);
writer.Write(rtf);
writer.Flush();
mStream.Position = 0;
chunk.FeedData(mStream);
}
}
//proceed with creating AltChunk and inserting it to the Document...
Почему вы используете данный тип? –
потому что «значение» происходит из базы данных mssql и является открытым текстом, если я использую другой тип, который он вообще не работает, или я теряю «возврат каретки» и, таким образом, форматирование текста – makim
У меня слишком много работы, чтобы посмотреть его но, возможно, эта бесплатная книга содержит ответ: https://www.google.de/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CDYQFjAA&url=http%3A%2F%2Fopenxmldeveloper.org% 2Fcfs-filesystemfile.ashx% 2F__key% 2Fcommunityserver-компоненты-postattachments% 2F00-00-00-19-70% 2FOpen-XML-Explained.pdf & е = m8ExUuGnOoOphAexkYCYBA & USG = AFQjCNGN-Yb-6Hrv-ZqEJ9hfK_8lbnyd0w & Sig2 = p3cvSDnn05-ep9Jc_2na6g –