使用C#.NET生成PDF

bha*_*inp 7 .net c# xml pdf

我正在尝试使用C#.NET创建一个PDF生成器,但有一些主要的困难.我有一个带有数据的xml文件和一个用于pdf模板的xslt文件.我尝试了很多不同的库,但似乎无法正常工作.任何人都可以建议我可以使用的示例,说明如何做到这一点.任何帮助将非常感激.谢谢

Ste*_*nie 0

我找到了一个解决方案,使用Marc Gravell出色的 TransformXMLToHTML 方法将 XML + XSLT 转换为 HTML。

然后可以将 HTML 转换为 PDF。

这种方法可能比编辑二进制 PDF 慢。但它很稳定,让我可以完全控制内容质量。

步骤 1 - 将 XML + XSLT 转换为 HTML

我需要添加 Nuget,包括: https ://www.nuget.org/packages/System.Xml.ReaderWriter/

using System.Xml;
using System.Xml.Xls;
using System.IO;

public static string TransformXMLToHTML(string inputXml, string xsltString)
{
    XslCompiledTransform transform = new XslCompiledTransform();
    using(XmlReader reader = XmlReader.Create(new StringReader(xsltString))) {
        transform.Load(reader);
    }
    StringWriter results = new StringWriter();
    using(XmlReader reader = XmlReader.Create(new StringReader(inputXml))) {
        transform.Transform(reader, null, results);
    }
    return results.ToString();
}
Run Code Online (Sandbox Code Playgroud)

第 2 步 - 将 HTML 转换为 PDF

我试过:

所有人都工作并有自己的弱点和优点。

[我们不要争论最好的 C# HTML 到 PDF 转换器。]