使用c#和iTextSharp是否可以实现这种TOC场景?

使用c#和iTextSharp是否可以实现这种TOC场景?,c#,pdf-generation,itextsharp,ssrs-2012,C#,Pdf Generation,Itextsharp,Ssrs 2012,我刚刚下载了iTextSharp,在我投入大量精力之前,我想知道这个场景是否有可能。我们有一个客户坚持他们的SSRS报告PDF包含一个目录,最好有页码。这些报告的各个组成部分具有高度可变的长度,因此我们无法硬编码实际页码。大家可能都知道,在SSRS中没有直接的方法来创建目录。(我们甚至与微软代表就此举行了一次特别会议。) 我想做的事情如下: 通过设置目标位置,在SSRS报告中标记目标位置 DocumentMapLabel属性 以通常的方式生成pdf,或者从报表服务器生成 或ReportView

我刚刚下载了iTextSharp,在我投入大量精力之前,我想知道这个场景是否有可能。我们有一个客户坚持他们的SSRS报告PDF包含一个目录,最好有页码。这些报告的各个组成部分具有高度可变的长度,因此我们无法硬编码实际页码。大家可能都知道,在SSRS中没有直接的方法来创建目录。(我们甚至与微软代表就此举行了一次特别会议。)

我想做的事情如下:

  • 通过设置目标位置,在SSRS报告中标记目标位置 DocumentMapLabel属性

  • 以通常的方式生成pdf,或者从报表服务器生成 或ReportViewer控件。(这将用c#表示)

  • 在我的假设代码中打开pdf

  • 在前面或附近插入空白页

  • 扫描pdf中的DocumentMapLabels(理想情况下,检测哪个页面
    它们在播放。)

  • 填充空白页,链接到各个部分。


这可能吗?

我不会使用你的设计。一旦TOC需要超过一页,你就有麻烦了。也许你相信今天不会发生这种情况,但如果明天需要呢

您有不同的选择:

  • 一次性创建文档。在末尾添加TOC。在关闭文档之前重新排序页面
  • 使用目标的命名目的地创建文档(例如,在内存中)。创建一个文档(例如在内存中),其中TOC引用指定的目的地。将两个文档合并为一个文档,合并指定的目标
  • 创建带有书签的文档(这将导致Adobe Reader左侧出现书签面板)。然后阅读书签以创建PDF格式的TOC,并将PDF与带有书签的文档中的TOC合并
  • 所有这些都记录在案

    在中,您将找到这些(以及许多其他)问题的答案:

    • (这听起来正是您需要的)
    你想做的是可能的,但不是你描述它的方式。阅读这本书,选择一个选项,如果你对你选择的选项有问题,就发表一个新的问题。只要下载那本书;这是免费的


    注意:iText(Sharp)是免费软件,不是免费软件。这意味着,只有在您同意开源许可证(AGPL)的情况下,它才是免费的。如中所述,并非在所有情况下都是免费的。在开始iText(Sharp)项目之前,了解这一点也很重要。

    是的,这是可能的。感谢您的及时回复和所有链接@user2996466欢迎使用StackOverflow。如果答案有帮助,请接受并/或投票表决。只有这样,答案才能用于进一步参考(例如,当有人发布重复的问题时)。