Beispiel #1
0
        private Document MergeFieldsInDocument(CertificateDataResponse certificateData, MemoryStream documentTemplateStream)
        {
            var document = new Document();

            _aggregateLogger.LogInfo("load Document from Stream ...");
            document.LoadFromStream(documentTemplateStream, FileFormat.Docx);
            _aggregateLogger.LogInfo($"Document Length = {document.Count}");

            _aggregateLogger.LogInfo($"Document Template Stream = {documentTemplateStream.Length}");

            document.Replace("[Addressee Name]", string.IsNullOrEmpty(certificateData.ContactName) ? "" : certificateData.ContactName, false, true);
            document.Replace("[Department]", string.IsNullOrEmpty(certificateData.Department) ? "" : certificateData.Department, false, true);
            document.Replace("[Address Line 1]", string.IsNullOrEmpty(certificateData.ContactAddLine1) ? "" : certificateData.ContactAddLine1, false, true);
            document.Replace("[Address Line 2]", string.IsNullOrEmpty(certificateData.ContactAddLine2) ? "" : certificateData.ContactAddLine2, false, true);
            document.Replace("[Address Line 3]", string.IsNullOrEmpty(certificateData.ContactAddLine3) ? "" : certificateData.ContactAddLine3, false, true);
            document.Replace("[Address Line 4]", string.IsNullOrEmpty(certificateData.ContactAddLine4) ? "" : certificateData.ContactAddLine4, false, true);
            document.Replace("[Address Line 5]", string.IsNullOrEmpty(certificateData.ContactPostCode) ? "" : certificateData.ContactPostCode, false, true);

            document.Replace("[Inset employer name?]", certificateData.ContactName, false, true);
            return(document);
        }
Beispiel #2
0
        private async Task <MemoryStream> CreateWordDocumentStream(string mergedFileName, CertificateDataResponse certificateData, MemoryStream documentTemplateStream)
        {
            _aggregateLogger.LogInfo("Merging fields in docuument ...");
            var document = MergeFieldsInDocument(certificateData, documentTemplateStream);

            _aggregateLogger.LogInfo("Converting Document to PDF ...");

            await WriteCopyOfMergedDocumentToBlob(mergedFileName, document);

            return(ConvertDocumentToStream(document));
        }