using Syncfusion.DocIO; using Syncfusion.DocIO.DLS; using System.IO; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Xml.Linq; using System.Text.RegularExpressions; //using DOCGEN.Klassen; using System.Security.Cryptography; using SkiaSharp; using System.Web; using Syncfusion.Pdf; using System.Diagnostics.Eventing.Reader; using Syncfusion.DocToPDFConverter; using Syncfusion.OfficeChart; using System.Drawing.Imaging; using Syncfusion.OfficeChart; using Syncfusion.OfficeChartToImageConverter; using Syncfusion.XPS; using static System.Windows.Forms.VisualStyles.VisualStyleElement; using Syncfusion.WinForms.ListView; using Syncfusion.Windows.Forms.Tools; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Database; using System.Xml; namespace DocIO_Demo_SHU { public partial class Form1 : Form { public Form1() { InitializeComponent(); } public void Lic() { Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("Ngo9BigBOggjHTQxAR8/V1NCaF5cXmZCf1FpRmJGdld5fUVHYVZUTXxaS00DNHVRdkdnWXdecXRdQ2heUU13XUI="); } private void Form1_Load(object sender, EventArgs e) { Lic(); ImageList imageList = new ImageList { ImageSize = new Size(32, 32) }; Image img = new Bitmap(Properties.Resources.Word_32x32_32); imageList.Images.Add(img); img = new Bitmap(Properties.Resources.Excel_32x32_32); imageList.Images.Add(img); img = new Bitmap(Properties.Resources.PDF_32x32_32); imageList.Images.Add(img); //listView1.LargeImageList = imageList; ////listView1.View = View.Tile; //listView1.Items.Add("Mahesh Chand"); //listView1.Items.Add("Mike Gold"); //listView1.Items.Add("Praveen Kumar"); //listView1.Items.Add("Raj Beniwal"); //listView1.AllowDrop = true; //listView1.AllowDrop = true; //listView1.ItemDrag += new ItemDragEventHandler(myListView_ItemDrag); //listView1.DragEnter += new DragEventHandler(myListView_DragEnter); //listView1.DragOver += new DragEventHandler(myListView_DragOver); //listView1.DragLeave += new EventHandler(myListView_DragLeave); //listView1.DragDrop += new DragEventHandler(myListView_DragDrop); } private void myListView_ItemDrag(object sender, ItemDragEventArgs e) { //listView1.DoDragDrop(e.Item, DragDropEffects.Move); } // Sets the target drop effect. private void myListView_DragEnter(object sender, DragEventArgs e) { e.Effect = e.AllowedEffect; } // Moves the insertion mark as the item is dragged. // Sorts ListViewItem objects by index. private class ListViewIndexComparer : System.Collections.IComparer { public int Compare(object x, object y) { return ((ListViewItem)x).Index - ((ListViewItem)y).Index; } } private void split_doc(ref WordDocument wordDocument, ref WordDocument target, int Part, int sectionnr) { if (Part == 1) { target.Sections.Add(wordDocument.Sections[0].Clone()); } else { int i = 0; foreach (WSection section in wordDocument.Sections) { if (i != sectionnr) { target.Sections.Add(wordDocument.Sections[i].Clone()); } i = i + 1; } } } private void listView1_SelectedIndexChanged(object sender, EventArgs e) { } private void treeViewAdv1_ItemDrag(object sender, ItemDragEventArgs e) { DoDragDrop(e.Item, DragDropEffects.Move); } private void treeViewAdv1_DragEnter(object sender, DragEventArgs e) { e.Effect = DragDropEffects.Move; } private void treeView1_DragDrop(object sender, DragEventArgs e) { } private void treeViewAdv1_ItemDrag_1(object sender, ItemDragEventArgs e) { TreeViewAdv treeViewAdv = sender as TreeViewAdv; // The TreeViewAdv always provides an array of selected nodes. TreeNodeAdv[] nodes = e.Item as TreeNodeAdv[]; // Let us get only the first selected node. TreeNodeAdv node = nodes[0]; DragDropEffects result = treeViewAdv.DoDragDrop(node, DragDropEffects.Move); } private TreeNodeAdv currentSourceNode; private void treeViewAdv1_DragOver(object sender, DragEventArgs e) { bool droppable = true; TreeNodeAdv destinationNode = null; TreeViewAdv treeView = sender as TreeViewAdv; Point ptInTree = treeView.PointToClient(new Point(e.X, e.Y)); this.currentSourceNode = null; // Looking for a single tree node. if (e.Data.GetDataPresent(typeof(TreeNodeAdv))) { // Get the destination and source node. destinationNode = treeView.GetNodeAtPoint(ptInTree); TreeNodeAdv sourceNode = (TreeNodeAdv)e.Data.GetData(typeof(TreeNodeAdv)); this.currentSourceNode = sourceNode; droppable = true; } else droppable = false; if (droppable) // If Moving is allowed: e.Effect = DragDropEffects.Move; else e.Effect = DragDropEffects.None; Point pt = this.treeViewAdv1.PointToClient(new Point(e.X, e.Y)); this.treeViewAdv1.SelectedNode = this.treeViewAdv1.GetNodeAtPoint(pt); Console.WriteLine(this.treeViewAdv1.SelectedNode.Text); } private void treeViewAdv1_DragDrop(object sender, DragEventArgs e) { TreeViewAdv treeView = sender as TreeViewAdv; // Get the destination and source node. TreeNodeAdv sourceNode = (TreeNodeAdv)e.Data.GetData(typeof(TreeNodeAdv)); Point pt = this.treeViewAdv1.PointToClient(new Point(e.X, e.Y)); TreeNodeAdv destinationNode = this.treeViewAdv1.GetNodeAtPoint(pt); sourceNode.Move(destinationNode, NodePositions.Next); this.currentSourceNode = null; treeView.SelectedNode = sourceNode; } private void treeViewAdv1_DragLeave(object sender, EventArgs e) { //this.treeViewDragHighlightTracker.ClearHighlightNode(); } private void treeViewAdv1_QueryContinueDrag(object sender, QueryContinueDragEventArgs e) { if (e.EscapePressed) { e.Action = DragAction.Cancel; } } private void treeViewAdv1_DragEnter_1(object sender, DragEventArgs e) { } private void button2_Click(object sender, EventArgs e) { //OnDocOffice.clsWordEdit wh = new OnDocOffice.clsWordEdit("Data Source=shu01\\shu00;Initial Catalog=edoka_dms;Persist Security Info=True;User ID=sa;Password=*shu29", textBox2.Text, ""); //wh.Edit_Document(); //wh.exec_macros(textBox2.Text, Convert.ToInt32(textBox3.Text), "Data Source=shu01\\shu00;Initial Catalog=edoka_dms;Persist Security Info=True;User ID=sa;Password=*shu29"); } private void button1_Click(object sender, EventArgs e) { } private void textBox5_TextChanged(object sender, EventArgs e) { } public class docitem { public string itemname; public string itemtag; public string itemvalue; public string doclinkname; } private IEnumerable<(string path, string key, string value)> GetNodes(JToken token) { foreach (var jt in token.Children()) { if (!jt.Children().Any()) { yield return ( path: jt.Path, key: jt.Path.Split('.').Last(), value: jt.ToString() ); } foreach (var (path, key, value) in GetNodes(jt)) { yield return (path, key, value); } } } private void button3_Click(object sender, EventArgs e) { string jsonstring = System.IO.File.ReadAllText(textBox4.Text); dynamic data = JsonConvert.DeserializeObject(jsonstring); List docitemlist = new List(); var jo = JObject.Parse(jsonstring); var valueTuples = GetNodes(jo).ToList(); foreach (var valueTuple in valueTuples) { docitem d = new docitem(); d.itemname = valueTuple.Item1; d.itemtag = valueTuple.Item2; d.itemvalue = valueTuple.Item3; d.doclinkname = ""; docitemlist.Add(d); } DB db = new DB(this.textBox6.Text); if (VerifyInput(data.Dokumenttyp.ToString(), "Dokumenttypnr", ref db) == false) { Console.WriteLine("Dokumenttypnr ist ungültigt:" + data.Dokumenttypnr.ToString()); return; } if (VerifyInput(data.Bp.Partnernummer.ToString(), "Partner", ref db) == false) { Console.WriteLine("Partnernummer ist ungültigt:" + data.Bp.Partnernummer.ToString()); return; } Console.WriteLine("Verify OK"); WordDocument document = new WordDocument(); document.Open(textBox5.Text, FormatType.Docx); // Or create a new document BookmarksNavigator bk = new BookmarksNavigator(document); bk.MoveToBookmark("Tabelle"); int maxcol = 0; int maxrow = 0; foreach (docitem di in docitemlist) { if (di.itemname.Contains("].th")) { string s = di.itemname.Substring(0, di.itemname.Length - 1); s = s.Substring(s.Length-1, 1); maxcol = Convert.ToInt32(s); } if (di.itemname.Contains(".tr[")){ string s = di.itemname.Substring(9, 1); maxrow = Convert.ToInt32(s); } } IWTable table = new WTable(document); int irow = 0; int icol = 0; // Set the number of rows and columns table.ResetCells(maxrow + 1, maxcol + 1); for (int i = 0; i