有没有办法在PdfSharp/MigraDoc中将阴影应用于Paragraph
的零件(例如,只是一个词)?我尝试添加一个Style
,其阴影为Document
,然后将样式名称传递给AddFormattedText
方法,但它只从样式中获取字体信息。PdfSharp/MigraDoc - 如何遮挡部分段落
感谢,
有没有办法在PdfSharp/MigraDoc中将阴影应用于Paragraph
的零件(例如,只是一个词)?我尝试添加一个Style
,其阴影为Document
,然后将样式名称传递给AddFormattedText
方法,但它只从样式中获取字体信息。PdfSharp/MigraDoc - 如何遮挡部分段落
感谢,
我正在使用PdfSharp/MigraDoc从几个星期和之前正确回答您的问题我已阅读它的源代码,自由disponible。
简短的回答是:是不可能
的长答案是: 上的样式由AddFormattedText(string text, string style)
唯一考虑的部分是文字部分。然后,作为ParagraphFormat
的一部分的Shading
无法应用,并且由PdfSharp/MigraDoc进行渲染。
的编码答案是:
public FormattedText AddFormattedText(string text, string style)
{
FormattedText formattedText = AddFormattedText(text);
formattedText.Style = style;
return formattedText;
}
internal class FormattedTextRenderer : RendererBase
...
/// <summary>
/// Renders the style if it is a character style and the font of the formatted text.
/// </summary>
void RenderStyleAndFont()
{
bool hasCharacterStyle = false;
if (!this.formattedText.IsNull("Style"))
{
Style style = this.formattedText.Document.Styles[this.formattedText.Style];
if (style != null && style.Type == StyleType.Character)
hasCharacterStyle = true;
}
object font = GetValueAsIntended("Font");
if (font != null)
{
if (hasCharacterStyle)
this.rtfWriter.WriteControlWithStar("cs", this.docRenderer.GetStyleIndex(this.formattedText.Style));
RendererFactory.CreateRenderer(this.formattedText.Font, this.docRenderer).Render();
}
}
我希望这可以帮助你。 Davide。
你可以尝试加载你的风格的段落是这样的:
paragraph = section.AddParagraph();
paragraph.Style = "StyleName";
我个人没有使用遮阳的功能,但是这是我载入我的风格的方式,它的工作原理好。
虽然增加了一个新的段落。我正在寻找一种方法来改变段落的阴影部分,而不是整个段落本身。 – theburningmonk
你解决了这个问题吗?您可以使用一种解决方法,并尝试创建一个包含单个单词的新段落,或者只是“您的部分”,然后按照样式设置新段落。 – f1v3