簡體   English   中英

C#中的PDF生成

[英]PDF generation in C#

我們目前以純文本或 html 格式發送電子郵件通知。 我們的環境是 C#/.NET/SQL Server。

我想知道是否有人推薦特定的解決方案。 我看到有兩種方法可以做到這一點:

  • 使用第三方庫將當前電子郵件動態轉換為 pdf 並將 pdf 作為附件發送

  • 使用 SSRS 允許用戶導出 pdf 報告(最終可能會有 SSRS 推送報告)

我對第三方庫持開放態度(特別是如果它們是開源和免費的)。 看來SSRS是最簡單易行的方法。 有人有任何提示嗎?

您可以使用iTextSharp將您的 html 頁面轉換為 pdf。 下面是一個例子:

class Program
{
    static void Main(string[] args)
    {
        string html = 
@"<html>
<head>
  <meta http-equiv=""Content-Type"" content=""text/html; charset=utf-8"" />
</head>
<body>
  <p style=""color: red;"">Hello World</p>
</body>
</html>";

        Document document = new Document(PageSize.A4);
        using (Stream output = new FileStream("out.pdf", FileMode.Create, FileAccess.Write, FileShare.None))
        using (StringReader htmlReader = new StringReader(html))
        using (XmlTextReader reader = new XmlTextReader(htmlReader))
        {
            PdfWriter.GetInstance(document, output);
            HtmlParser.Parse(document, reader);
        }

    }
}

如果您只需要簡單的 html -> pdf 轉換,請查看wkhtmltopdf 它是基於 webkit 的免費、開源的命令行實用程序。

如果您想要更復雜的東西,例如准備多個模板或存儲 pdf 輸出的歷史記錄。 看報表服務器jsreport

iText-Sharp
工作方式與 java 版本非常相似,並且有很好的文檔和多本可用的書籍。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM