C# 如何使用iTextSharp/C添加可更新的页眉/页脚#

C# 如何使用iTextSharp/C添加可更新的页眉/页脚#,c#,itextsharp,acrobat,C#,Itextsharp,Acrobat,我希望能够添加一个带有iTextSharp的“第x页,共y页”页脚,然后可以使用Adobe Acrobat中的页眉和页脚选项进行更新和操作。生成pdf后,用户仍然可以手动添加或删除某些页面,因此我希望他们能够轻松地更新页脚 我找到了很多资源,展示了如何使用PageEvent和GetOverContent()添加一些文本作为页眉或页脚。但是,生成pdf后,这些文件仅为纯文本,实际上不是可以在Acrobat中更新的页眉或页脚对象,而无需更改每个文件上的文本 任何人都知道如何: a) 通过iText

我希望能够添加一个带有
iTextSharp
的“第x页,共y页”页脚,然后可以使用Adobe Acrobat中的页眉和页脚选项进行更新和操作。生成pdf后,用户仍然可以手动添加或删除某些页面,因此我希望他们能够轻松地更新页脚

我找到了很多资源,展示了如何使用
PageEvent
GetOverContent()
添加一些文本作为页眉或页脚。但是,生成pdf后,这些文件仅为纯文本,实际上不是可以在Acrobat中更新的页眉或页脚对象,而无需更改每个文件上的文本

任何人都知道如何:

  • a) 通过
    iTextSharp
    访问现有pdf的页眉/页脚对象,或
  • b) 创建Acrobat可以操纵的实际页眉/页脚对象

我使用的是v5.4.3.0-谢谢

我不会否决这个问题,但我认为这不是StackOverflow的合格问题。你可能会遇到反问题,比如“你试过什么?”

由于我是iText的原始开发人员,请允许我解释为什么您的问题不是支持问题,而是咨询请求

PDF在ISO标准ISO-32000-1中定义。该标准由许多公司实施,Adobe是规范的原始创建者,是其中之一,iText软件是另一个

您要求的功能不是规范的一部分。您要求的是Adobe专有的特定实现。使用页眉和页脚功能时,Acrobat会创建一个工件(
/Artifact
),并以不属于标准的方式存储此工件的内容流。(我刚刚阅读了ISO-32000-2的草案,PDF 2.0的规范,我们将在几周后的ISO委员会会议上讨论,我没有遇到它。)

如果您想使用iTextSharp模拟这种行为,您必须猜测Adobe使用的过程并在iTextSharp中实现它(假设您被允许对该过程进行反向工程;我认为这是合法的,因为它可以提高互操作性)。我相信这是你在这个论坛上得到的最接近你的问题的答案。现在由你们来决定:是我自己来实施,还是我会雇人来实施


<>如果你想在iTXT上雇佣某人,请注意,在我们考虑你的请求之前,你需要一个使用ITEX5.4.3的许可证。

……因为我是ITEXT的原始开发者……“1谷歌向你致敬。