update 20241127

This commit is contained in:
Stefan Hutter
2024-11-27 15:53:34 +01:00
parent 341ea50f06
commit 2a652c7325
11218 changed files with 1987907 additions and 362275 deletions

View File

@@ -22,6 +22,8 @@ namespace DOCGEN.Generator
public string DokumentID;
public string tempdir;
private static readonly NLog.Logger Logger = NLog.LogManager.GetCurrentClassLogger();
public string apikey = "";
public string resturi = "";
public void Lic()
{
@@ -36,11 +38,20 @@ namespace DOCGEN.Generator
this.connectionstring = connectionstring;
Lic();
}
public DocGenerator_from_EDOKA(string connectionstring, string RestUri, string ApiKey)
{
this.connectionstring = connectionstring;
Lic();
this.apikey= ApiKey;
this.resturi= RestUri;
}
public DocGenerator_from_EDOKA(string connectionstring, string tempdir)
public DocGenerator_from_EDOKA(string connectionstring, string tempdir, string RestUri, string ApiKey)
{
this.connectionstring = connectionstring;
this.tempdir = tempdir;
this.resturi = RestUri;
this.apikey = ApiKey;
}
public clsdok Generate_Doc_EDOKA(string dokumentid, ref clsDocData docdata, bool useoffice = false )
@@ -57,7 +68,7 @@ namespace DOCGEN.Generator
{
case "DOCX": case "DOCM": case "DOC": case "DOT":
case "WORD": case "DOTM":
SyncFWord sfword = new SyncFWord();
SyncFWord sfword = new SyncFWord(resturi,apikey);
generate_docdata(dokumentid, ref docdata);
clsdok dok = new clsdok("", "", "");
if (useoffice == false) {

View File

@@ -30,6 +30,8 @@ using Syncfusion.XlsIO.Implementation.TemplateMarkers;
using System.Drawing.Printing;
using Syncfusion.XlsIO;
using System.Security.Permissions;
using System.Net;
using System.Runtime.CompilerServices;
@@ -37,6 +39,15 @@ namespace DOCGEN.Klassen
{
public class SyncFWord
{
public string resturi = "";
public string apikey = "";
public SyncFWord(string resturi, string apikey)
{
this.resturi = resturi;
this.apikey=apikey;
}
public bool create_nativ(string property, string value, string base64, string originalfile, string destfile)
{
FileStream ms = new FileStream(originalfile, FileMode.Open, FileAccess.Read);
@@ -66,16 +77,79 @@ namespace DOCGEN.Klassen
return true;
}
private string get_unterschrift(string MaNr)
{
string URL = resturi + "API/GetUnterschriftAsBase64ByMitarbeiternr?MaNr=" + MaNr;
HttpWebRequest webRequest = HttpWebRequest.Create(URL) as HttpWebRequest;
webRequest.Method = WebRequestMethods.Http.Get;
webRequest.Headers["Authorization"] = "Bearer " + apikey;
try
{
using (HttpWebResponse response = webRequest.GetResponse() as HttpWebResponse)
{
if (response.StatusCode == HttpStatusCode.OK)
{
StreamReader reader = new StreamReader(response.GetResponseStream());
string responseContent = reader.ReadToEnd();
return responseContent;
}
else
{
Logging.Logging.Error(URL + ": " + response.StatusCode.ToString() + " / " + response.StatusDescription, "Clinet - DokList GetDocument", "");
return "";
}
}
}
catch (Exception ex)
{
return "";
}
}
//private Image resizeImage(Image imgToResize, Size size)
//{
// return (Image)new Bitmap(imgToResize, size);
//}
public string Generate_Word(string base64, clsDocData docdata)
{
string formattype = "";
MemoryStream ms = new MemoryStream(Helper.EncodeExtensions.DecodeBase642ByteArray(base64));
WordDocument document = new WordDocument(ms, FormatType.Automatic);
CompatibilityMode compatibilityMode = document.Settings.CompatibilityMode;
switch (compatibilityMode)
{
case CompatibilityMode.Word2010:
document.Settings.CompatibilityMode = CompatibilityMode.Word2010;
break;
case CompatibilityMode.Word2013:
break;
default:
document.Settings.CompatibilityMode = CompatibilityMode.Word2010;
break;
}
if (compatibilityMode == CompatibilityMode.Word2010) { document.Settings.CompatibilityMode = CompatibilityMode.Word2010; }
if (compatibilityMode > CompatibilityMode.Word2010) { document.Settings.CompatibilityMode = CompatibilityMode.Word2010; }
formattype = document.ActualFormatType.ToString();
var formattype_original = document.ActualFormatType;
foreach (clsDocValue dv in docdata.DocValues)
{
if (docdata.Form_ohne_Unterschrift == "True")
{
foreach (clsDocValue dv2 in docdata.DocValues)
{
if (dv2.TMBeginn.ToString() == "TGEDKVornameNameLinksB99") { dv2.Value = "(Gültig ohne Unterschrift)"; }
if (dv2.TMBeginn.ToString() == "TGEDKVornameNameRechtsB99") { dv2.Value = ""; }
if (dv2.TMBeginn.ToString() == "TGEDKFunktionLinksB99") { dv2.Value = ""; }
if (dv2.TMBeginn.ToString() == "TGEDKFunktionRechtsB99") { dv2.Value = ""; }
}
}
if (dv.TMBeginn.ToString() != "" && dv.TMEnd.ToString() == "")
{
try
@@ -83,21 +157,76 @@ namespace DOCGEN.Klassen
BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document);
if ((dv.TMBeginn.ToString() == "TGEDKVornameNameLinksB99" || dv.TMBeginn.ToString() == "TGEDKVornameNameRechtsB99") && docdata.As_Faksimile == "True")
{
string funktionlinks = "";
string funktionrechts = "";
foreach (clsDocValue dv2 in docdata.DocValues)
{
if (dv2.TMBeginn.ToString()== "TGEDKFunktionLinksB99") { funktionlinks = dv2.Value.ToString(); }
if (dv2.TMBeginn.ToString() == "TGEDKFunktionRechtsB99") { funktionrechts = dv2.Value.ToString(); }
}
bookmarkNavigator.MoveToBookmark(dv.TMBeginn.ToString());
IWParagraph paragraph = new WParagraph(document);
paragraph.AppendBreak(BreakType.LineBreak);
System.Drawing.Image image = System.Drawing.Image.FromFile(@"x:\docdemo\unterschriften\kube1.png");
paragraph.AppendPicture(image);
if (dv.TMBeginn.ToString() == "TGEDKVornameNameLinksB99")
{
string unterschrift = get_unterschrift(docdata.Unterschrift_Links);
if (unterschrift != "")
{
string ss = Newtonsoft.Json.JsonConvert.DeserializeObject<string>(unterschrift);
MemoryStream mssign = new MemoryStream(Convert.FromBase64String(ss));
System.Drawing.Image img = System.Drawing.Image.FromStream(mssign);
paragraph.AppendPicture(img);
mssign.Dispose();
img.Dispose();
}
}
else
{
string unterschrift = get_unterschrift(docdata.Unterschrift_Rechts);
if (unterschrift != "")
{
string ss = Newtonsoft.Json.JsonConvert.DeserializeObject<string>(unterschrift);
MemoryStream mssign = new MemoryStream(Helper.EncodeExtensions.DecodeBase642ByteArray(ss));
System.Drawing.Image img = System.Drawing.Image.FromStream(mssign);
mssign.Dispose();
paragraph.AppendPicture(img);
img.Dispose();
}
}
// System.Drawing.Image image = System.Drawing.Image.FromFile(@"x:\docdemo\unterschriften\kube1.png");
//paragraph.AppendPicture(image);
paragraph.AppendBreak(BreakType.LineBreak);
paragraph.AppendText(dv.Value.ToString());
bookmarkNavigator.InsertParagraph(paragraph);
if (dv.TMBeginn.ToString() == "TGEDKVornameNameLinksB99")
{
paragraph.AppendBreak(BreakType.LineBreak);
paragraph.AppendText(funktionlinks);
}
else
{
paragraph.AppendBreak(BreakType.LineBreak);
paragraph.AppendText(funktionrechts);
}
//paragraph.rep
bookmarkNavigator.InsertParagraph(paragraph);
}
else
{
bookmarkNavigator.MoveToBookmark(dv.TMBeginn.ToString());
bookmarkNavigator.InsertText(dv.Value.ToString());
if (docdata.As_Faksimile=="True" && (dv.TMBeginn.ToString() == "TGEDKFunktionLinksB99" || dv.TMBeginn.ToString() == "TGEDKFunktionRechtsB99"))
{
}
else
{
bookmarkNavigator.MoveToBookmark(dv.TMBeginn.ToString());
bookmarkNavigator.InsertText(dv.Value.ToString());
}
}
}
catch { }