我正在使用Telerik UI将文档导出为PDF。我可以导出PDF,但是分页符未正确添加。
我首先使用html创建文档,然后使用Telerik的HtmlFormatProvider将它们导出为RadFlowDocument的字符串。然后,我在RadFlowDocument中循环搜索关键字:[PAGEBREAK],该关键字是我在HTML中设置的,用于将分页符手动添加到文档中。然后,使用PDFFormatProvider将其导出为PDF。除了分页符之外,整个过程都运行良好。
使用调试器,我看到它检测到PAGEBREAK关键字并将分页符添加到RadFlowDocument。但是,当我将其导出为PDF时,最终文档没有任何分页符。
我尝试在其他pdf查看器和浏览器插件中查看此内容,但看不到中断。
我还尝试删除了removeAt行,以查看它是否正在添加并删除分页符,但仍返回相同的结果。
<ItemTemplate>
<asp:Label ID="lblLetter" runat="server"></asp:Label>
<%If recordCount > 1 Then%>
<b>[PAGEBREAK]</b>
<%End If%>
</ItemTemplate>
Dim document As RadFlowDocument = providerHTML.Import(html)
For Each fieldCharacter In document.EnumerateChildrenOfType(Of Paragraph)().ToArray()
For Each inline In fieldCharacter.Inlines.ToList()
If ((TypeOf inline Is InlineBase)) AndAlso ((TryCast(inline, Run)) IsNot Nothing) AndAlso ((CType(inline, Run)).Text = "[PAGEBREAK]") Then
Dim index = fieldCharacter.Inlines.IndexOf(inline)
Dim breakPage = New Break(document)
breakPage.BreakType = BreakType.PageBreak
fieldCharacter.Inlines.Add(breakPage)
fieldCharacter.Inlines.RemoveAt(index + 1)
End If
Next
Next
Using output As Stream = File.Create("Test.pdf")
providerPDF.Export(document, output)
End Using
最终结果应具有PDF,该PDF可以在导出的每个新文档之后正确地开始一个新页面。但是,它们正在同一页面上运行而看不到分页符。
运行导出时没有错误消息,因此看起来更像是设置丢失或导出值丢失。