【问题标题】:what's a good enterprise level pdf generation solution?什么是好的企业级 pdf 生成解决方案?
【发布时间】:2023-04-06 08:32:02
【问题描述】:

我想找到 Crystal Reports 的替代品。哦,我多么不喜欢CR。

理想情况下,我想找到一个具有以下功能的 PDF 生成工具:

  • .NET 中的可靠 API
  • 速度:我们希望每天生成 1000-2500 个 pdf 文件
  • 所见即所得编辑器
  • 图片文件(标志)的盗链
  • 良好的寡妇/孤儿控制
  • 相当不错的排版控制(字距调整)
  • 可重复的字段(就像您在银行对帐单中看到的那样)
  • 易于从 xml 数据、数据集或直接 sql 查询中推送数据
  • 大小:pdf 文件的最终大小很重要,因为它们最终会进入数据库
  • 价格:免费并不总是好的价格;为正确的解决方案付费远比付钱给开发人员从几乎正确的解决方案构建正确的解决方案要好得多

所见即所得的编辑器尤为重要。我希望能够将工具交给我的设计师,让他们构建文档并将数据库字段放置在他们应该在的位置,然后将其交还给我,以便我可以将其链接到数据库.

类似于this question, but I felt that question was too vague

【问题讨论】:

    标签: c# .net sql pdf document


    【解决方案1】:

    我认为你在这里有两个不同的东西:

    1. PDF 编辑器。还不如去 使用 Acrobat。
    2. PDF 服务器 技术。这真的取决于 你堆栈的其余部分看起来像什么 喜欢,但我们使用 PDFSharp 成功地。如果你不这样做 很多操纵或更多 通用的,我认为 Adob​​e 使“Adobe Distiller Server”。你应该看看 两者都有。

    【讨论】:

    • 我认为我们可以将 pdf 字节数组转储到数据库中。
    • 我从未听说过有人使用 Acrobat 和数据库中的数据进行银行对账单类型的报告。不是说不可能,但似乎不是 Acro 擅长的。
    • jcollum:您说您希望设计师设计 PDF 并创建数据进入的字段。您可以混合和匹配工具,Acrobat 非常适合设计,它不必是完成其余工作的东西。我不认为你会找到一个可以很好地完成这一切的伟大解决方案
    【解决方案2】:

    由于您使用的是 Windows,因此 SQL Server Reporting Services 非常棒,并且可以免费使用 SQL Server。您可以在 Visual Studio 或独立设计工具中执行所见即所得,它会创建 PDF 以及其他类型的报告(如 Excel)。

    设计报告后,它只是一个驻留在报告服务器上的 XML 文件,并在您的 C# 应用程序中使用 SOAP 或 URL 进行调用。

    您可能已经拥有使用它所需的一切。

    【讨论】:

    • 我听说 SSRS 中的寡妇和孤儿控制很糟糕。我怀疑印刷控制是否存在。我今天花了很多时间处理 CR 糟糕的排版控制:出于某种原因,它在左对齐文本中创建了一个全尺寸空间。
    • 它不是 InDesign,但我们使用它来复制印刷材料,例如具有良好效果的证书。
    • 据我所知,SSRS 比 Crystal 更好,但也有一些相同的限制。这是一个不错的选择,但我希望有更好的选择。
    【解决方案3】:

    iTextSharp,非常强大且越来越受欢迎。我过去使用过它并推荐它。它是开源的,具有合并字段等强大功能,可用于报表。

    【讨论】:

    • “WYSIWYG 编辑器特别重要”和“.NET 中的 Solid API”:大约 9 个月前我使用了 itextsharp,发现 API 很乱。我从来没有听说过它的所见即所得编辑器。
    【解决方案4】:

    【讨论】:

    • 我不知道你是否认为这解决了我的问题,或者你在问一个问题。
    【解决方案5】:

    我不记得 iTextSharp 是否支持它,但我确信它具有/具有获取 HTML 表示并从中生成 PDF 的功能。如果您想要的是功能强大且具有所见即所得界面的成本效益,那么您就无法真正超越您最喜欢的 IDE 来设计 HTML 页面,并将其从库中以 PDF 格式输出。

    【讨论】:

    • 我明白你的意思,但我更希望有一个像 MS Word 一样简单的编辑器。理想情况下。但这可能是不可能的。
    • 如果您追求的是最终用户的使用场景,您可能会觉得这很困难。 CR 是邪恶的,但所有其他选择也是如此。
    • 同意。我可能在这里寻找白鲸。
    【解决方案6】:

    DevExpress XtraReports 生成出色的报告,显然可以保存为 pdf。我用它在我从事的一个程序中生成医疗报告。您可以通过编程方式或通过他们的设计时 GUI 构建报告(他们还有一个最终用户 GUI,可以创建/编辑报告)。

    http://devexpress.com/Products/NET/Reporting/

    【讨论】:

    • 哇,看起来很有趣。它如何处理寡妇/孤儿控制?几分钟前,我让 CR 在地址块中间生成了一个分页符。唯一的解决方案是将地址放入它自己的文本块中。烦人。
    • 好吧,关于寡妇/孤儿控制,我不得不用谷歌搜索一下,但你能解释一下你的意思吗?我可能无法回答;但是,他们的支持论坛和知识库非常全面。我从来没有注意到 CR 导致分页,也许是因为我的实际上不是 CR。您可以在可用的打印前事件之一中清理该字段。
    • 当您的文档中间有地址时,寡妇孤儿问题非常明显。如果您有部分页面有转发器(详细信息部分?),那么该地址的某些时间部分将推到下一页。地址中间的分页符是不可接受的。使用 CR,您必须将地址放在它自己的文本块中以控制它是否保持在一起,但没有像 InDesign 中那样的文本流链接。因此,您花费大量时间移动文本块以(希望)控制您的孤儿。我想摆脱繁琐的过程。
    • 对,现在明白了。我看到它的处理方式是它会调整详细信息部分的大小以适应地址,如果它不适合一个页面,你可以让它在新页面上继续文本,或者你可以告诉它把细节部分放在一起。这意味着如果一个部分需要比可用空间更多的空间,它将把它移动到一个新页面,所以不,它不会孤立文本。
    【解决方案7】:

    JasperReports 没有做你想做的事?

    (如果您的报告始终包含相同类型的数据,您可以使用 iText(Sharp)。您会花一些时间通过代码调整设计 - 我知道这很乏味 - 但之后只需要导入数据)

    【讨论】:

      【解决方案8】:

      Prince XML (http://www.princexml.com/) 和 ABCPdf.net (http://websupergoo.com/linktous.htm) 都会这样做。我个人更喜欢 ABCPDF,因为它是一个托管的 .Net 组件,而不是一个不确定的 .exe。内容的 WMD 编辑器。

      【讨论】:

        猜你喜欢
        • 2011-04-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-10
        相关资源
        最近更新 更多