update 20241128

This commit is contained in:
Stefan Hutter
2024-11-28 22:33:49 +01:00
parent 2a652c7325
commit 470d2e1bb5
82 changed files with 1629 additions and 365 deletions

View File

@@ -32,6 +32,8 @@ using Syncfusion.XlsIO;
using System.Security.Permissions;
using System.Net;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using static System.Net.Mime.MediaTypeNames;
@@ -78,6 +80,35 @@ namespace DOCGEN.Klassen
}
private string get_image(int imageid, int width, int height)
{
string URL = resturi + "API/GetImageAsBase64?imageid=" + imageid.ToString() + "&ImageWidth=" + width.ToString() + "&ImageHeight=" + height.ToString();
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, "Client - GetImage", "");
return "";
}
}
}
catch (Exception ex)
{
return "";
}
}
private string get_unterschrift(string MaNr)
{
@@ -115,7 +146,7 @@ namespace DOCGEN.Klassen
// return (Image)new Bitmap(imgToResize, size);
//}
public string Generate_Word(string base64, clsDocData docdata)
public string Generate_Word(string base64, clsDocData docdata, string img_UL="", string img_UR="",string img_faktura="")
{
string formattype = "";
MemoryStream ms = new MemoryStream(Helper.EncodeExtensions.DecodeBase642ByteArray(base64));
@@ -137,7 +168,12 @@ namespace DOCGEN.Klassen
if (compatibilityMode > CompatibilityMode.Word2010) { document.Settings.CompatibilityMode = CompatibilityMode.Word2010; }
formattype = document.ActualFormatType.ToString();
var formattype_original = document.ActualFormatType;
string ppimg = "";
string ppimg64 = "";
if (img_faktura != "")
{
insert_ppfaktura(document, img_faktura);
}
foreach (clsDocValue dv in docdata.DocValues)
{
if (docdata.Form_ohne_Unterschrift == "True")
@@ -167,15 +203,15 @@ namespace DOCGEN.Klassen
bookmarkNavigator.MoveToBookmark(dv.TMBeginn.ToString());
IWParagraph paragraph = new WParagraph(document);
paragraph.AppendBreak(BreakType.LineBreak);
if (dv.TMBeginn.ToString() == "TGEDKVornameNameLinksB99")
{
string unterschrift = get_unterschrift(docdata.Unterschrift_Links);
string unterschrift = "";
if (img_UL != "") { unterschrift = img_UL.ToString(); } else {
unterschrift = Newtonsoft.Json.JsonConvert.DeserializeObject<string>(get_unterschrift(docdata.Unterschrift_Links)); }
if (unterschrift != "")
{
string ss = Newtonsoft.Json.JsonConvert.DeserializeObject<string>(unterschrift);
MemoryStream mssign = new MemoryStream(Convert.FromBase64String(ss));
MemoryStream mssign = new MemoryStream(Convert.FromBase64String(unterschrift));
System.Drawing.Image img = System.Drawing.Image.FromStream(mssign);
paragraph.AppendPicture(img);
mssign.Dispose();
@@ -184,11 +220,13 @@ namespace DOCGEN.Klassen
}
else
{
string unterschrift = get_unterschrift(docdata.Unterschrift_Rechts);
string unterschrift = "";
if (img_UR != "") { unterschrift = img_UR; } else {
unterschrift = Newtonsoft.Json.JsonConvert.DeserializeObject<string>(get_unterschrift(docdata.Unterschrift_Rechts)); }
if (unterschrift != "")
{
string ss = Newtonsoft.Json.JsonConvert.DeserializeObject<string>(unterschrift);
MemoryStream mssign = new MemoryStream(Helper.EncodeExtensions.DecodeBase642ByteArray(ss));
MemoryStream mssign = new MemoryStream(Helper.EncodeExtensions.DecodeBase642ByteArray(unterschrift));
System.Drawing.Image img = System.Drawing.Image.FromStream(mssign);
mssign.Dispose();
paragraph.AppendPicture(img);
@@ -242,6 +280,10 @@ namespace DOCGEN.Klassen
if (dv.FieldName.ToString() != "")
{
if (dv.FieldName.ToString().Substring(0, 2) == "$$")
{
Replace_Text(ref document, dv.FieldName.ToString(),dv.Value.ToString());
}
try
{
foreach (WSection section in document.Sections)
@@ -340,6 +382,7 @@ namespace DOCGEN.Klassen
//document.UpdateDocumentFields();
//document.UpdateAlternateChunks();
MemoryStream destms = new MemoryStream();
if (formattype_original.ToString().ToUpper() == "DOTMXXX")
@@ -504,10 +547,10 @@ namespace DOCGEN.Klassen
}
return baseEntity;
}
public Image resizeImage(Image imgToResize, Size size)
{
return (Image)(new Bitmap(imgToResize, size));
}
//public Image resizeImage(Image imgToResize, Size size)
//{
// return (Image)(new Bitmap(imgToResize, size));
//}
private static void FindAndReplaceInTable(WTable table, TextSelection textSelection)
{
//Iterate through the rows of table.
@@ -534,6 +577,20 @@ namespace DOCGEN.Klassen
}
}
public void insert_ppfaktura(WordDocument document, string ppfakturaimage)
{
BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document);
bookmarkNavigator.MoveToBookmark("TGEDKAdresseZustellungB99");
string img = ppfakturaimage;
byte[] b = Convert.FromBase64String(ppfakturaimage);
MemoryStream mssign = new MemoryStream(b);
System.Drawing.Image image = System.Drawing.Image.FromStream(mssign);
IWParagraph paragraph = new WParagraph(document);
paragraph.AppendPicture(image);
bookmarkNavigator.InsertParagraph(paragraph);
}
public void Insert_Barcode(WordDocument document, clsDocData docData)
{

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -93,7 +93,8 @@ namespace DOCGEN
dd.DocValues = sb.DocValues;
dd.As_Faksimile = sb.faksimile_unterschrfit.ToString();
dd.Barcode = sb.vertrag == 1;
dok.dokument = sfword.Generate_Word(vorlage,dd);
dok.dokument = sfword.Generate_Word(vorlage,dd, sb.img_unterschriftlinks,sb.img_unterschrfitrechts,sb.img_faktura);
dok.doktype = "D";

Binary file not shown.

Binary file not shown.