美好的一天,每個人。適用於Aspose.Words for .NET中的insertedHTML的wordstyles
如何將預定義的Word文檔樣式應用於插入的HTML?
像:
builder.InsertHTML(post.Title)
// apply style from document "Media-title"
builder.InsertHTML(post.Content)
// apply style "Media-content"
美好的一天,每個人。適用於Aspose.Words for .NET中的insertedHTML的wordstyles
如何將預定義的Word文檔樣式應用於插入的HTML?
像:
builder.InsertHTML(post.Title)
// apply style from document "Media-title"
builder.InsertHTML(post.Content)
// apply style "Media-content"
請注意使用useBuilderFormatting的InsertHtml()重載將不會覆蓋具有內聯樣式的HTML文本樣式。您可以實施INodeChangingCallback以將樣式/格式應用於HTML文本。請查看以下代碼片段以供參考。
public static void HtmlFormatting()
{
// Create a blank document object
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Set up and pass the object which implements the handler methods.
doc.NodeChangingCallback = new HandleNodeChanging_FontChanger();
// Insert sample HTML content
builder.InsertHtml("<p>Hello World</p>");
doc.NodeChangingCallback = null;
builder.InsertHtml("<p>Some Test Text</p>");
doc.Save(@"Out.docx");
}
public class HandleNodeChanging_FontChanger : INodeChangingCallback
{
// Implement the NodeInserted handler to set default font settings for every Run node inserted into the Document
void INodeChangingCallback.NodeInserted(NodeChangingArgs args)
{
// Change the font of inserted text contained in the Run nodes.
if (args.Node.NodeType == NodeType.Run)
{
Run run = (Run)args.Node;
Console.WriteLine(run.Text);
run.Font.StyleName = "Intense Emphasis";
// Aspose.Words.Font font = ((Run)args.Node).Font;
// font.Size = 24;
// font.Name = "Arial";
}
}
void INodeChangingCallback.NodeInserting(NodeChangingArgs args)
{
// Do Nothing
}
void INodeChangingCallback.NodeRemoved(NodeChangingArgs args)
{
// Do Nothing
}
void INodeChangingCallback.NodeRemoving(NodeChangingArgs args)
{
// Do Nothing
}
}
我使用Aspose作爲開發者傳播者。
嘛,一對夫婦找到解決辦法了幾個小時之後,我得到這個工作:
builder.ParagraphFormat.ClearFormatting();
builder.ParagraphFormat.Style = styles["word_style1"];
builder.Writeln(post.Title);
builder.InsertParagraph();
builder.ParagraphFormat.Style = styles["word_style2"];
builder.InsertHtml(post.Annotation, true);
builder.InsertParagraph();
builder.ParagraphFormat.Style = styles["word_style3"];
builder.InsertHyperlink(post.Url, post.Url, false);
PS:我希望有任何變通辦法或改進做得更好。
謝謝你的回答,你的解決方案有更多的樣式選擇。另外,除[this](https://apireference.aspose.com/)之外,是否有任何好的aspose api參考,因爲它沒有太多的信息。 P.S .:如果我可以問你幾個aspose features direclty,那你會不會介意給我一個聯繫電子郵件或其他東西? – Max
@Max,對於API參考不能幫助您的不便,我們深表歉意。我們將非常感謝您的反饋,並會改進它。此外,請隨時在stackoverflow或[Aspose論壇](https://www.aspose.com/community/forums/aspose.words-product-family/75/showforum.aspx)上尋求進一步協助。 –