Пример #1
0
 public static Stream GenerateBulkFromTemplate(DocumentTemplate dt, DiscoDataContext Database, User CreatorUser, DateTime Timestamp, bool InsertBlankPages, params IAttachmentTarget[] DataObjects)
 {
     if (DataObjects.Length > 0)
     {
         List<Stream> generatedPdfs = new List<Stream>(DataObjects.Length);
         using (var state = DocumentState.DefaultState())
         {
             foreach (var d in DataObjects)
             {
                 generatedPdfs.Add(dt.GeneratePdf(Database, d, CreatorUser, Timestamp, state, true));
                 state.SequenceNumber++;
                 state.FlushScopeCache();
             }
         }
         if (generatedPdfs.Count == 1)
         {
             return generatedPdfs[0];
         }
         else
         {
             Stream bulkPdf = Utilities.JoinPdfs(InsertBlankPages, generatedPdfs);
             foreach (Stream singlePdf in generatedPdfs)
                 singlePdf.Dispose();
             return bulkPdf;
         }
     }
     return null;
 }