public PdfDocument() { m_Fonts = new List <PdfFont>(); m_Meta = new PdfMeta(); m_Info = new PdfInfo(); m_OutLines = new PdfOutlines(); m_Root = new PdfRoot(); m_PageTree = new PdfPageTree(); m_Trailer = new PdfTrailer(); m_ObjectRepository = new ObjectRepository(); m_ResourceRepository = new ResourceRepository(); m_Root.Info = m_Info; m_Root.Outlines = m_OutLines; m_Root.PageTree = m_PageTree; m_Trailer.Root = m_Root; m_PageSize = PdfPageSize.Default(); }
public PdfDocument() { m_Fonts = new List<PdfFont>(); m_Meta = new PdfMeta(); m_Info = new PdfInfo(); m_OutLines = new PdfOutlines(); m_Root = new PdfRoot(); m_PageTree = new PdfPageTree(); m_Trailer = new PdfTrailer(); m_ObjectRepository = new ObjectRepository(); m_ResourceRepository = new ResourceRepository(); m_Root.Info = m_Info; m_Root.Outlines = m_OutLines; m_Root.PageTree = m_PageTree; m_Trailer.Root = m_Root; m_PageSize = PdfPageSize.Default(); }
/// <summary> /// Writes PDF document trailer into file stream /// </summary> /// <param name="trailer">PDF document trailer</param> internal void Write(PdfTrailer trailer) { writeLineRaw("xref"); writeLineRaw("0 {0}", trailer.LastObjectId + 1); writeLineRaw("0000000000 65535 f"); foreach (var offset in trailer.ObjectOffsets) { writeLineRaw("{0} 00000 n", offset); } writeLineRaw("trailer"); writeBeginDictionary(); writeDictionaryEntry("/Size", trailer.LastObjectId + 1); writeDictionaryEntry("/Root", trailer.Root.GetReference()); writeDictionaryEntry("/Info", trailer.Root.Info.GetReference()); writeEndDictionary(); writeLineRaw("startxref"); writeLineRaw("{0}", trailer.XRefOffset); writeRaw(Encoding.ASCII.GetBytes("%%EOF")); }