FastReport 加载Load(Stream) 模板内包含换行符不能展示

如下代码 当以FastReport 载入streams时 当模板内包含换行符时会导致不能正常生成pdf

cs 复制代码
System.Xml.XmlDocument newFrxXml= new System.Xml.XmlDocument();
newFrxXml.Load(fileName);

FastReport.Report report = new FastReport.Report();
 using (var memStream = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(newFrxXml.InnerXml)))
            {
                report.Load(memStream);
            }

原因:

通过XmlDocument加载后 换行符由十进制的值变成了16进制展示


=》


导致Fastreport不呢正常加载导致

XML 复制代码
--正常模板--
 <Styles>
    <Style Name="EvenRows" Fill.Color="191, 223, 255" Font="宋体, 9pt"/>
  </Styles>
  <Dictionary/>
  <ReportPage Name="PageReport" LeftMargin="0" TopMargin="0" RightMargin="0" BottomMargin="0" FirstPageSource="15" OtherPagesSource="15" Guides="0,718.2,14.17,51.97,61.42,146.47,155.92,193.72,203.17,231.52,240.97,278.77,288.22,326.02,524.47,581.17,590.62,704.02,222.07,335.47,401.62,515.02,411.07,14.18,99.23,269.33,23.63,108.68,184.28,354.37,363.83,439.43,448.88,524.48,533.93,609.53,618.98,694.58,307.12,382.72,373.27,458.32,477.23,515.03,571.73,637.88,647.33,704.03,529.2,604.8,595.35,708.75" Watermark.Font="宋体, 60pt">
    <ColumnHeaderBand Name="ColumnHeader" Width="793.8" Height="75.22" CanGrow="true" PrintOn="FirstPage">
      <ChildBand Name="Child1" Top="78.42" Width="793.8" Height="434.7">
        <TextObject Name="Text54" Left="137.03" Top="9.45" Width="396.9" Height="311.47" Text="xxx:&#13;&#10;xxx" Format="Date" Format.Format="" VertAlign="Center" Font="宋体, 10pt"/>
      </ChildBand>
    </ColumnHeaderBand>
    <PageFooterBand Name="PageFooter" Top="516.32" Width="793.8" Height="47.63" Fill.Color="White" Guides="37.8,56.7,75.6,47.25,94.5,9.45,28.35,9.45"/>
  </ReportPage>

--通过XmlDocument加载后模板--
<Styles>
		<Style Name="EvenRows" Fill.Color="191, 223, 255" Font="宋体, 9pt"/>
	</Styles>
	<Dictionary/>
	<ReportPage Name="PageReport" LeftMargin="0" TopMargin="0" RightMargin="0" BottomMargin="0" FirstPageSource="15" OtherPagesSource="15" Guides="0,718.2,14.17,51.97,61.42,146.47,155.92,193.72,203.17,231.52,240.97,278.77,288.22,326.02,524.47,581.17,590.62,704.02,222.07,335.47,401.62,515.02,411.07,14.18,99.23,269.33,23.63,108.68,184.28,354.37,363.83,439.43,448.88,524.48,533.93,609.53,618.98,694.58,307.12,382.72,373.27,458.32,477.23,515.03,571.73,637.88,647.33,704.03,529.2,604.8,595.35,708.75" Watermark.Font="宋体, 60pt">
		<ColumnHeaderBand Name="ColumnHeader" Width="793.8" Height="75.22" CanGrow="true" PrintOn="FirstPage">
			<ChildBand Name="Child1" Top="78.42" Width="793.8" Height="434.7">
				<TextObject Name="Text54" Left="137.03" Top="9.45" Width="396.9" Height="311.47" Text="xxx:&#xD;&#xA;xxx" Format="Date" Format.Format="" VertAlign="Center" Font="宋体, 10pt"/>
			</ChildBand>
		</ColumnHeaderBand>
		<PageFooterBand Name="PageFooter" Top="516.32" Width="793.8" Height="47.63" Fill.Color="White" Guides="37.8,56.7,75.6,47.25,94.5,9.45,28.35,9.45"/>
	</ReportPage>

解决办法:

cs 复制代码
 using (var memStream = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(newFrxXml.InnerXml.Replace("&#xD;", "&#13;").Replace("&#xA;", "&#10;"))))
            {
                report.Load(memStream);
            }
相关推荐
五行星辰7 小时前
用 Java 轻松读取 Word 文档内容
java·开发语言·word
mqwguardain7 小时前
Python连接不同数据库的总结
开发语言·数据库·python
IT猿手7 小时前
离散浣熊优化算法(DCOA)求解大规模旅行商问题(Large-Scale Traveling Salesman Problem,LTSP),MATLAB代码
开发语言·深度学习·算法·机器学习·matlab
Mr.kanglong8 小时前
【C++】C++11
开发语言·c++
大厂在职_QKT8 小时前
C中静态库和动态库的使用
c语言·开发语言
优联前端9 小时前
Web 音视频(四)在浏览器中处理音频
开发语言·javascript·音视频·优联前端·webav·webcodecs
南棱笑笑生9 小时前
20250204将Ubuntu22.04的默认Dash的shell脚本更换为bash
开发语言·bash·dash
羚羊角uou9 小时前
【C++】多态详细讲解
开发语言·c++
利刃大大10 小时前
【C++】string类的模拟实现
开发语言·c++