/// <summary>Заполняет список объектов документа</summary> private static void FillObjects() { var position = PdfFunctions.GetPosition(_documentBytes, 0, PdfConsts.PDF_TRAILER); position = PdfFunctions.GetPosition(_documentBytes, position, PdfConsts.PDF_SIZE) + 1; var value = PdfFunctions.GetValue(_documentBytes, position, PdfConsts.PDF_BACKSLASH); var objCount = Convert.ToInt32(value); for (var i = 1; i < objCount; i++) { var name = i.ToString(CultureInfo.InvariantCulture) + " 0 " + PdfConsts.PDF_OBJECT; var data = PdfFunctions.GetObjectData(_documentBytes, 0, name); if (data == null) { continue; } var type = GetObjectType(data); if (type == PdfObjectType.Page) { Pages.Add(new PdfPage(name, data)); } else { Objects.Add(new PdfObject(name, data, type)); } } }
/// <summary>Возвращает версию Pdf-документа</summary> /// <returns>Версия pdf-документа</returns> private static decimal GetVersion() { var pos = PdfFunctions.GetPosition(_documentBytes, 0, PdfConsts.PDF_VERSION) + 1; if (pos == -1) { return(0); } var value = PdfFunctions.GetValue(_documentBytes, pos, PdfConsts.PDF_RETURN); return(Convert.ToDecimal(value, CultureInfo.InvariantCulture)); }