C# Webapi 创建带有页眉、页脚和分页的 PDF

C# Webapi PDF creation with header, footer and pagination

我想做的是创建发票的 PDF。现在我有一个带有 get 方法的 webapi 服务器,该方法 returns 我需要在发票中显示的所有数据。

我尝试的第一种方法是创建发票的 HTML 并将其转换为 PDF。这种方法的问题是 HTML 中的页眉、页脚和分页(发票的每个 sheet 必须显示徽标和地址,页脚必须逐页汇总金额)。我的第一个问题是:在将 HTML 转换为 PDF 之前,是否有一种简单的方法可以做到这一点?

我尝试过的另一种方法是使用 Crystal 报告(也许 SQL 报告服务会更好,我不知道)创建报告并使用它来创建 PDF,但是一旦我已经有了从 webapi 计算出的所有数据,它可能就有点矫枉过正了。我的第二个问题是:这种报表设计者可以使用我已经计算好的数据吗?还是他们总是再次从数据库中读取?

我不是在征求意见或建议,这不是一个主观问题,我只想回答这两个 objective 个问题。

谢谢

如果您的年收入低于 100 万美元,Syncfusion 的 PDF 组件是免费的。 这是处理 PDF headers/Footers 的用户手册部分: https://help.syncfusion.com/file-formats/pdf/working-with-headers-and-footers

但是,如果您的布局超出了基本范围,您最终可能会浪费时间进行调整。考虑将数据转储到专用于此过程的 table 中,并使用 Crystal 报告设计针对该 table 的报告。然后,您可以轻松导出为 PDF,同时确保将来轻松调整布局和功能。