OpenXML - वहाँ है एक तरह से दूर करने के लिए वार्शआउट की सुविधा Microsoft Word वॉटरमार्क?

0

सवाल

जब एक वॉटरमार्क जोड़ने के लिए शीर्षक के शब्द दस्तावेज़, यह स्वचालित रूप से कहते हैं, अस्पष्टता के लिए । मैं करना चाहते हैं को दूर करने के लिए है कि अस्पष्टता और जाँच पर पर माइक्रोसॉफ्ट वर्ड में ही, मैंने पाया है कि यह हटाया जा सकता है को अनचेक करके वार्शआउट विकल्प है । कर सकते हैं इस का उपयोग हटाया जा OpenXML?

मैं के बाद वॉटरमार्किंग कोड के नीचे है:

using System.IO;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;
using DocumentFormat.OpenXml;
using V = DocumentFormat.OpenXml.Vml;
using System.Diagnostics;

namespace WindowsFormsApplication3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            using (WordprocessingDocument package = WordprocessingDocument.Open(@"C:\Users\*****\****.docx", true))
            {
                InsertCustomWatermark(package, @"C:\Users\*******\****.jpg");
            }
        }

        private void InsertCustomWatermark(WordprocessingDocument package, string p)
        {
            SetWaterMarkPicture(p);
            MainDocumentPart mainDocumentPart1 = package.MainDocumentPart;
            if (mainDocumentPart1 != null)
            {
                mainDocumentPart1.DeleteParts(mainDocumentPart1.HeaderParts);
                HeaderPart headPart1 = mainDocumentPart1.AddNewPart<HeaderPart>();
                GenerateHeaderPart1Content(headPart1);
                string rId = mainDocumentPart1.GetIdOfPart(headPart1);
                ImagePart image = headPart1.AddNewPart<ImagePart>("image/jpeg", "rId999");
                GenerateImagePart1Content(image);
                IEnumerable<SectionProperties> sectPrs = mainDocumentPart1.Document.Body.Elements<SectionProperties>();
                foreach (var sectPr in sectPrs)
                {
                    sectPr.RemoveAllChildren<HeaderReference>();
                    sectPr.PrependChild<HeaderReference>(new HeaderReference() { Id = rId });
                }
            }
            else
            {
                MessageBox.Show("alert");
            }
        }
        private void GenerateHeaderPart1Content(HeaderPart headerPart1)
        {
            Header header1 = new Header();
            Paragraph paragraph2 = new Paragraph();
            Run run1 = new Run();
            Picture picture1 = new Picture();
            V.Shape shape1 = new V.Shape() { Id = "WordPictureWatermark75517470", Style = "position:absolute;left:0;text-align:left;margin-left:0;margin-top:0;width:415.2pt;height:456.15pt;z-index:-251656192;mso-position-horizontal:center;mso-position-horizontal-relative:margin;mso-position-vertical:center;mso-position-vertical-relative:margin", OptionalString = "_x0000_s2051", AllowInCell = false, Type = "#_x0000_t75" };
            V.ImageData imageData1 = new V.ImageData() { Gain = "19661f", BlackLevel = "22938f", Title = "水印", RelationshipId = "rId999" };
            shape1.Append(imageData1);
            picture1.Append(shape1);
            run1.Append(picture1);
            paragraph2.Append(run1);
            header1.Append(paragraph2);
            headerPart1.Header = header1;
        }
        private void GenerateImagePart1Content(ImagePart imagePart1)
        {
            System.IO.Stream data = GetBinaryDataStream(imagePart1Data);
            imagePart1.FeedData(data);
            data.Close();
        }
        private string imagePart1Data = "";
        private System.IO.Stream GetBinaryDataStream(string base64String)
        {
            return new System.IO.MemoryStream(System.Convert.FromBase64String(base64String));
        }
        public void SetWaterMarkPicture(string file)
        {
            FileStream inFile;
            byte[] byteArray;
            try
            {
                inFile = new FileStream(file, FileMode.Open, FileAccess.Read);
                byteArray = new byte[inFile.Length];
                long byteRead = inFile.Read(byteArray, 0, (int)inFile.Length);
                inFile.Close();
                imagePart1Data = Convert.ToBase64String(byteArray, 0, byteArray.Length);
            }
            catch (Exception ex)
            {
                Debug.Print(ex.Message);
            }
        }
    }
}
c# ms-word openxml openxml-sdk
2021-11-22 06:54:07
1

सबसे अच्छा जवाब

0

हमने पाया है कि इस के लिए एक समाधान. हम की तुलना में XML फ़ाइलों के लिए 2 .docx फ़ाइलों के साथ, और वॉटरमार्क बिना. अंतर यह है कि, संपत्ति के लाभ और BlackLevel से ImageData अब कर रहे हैं वर्तमान से .docx वॉटरमार्क के साथ. हम दूर करने की कोशिश की दोनों ने कहा गुण है और यह काम किया.

2021-11-25 05:42:36

अपने जवाब में सुधार किया जा सकता के साथ अतिरिक्त समर्थन जानकारी. कृपया संपादित जोड़ने के लिए आगे की जानकारी, इस तरह के रूप में प्रशंसा पत्र या दस्तावेज है, तो है कि दूसरों की पुष्टि कर सकते हैं कि आपका जवाब सही है. आप अधिक जानकारी पा सकते हैं पर कितना अच्छा लिखने के लिए जवाब में मदद केंद्र.
Community

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में