Exemplo n.º 1
0
        private Paragraph VlozVnorenySoubor(MainDocumentPart mainPart, string strSoubor, bool blnRelativniCesta)
        {
            ExternalRelationship er = null;

            if (blnRelativniCesta)
            {
                er = mainPart.AddExternalRelationship(csSubDocument, new System.Uri(strSoubor, System.UriKind.Relative));
            }
            else
            {
                er = mainPart.AddExternalRelationship(csSubDocument, new System.Uri(strSoubor, System.UriKind.Absolute));
            }

            string sId = er.Id;

            Paragraph           p  = new Paragraph();
            ParagraphProperties pp = new ParagraphProperties();

            SectionProperties s = new SectionProperties();

            pp.Append(s);

            SubDocumentReference sdr = new SubDocumentReference()
            {
                Id = sId
            };

            p.Append(pp);
            p.Append(sdr);

            return(p);
        }
Exemplo n.º 2
0
        public static void InsertTrackingURI(this WordprocessingDocument document, string url)
        {
            MainDocumentPart mainPart = document.MainDocumentPart;
            var  uri     = new System.Uri(url);
            var  extRel  = mainPart.AddExternalRelationship("http://schemas.openxmlformats.org/officeDocument/2006/relationships/image", uri);
            var  docProp = document.MainDocumentPart.Document.Descendants <DW.DocProperties>();
            uint id;

            if (docProp.Count() == 0)
            {
                id = 0;
            }
            else
            {
                id = docProp.Max(element => element.Id.Value);
            }
            var element = GetPictureElement(extRel.Id, Guid.NewGuid().ToString(), id + 1, 0, 0);

            document.MainDocumentPart.Document.Body.AppendChild(new Paragraph(new Run(element)));
        }
Exemplo n.º 3
0
        /// <summary>
        /// Converts the DOTX to DOCX
        /// </summary>
        /// <returns>True or False (with an exception) if successful in converting the document</returns>
        private TemplateGenerationResult ConvertTemplate()
        {
            try
            {
                MemoryStream msFile = null;

                using (Stream sTemplate = File.Open(_templateFileName, FileMode.Open, FileAccess.Read))
                {
                    msFile = new MemoryStream((int)sTemplate.Length);
                    sTemplate.CopyTo(msFile);
                    msFile.Position = 0L;
                }

                using (WordprocessingDocument wpdFile = WordprocessingDocument.Open(msFile, true))
                {
                    wpdFile.ChangeDocumentType(WordprocessingDocumentType.Document);
                    MainDocumentPart docPart = wpdFile.MainDocumentPart;
                    docPart.AddExternalRelationship("http://schemas.openxmlformats.org/officeDocument/2006/relationships/attachedTemplate", new Uri(_templateFileName, UriKind.RelativeOrAbsolute));
                    docPart.Document.Save();
                }

                // Flush the MemoryStream to the file
                File.WriteAllBytes(_targetFileName, msFile.ToArray());

                msFile.Close();

                return(new TemplateGenerationResult {
                    Value = true
                });
            }
            catch (Exception ex)
            {
                _log.Error(ex.Message.ToString(CultureInfo.InvariantCulture), ex.GetBaseException());
                //System.IO.File.AppendAllText(@"c:\temp\errors.txt", "In DocumentGeneration::convertTemplate():   " + ex.Message.ToString(CultureInfo.InvariantCulture));
                return(new TemplateGenerationResult {
                    Value = false, Exception = "DocumentGeneration::convertTemplate() - " + ex.ToString()
                });
            }
        }