java - 如何在 iText7 中为单个页面设置页面标签?
问题描述
在iText
页面标签可以通过以下方式设置:
PdfPage page = pdfDoc.getPage(1);
page.setPageLabel(PageLabelNumberingStyle.UPPERCASE_ROMAN_NUMERALS, "Cover", 1);
但是,生成的 PDF 将标记其第一页CoverI
,并且所有后续页面也将被标记。我不希望将任何内容添加到我的页面标签Cover
或任何其他带有标签的页面中。
那么,如何为单个页面设置页面标签?
我希望第一页有一个自定义字符串标签,其他页面是阿拉伯数字,接下来的页面是罗马数字。
解决方案
页面标签配置适用于您设置的页面以及所有连续页面。因此,要使第 2 页及以后的页面具有标准阿拉伯数字,只需确保明确设置配置即可。对于您提到的情况,代码大致如下所示:
PdfPage page = pdfDocument.getPage(1);
page.setPageLabel(PageLabelNumberingStyle.UPPERCASE_ROMAN_NUMERALS, "Cover", 1);
page = pdfDocument.getPage(2);
int pageNumToStartFrom = 2; // Replace it with 1 if you want the blocks to be numbered independently
page.setPageLabel(PageLabelNumberingStyle.DECIMAL_ARABIC_NUMERALS, null, pageNumToStartFrom);
page = pdfDocument.getPage(4);
pageNumToStartFrom = 4; // Replace it with 1 if you want the blocks to be numbered independently
page.setPageLabel(PageLabelNumberingStyle.UPPERCASE_ROMAN_NUMERALS, null, pageNumToStartFrom);
推荐阅读
- wordpress - WordPress - 保存下拉选择的选项并在前端显示
- python-3.x - KeyError:将变量分配给 Postgres 列时没有返回
- google-app-engine - 仅在 Mac 上为 Google App Engine 本地机器 Python 安装 MySQL 客户端
- jquery - 语法错误,无法识别的表达式:../#some_id
- c# - 将 2 个 JSON 字符串与一个公共密钥 c# 组合
- javascript - MongoDB:SyntaxError:属性列表后缺少}
- android - Android 可用高度限定符
- excel - 尝试找到最后填充的行后,我的宏不会停止运行
- clojure - 如何获取已在深度优先遍历中访问过的 Clojure 拉链部分?
- json - 使用 jq 从 base64 编码文本中迭代 JSON 数据