如何 read/access 外部参照 table 并将其替换为文件中的文本?
how to read/access xref table and replace it with text from file?
我需要阅读 PDF 格式的外部参照 table,并用文件中的文本字符串替换所有免费的(最后用 'f'
签名)。这是xref
table在PDF
.
的例子
xref
0 256
0000000029 65535 f
0000000017 00000 n
0000000125 00000 n
0000000216 00000 n
0000000030 65535 f
0000000031 65535 f
0000000032 65535 f
我想用字符串 [A443DD719B11118D12D99E5EA18E5EA9934]
替换
然后它会变成:
0000000029 65535 f
0000000017 00000 n
0000000125 00000 n
0000000216 00000 n
0000000030 A443D f
0000000031 D719B f
0000000032 11118 f
。
.
.
我正在 Java 中使用 iText
或 PDFBox
,但找不到读取或访问 xref
流的方法 table 并将其替换为文件中的文本。请帮忙。
PDF 中的每个间接对象都有一个在 ISO 32000-1 中定义的唯一标识符:
The object identifier shall consist of two parts:
- A positive integer object number. Indirect objects may be numbered sequentially within a PDF file, but this is not required; object
numbers may be assigned in any arbitrary order.
- A non-negative integer generation number. In a newly created file, all indirect objects shall have generation numbers of 0. Nonzero
generation numbers may be introduced when the file is later updated.
此标识符用于交叉引用table,普通交叉引用流中的代号有一个最大数目:
The maximum generation number is 65,535
您想将世代编号更改为非数字的内容。即使您将 D719B
之类的字符串视为(十六进制)数字,您仍然会超过最大生成数。
换句话说:您要求 PDF 专家创建不符合 ISO 标准的 PDF。每个有自尊心的 PDF 专家都会拒绝回答这个问题并要求您重新考虑。
在评论中,您声称要在 PDF 文件中引入一些不可见的水印。为什么要滥用世代数的概念来做这件事呢?为什么不向目录中添加一个额外的(自定义)条目?
我需要阅读 PDF 格式的外部参照 table,并用文件中的文本字符串替换所有免费的(最后用 'f'
签名)。这是xref
table在PDF
.
xref
0 256
0000000029 65535 f
0000000017 00000 n
0000000125 00000 n
0000000216 00000 n
0000000030 65535 f
0000000031 65535 f
0000000032 65535 f
我想用字符串 [A443DD719B11118D12D99E5EA18E5EA9934]
替换
然后它会变成:
0000000029 65535 f
0000000017 00000 n
0000000125 00000 n
0000000216 00000 n
0000000030 A443D f
0000000031 D719B f
0000000032 11118 f
。 . .
我正在 Java 中使用 iText
或 PDFBox
,但找不到读取或访问 xref
流的方法 table 并将其替换为文件中的文本。请帮忙。
PDF 中的每个间接对象都有一个在 ISO 32000-1 中定义的唯一标识符:
The object identifier shall consist of two parts:
- A positive integer object number. Indirect objects may be numbered sequentially within a PDF file, but this is not required; object numbers may be assigned in any arbitrary order.
- A non-negative integer generation number. In a newly created file, all indirect objects shall have generation numbers of 0. Nonzero generation numbers may be introduced when the file is later updated.
此标识符用于交叉引用table,普通交叉引用流中的代号有一个最大数目:
The maximum generation number is 65,535
您想将世代编号更改为非数字的内容。即使您将 D719B
之类的字符串视为(十六进制)数字,您仍然会超过最大生成数。
换句话说:您要求 PDF 专家创建不符合 ISO 标准的 PDF。每个有自尊心的 PDF 专家都会拒绝回答这个问题并要求您重新考虑。
在评论中,您声称要在 PDF 文件中引入一些不可见的水印。为什么要滥用世代数的概念来做这件事呢?为什么不向目录中添加一个额外的(自定义)条目?