📄 pdfxrefsection.cs
字号:
using System;
using System.Collections.Generic;
using System.Text;
namespace AnotherPDFLib
{
public class PdfXrefSection
{
/// <summary>
/// Each cross-reference subsection contains entries for a contiguous range of object numbers.
/// </summary>
public List<PdfXrefEntry> Entries;
public UInt32 StartNumber;
public PdfXrefSection(UInt32 startObjectNumber)
{
Entries = new List<PdfXrefEntry>();
StartNumber = startObjectNumber;
}
public void Output(PdfWriter writer)
{
writer.WriteLine(StartNumber + " " + Entries.Count);
foreach (PdfXrefEntry entry in Entries)
{
entry.Output(writer);
}
}
public bool Contains(uint id, ushort gen)
{
if (id >= StartNumber && id < StartNumber + Entries.Count)
{
PdfXrefEntry entry = GetXrefEntry(id);
if (entry is PdfXrefEntryNoraml || entry is PdfXrefEntryFree)
{
return entry.SecondComponent == gen;
}
else if (entry is PdfXrefEntryCompressed)
{
return gen == 0;
}
}
return false;
}
public PdfXrefEntry GetXrefEntry(uint id)
{
return Entries[(int)(id - StartNumber)];
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -