SQLデータベースからのデータセットを使用して差し込み印刷を実行しています。私は取得していたデータが、その中にいくつかのHTMLマークアップを使用してデータベースに格納され、例:私の差し込みフィールドのメールマージhtml形式のテキストをデータベースからワード文書に変換する
一つは、このテキストが含まれています。
<ul><li><strong>Bullet Title 1</strong>Bullet content 1.</li><li><strong>Bullet Title 2</strong>Bullet content 2.</li></ul>
私の差し込みフィールドのもう一つは、このテキストが含まれています。
<strong>List of employees</strong><br />First Name< br />Second Name<br />Third Name
今の私はSpire.Docを使用していますが、文書のレンダリング時に、フィールドではなく、フォーマットされたテキストをレンダリングするHTMLタグを示しています。
Public Shared Sub FieldMerge(ByVal ds As DataSet, ByRef doc As Document)
'**********************************
'Merging
'**********************************
Dim fieldNames As New List(Of String)()
Dim fieldValues As New List(Of String)()
For Each dtcolumn As DataColumn In ds.Tables(0).Columns
'Add the values to the list of string
fieldNames.Add(dtcolumn.ColumnName)
'**** THIS TEXT COULD HAVE SOME HTML TAGS - HOW TO RENDER THIS IN THE MERGE FIELD???? *****'
fieldValues.Add(ds.Tables(0).Rows(0)(dtcolumn.ColumnName).ToString)
Next
Dim fieldNamesArray As String() = fieldNames.ToArray()
Dim fieldValuesArray As String() = fieldValues.ToArray()
'Execute the merge
doc.MailMerge.Execute(fieldNamesArray, fieldValuesArray)
End Sub
を私が代わりにhtmlタグのフォーマットされたテキストを表示するために、マージフィールドを達成するにはどうすればよい:
以下は、私が使用しているコードのですか?どんなアドバイスも大歓迎です。
Public Shared Sub FieldMerge(ByVal ds As DataSet, ByRef doc As DocumentModel)
AddHandler doc.MailMerge.FieldMerging,
Sub(sender, e)
If e.FieldName = "MyField" Then
e.Field.Content.End.LoadText(e.Value.ToString(), LoadOptions.HtmlDefault)
e.Inline = Nothing
End If
End Sub
doc.MailMerge.Execute(ds.Tables(0))
End Sub
そのサンプルは、あなたがFieldMerging
イベントを処理することにより、差し込み印刷プロセスをカスタマイズする方法を示しています。あなたはGemBox.Documentていることを行うことができますどのようにここで