代码之家  ›  专栏  ›  技术社区  ›  IniTech

PDF报告生成[关闭]

  •  8
  • IniTech  · 技术社区  · 15 年前

    编辑:我用abcpdf完成了这个项目。对于任何有兴趣的人,我喜欢这个产品,他们的支持是A+。我列出的所有HTML->PDF解决方案的“con”在abcpdf中都很容易实现。


    我被指控创建数据驱动的PDF报告。在回顾了过多的选择之后,我把范围缩小到了2。我需要你们所有人帮助我做决定,或者提供我没有考虑过的选择。要求如下:
    1. 100%数据驱动
    2. 最终是PDF(HTML中的一个停止是可以的,只要它被转换)
    3. 可以使用多组数据运行(布局始终相同,数据是可变的)
    4. 包含普通分析样式副本(保存在带HTML标记的数据库中)
    5. 包含表(表的数据在运行时生成)
    6. 每页的页首
    7. 目录
    8. .NET(VB或C语言)
    9. 迅速完成

    现在,由于报告将由多组数据生成,我认为带戳的PDF模板不起作用,因为我不知道一份报告可能需要多长时间或多少页。

    所以,我认为我的最佳选择是:

    1. 使用类似IText的解决方案进行编程创建。
    2. 在HTML中生成并使用第三方应用程序转换为PDF(abcpdf是迄今为止我使用的工具)

    两种解决方案都有各自的优点和缺点。

    方案解决方案:

    赞成的意见:

    1. 柔性的
    2. 简单的页码/页首/目录
    3. 免费的

    欺骗:

    1. 耗时(在IText上编写一个层来完成我需要的工作并保持可维护性)
    2. 由于副本已经用HTML标记存储在数据库中,所以在将其放入PDF之前,我必须对数据进行解析,确保不必将段落分成块,这样我就可以对特定短语应用粗体、斜体、下划线等。这似乎是一个巨大的皮塔,我希望我是错误的假设。

    HTML& PDF

    赞成的意见:

    1. 易于从数据库生成(无需解析)
    2. 许多转换工具
    3. 使用我已经熟悉的技术
    4. 内置“打印预览”-不是要求,但很好

    欺骗:

    (项目完成后编辑。我所有的假设都是错误的,abcpdf很棒)

    1。几乎不可能生成页头 - 不是真的
    2。很难生成页码 不是真的
    三。几乎不可能生成目录 不是真的
    4。(跨浏览器支持不是一个骗局;因为它是内部的,所以我可以指定使用什么浏览器)
    5。转换工具怪癖-不能完全按照浏览器中的呈现进行转换 不是真的
    6。总的来说,我认为很难完全按照我希望的方式格式化HTML,将其显示/转换为PDF格式。 不是真的

    就这样-我需要社区的帮助来决定我该走哪条路。我的一些赞成/反对假设可能是错误的。如果我是,请告诉我。欢迎并感谢所有的想法和建议。

    谢谢

    5 回复  |  直到 12 年前
        1
  •  3
  •   IniTech    15 年前

    决定采用类似于 http://alistapart.com/articles/boom

    使用abcpdf而不是prince生成最终的html->pdf。

    任何对同一件事感兴趣的人,都可以随时向我通报这种方法。

        2
  •  2
  •   tahdhaze09    15 年前

    我认为,如果您有一个完整版本的AdobeAcrobat Pro,它附带了Adobe Live Cycle。您应该能够从数据库生成报告。它将为您提供格式化所需的一切,因为您将从头创建报告。

    您可以创建一个到OLE数据库的数据库连接,该数据库将向表单字段提供数据。选择要使用的表、将运行的任何存储过程、任何查询,然后数据将显示在设计器中的一个调色板上。

    您还可以使用Web服务(WDSL)接收和处理命令,并将结果返回到表单。

    无论采用哪种方式,您都会将字段绑定到数据源,然后数据将显示在表单中。

    如果你愿意做一点.NET工作,可以这样做:

    http://www.dotnetvj.com/2009/05/populating-pdf-from-aspnet-using.html

        3
  •  1
  •   jvilalta    15 年前

    根据您使用的平台和目标,您可能需要考虑一个报告解决方案。这些并不是完美的,但它们给你的一件事就是能够写一次报告,然后用HTML、PDF甚至Excel呈现。

    通常,它们还提供一个编辑器,帮助您设计报表并使其看起来恰到好处。它们提供分页、页眉、页脚、图形等功能。它们还提供一个API,您可以使用该API来编程创建和运行报表。

    我已经用过 Reporting Services 在MS环境中 Jasper Reports 在Java环境中都有很好的效果。我相信还有其他的选择,但这些是我成功使用的。

        4
  •  0
  •   Ms2ger    15 年前

    对于HTML→PDF步骤,我真的很喜欢 Prince . 看起来你可以 call it from VB .

        5
  •  0
  •   Prasanna    12 年前

    我的建议是使用SQL Reporting Services。

    • 可以设计报表的每一页和表
    • 包括页眉和页脚
    • 包括页码
    • 目录
    • 可以跨越多个页面
    • 支持图像和图表
    • 可以呈现为PDF格式,无需任何第三方PDF转换器