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 info into file stream /// </summary> /// <param name="info">PDF document info</param> internal void Write(PdfInfo info) { writeBeginObject(info.ObjectId); writeBeginDictionary(); if (info.Title.IsNotNullOrWhiteSpace()) writeDictionaryEntry("/Title", info.Title); if (info.Subject.IsNotNullOrWhiteSpace()) writeDictionaryEntry("/Subject", info.Subject); if (info.Keywords.IsNotNullOrWhiteSpace()) writeDictionaryEntry("/Keywords", info.Keywords); if (info.Author.IsNotNullOrWhiteSpace()) writeDictionaryEntry("/Author", info.Author); if (info.Creator.IsNotNullOrWhiteSpace()) writeDictionaryEntry("/Creator", info.Creator); if (info.Producer.IsNotNullOrWhiteSpace()) writeDictionaryEntry("/Producer", info.Producer); writeDictionaryEntry("/CreationDate", DATE_PDF_FORMAT.Args(info.CreationDate == DateTime.MinValue ? DateTime.UtcNow : info.CreationDate)); writeDictionaryEntry("/ModDate", DATE_PDF_FORMAT.Args(info.ModificationDate == DateTime.MinValue ? DateTime.UtcNow : info.ModificationDate)); writeEndDictionary(); writeEndObject(); }