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

时间:2013-11-08 18:24:52

标签: c# itextsharp acrobat

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

我发现了很多资源,展示了如何使用PageEventGetOverContent()将一些文字添加为页眉或页脚。但是,一旦生成pdf,这些只是纯文本,实际上不是可以在Acrobat中更新的页眉或页脚对象,而不会更改每个文本。

任何人都知道如何:

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

我正在使用v5.4.3.0 - 谢谢

1 个答案:

答案 0 :(得分:0)

我不会低估这个问题,但恕我直言,这不是StackOverflow的合格问题。您可能会遇到反问题,例如“您尝试了什么。”

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

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

您要求的功能不属于规范。您要问的是Adobe专有的特定实现。使用Header&amp;页脚功能,Acrobat创建一个工件(/Artifact <</Type /Pagination /Contents (Test) /Subtype /Header >>),它以不属于标准的方式存储此工件的内容流。 (我刚刚阅读了ISO-32000-2草案,我们将在几周内在ISO委员会会议上讨论PDF 2.0规范,我没有遇到过。)

如果你想使用iTextSharp来模仿这种行为,你必须猜测Adobe使用的程序并在iTextSharp中实现它(假设你被允许对该程序进行逆向工程;我认为这是合法的因为它会提高互操作性)。我很确定这是你在这个论坛上得到的问题的最接近的答案。现在由你来决定:我会自己实现这个,还是我会聘请某人来做这件事?

如果您想在iText雇用某人,请注意在我们考虑您的请求之前,您需要获得使用iText 5.4.3的许可。