首页 > 解决方案 > 将 xsl - fo 转换为 pdf

问题描述

我有一个 XSL-FO 文件,数据以 xml/json 格式提供。我想使用这个 xsl 结构创建一个 pdf。

任何人都可以建议任何开源库进行转换吗?我希望它在 C# 级别完成。

注意:我尝试转换为 html,但由于它是 xsl-fo 文件,我无法对齐。

标签: c#.netpdfxsl-fo

解决方案


您可以使用 Apache FOP ( https://xmlgraphics.apache.org/fop/ ) 工具。它可以从 XSL-FO 输入生成 PDF 文档。

从 C# 可以启动 Apache FOP 进程,将其指向 XSL-FO 文件(或使用标准输入,因此您不必使用任何临时文件)。进程存在后,您将获得 PDF 文件(在磁盘或标准输出中的文件中)。

首先,您可以让 Apache FOP 读取 XSL-FO 文件并将 PDF 文件写入磁盘,用于该使用Process类(https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.process?view=网络框架 4.8):

代码片段草稿(可能包含错误,但对您来说应该是一个好的开始):

Process.Start("C:\\path\\to\\fop input_xsl-fo.xml output.pdf").WaitForExit();

推荐阅读