iTextSharp:有没有办法覆盖PDF中的硬页码?

时间:2011-03-04 20:01:49

标签: itextsharp

我有一个包含封面,目录和实际内容的文档。内容列表后面的第一页在页脚中编号为“1”。

假设该文件有130页,除封面和TOC外还有128页实际内容。我希望我的观众能够到达Adobe阅读器的顶部并看到1/128而不是1/130。当他们在该框中输入1或2等时,它会跳转到第1页或第2页的实际内容(而不是封面或TOC)。这可能吗?

1 个答案:

答案 0 :(得分:1)

您可能会获得“页面标签”后的结果。

PdfPageLabels labels = new PdfPageLabels();
// label the first two pages "i" and "ii"
labels.addPageLabel( 1, PdfPageLabels.LOWERCASE_ROMAN_NUMERALS );
// label the following pages "1, 2, ..."
labels.addPageLabel( 3, PdfPageLabels.DECIMAL_ARABIC_NUMERALS );

myPdfWriter.setPageLabels( labels );

您还可以为每个页面指定唯一的字符串而不是页码:

labels.addPageLabel( pageNum, PdfPageLabels.EMPTY, pageNameStr );

我在文本输入字段中看到“Page 1”,旁边的灰色文本中有(1 of 3)。我不认为你可以改变“N”,只是第一部分。

警告:我刚刚发现Acrobat X中的页面“数字”对话框限制为8个字符。任何超过该标签的标签都无法进入。