update 20250111

This commit is contained in:
Stefan Hutter
2025-01-11 18:28:18 +01:00
parent bd4598e4a8
commit 11b4f840f0
150 changed files with 3091 additions and 390 deletions

View File

@@ -16,6 +16,7 @@ using NLog;
using Syncfusion.XlsIO.Implementation.XmlSerialization;
using System.Security.Authentication.ExtendedProtection;
using System.Drawing;
using System.Drawing.Drawing2D;
using Syncfusion.XPS;
using System.Xml.Linq;
using System.Text.RegularExpressions;
@@ -35,6 +36,8 @@ using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using static System.Net.Mime.MediaTypeNames;
using System.Diagnostics;
using Database;
using System.Drawing.Drawing2D;
@@ -274,16 +277,25 @@ namespace DOCGEN.Klassen
{
insert_ppfaktura(document, img_faktura);
}
if (docdata.Form_ohne_Unterschrift=="True" || docdata.As_Faksimile == "True")
{
DB db = new DB();
}
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 = ""; }
if (dv2.TMBeginn.ToString() == "TGEDKVornameNameRechtsB99") { dv2.Value = ""; }
if (dv2.TMBeginn.ToString() == "TGEDKFunktionLinksB99") { dv2.Value = ""; }
if (dv2.TMBeginn.ToString() == "TGEDKFunktionRechtsB99") { dv2.Value = ""; }
if (dv2.TMBeginn.ToString().Contains("VornameNameLinks")) { dv2.Value = ""; }
if (dv2.TMBeginn.ToString().Contains("VornameNameRechts")) { dv2.Value = ""; }
if (dv2.TMBeginn.ToString().Contains("TGEDKFunktionLinks")) { dv2.Value = ""; }
if (dv2.TMBeginn.ToString().Contains("FunktionRechts")) { dv2.Value = ""; }
//if (dv2.TMBeginn.ToString() == "TGEDKVornameNameLinksB99") { dv2.Value = ""; }
//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() == "")
@@ -291,20 +303,24 @@ namespace DOCGEN.Klassen
try
{
BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document);
if ((dv.TMBeginn.ToString() == "TGEDKVornameNameLinksB99" || dv.TMBeginn.ToString() == "TGEDKVornameNameRechtsB99") && docdata.As_Faksimile == "True")
// if ((dv.TMBeginn.ToString() == "TGEDKVornameNameLinksB99" || dv.TMBeginn.ToString() == "TGEDKVornameNameRechtsB99") && docdata.As_Faksimile == "True")
if ((dv.TMBeginn.ToString().Contains("VornameNameLinks") || dv.TMBeginn.ToString().Contains("VornameNameRechts")) && 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(); }
//if (dv2.TMBeginn.ToString() == "TGEDKFunktionLinksB99") { funktionlinks = dv2.Value.ToString(); }
//if (dv2.TMBeginn.ToString() == "TGEDKFunktionRechtsB99") { funktionrechts = dv2.Value.ToString(); }
if (dv2.TMBeginn.ToString().Contains("FunktionLinks")) { funktionlinks = dv2.Value.ToString(); }
if (dv2.TMBeginn.ToString().Contains("FunktionRecht")) { funktionrechts = dv2.Value.ToString(); }
}
bookmarkNavigator.MoveToBookmark(dv.TMBeginn.ToString());
IWParagraph paragraph = new WParagraph(document);
paragraph.AppendBreak(BreakType.LineBreak);
if (dv.TMBeginn.ToString() == "TGEDKVornameNameLinksB99")
// if (dv.TMBeginn.ToString() == "TGEDKVornameNameLinksB99")
if (dv.TMBeginn.ToString().Contains("VornameNameLinks"))
{
string unterschrift = "";
if (img_UL != "") { unterschrift = img_UL.ToString(); } else {
@@ -337,7 +353,8 @@ namespace DOCGEN.Klassen
//paragraph.AppendPicture(image);
paragraph.AppendBreak(BreakType.LineBreak);
paragraph.AppendText(dv.Value.ToString());
if (dv.TMBeginn.ToString() == "TGEDKVornameNameLinksB99")
//if (dv.TMBeginn.ToString() == "TGEDKVornameNameLinksB99")
if (dv.TMBeginn.ToString().Contains("VornameNameLinks"))
{
paragraph.AppendBreak(BreakType.LineBreak);
paragraph.AppendText(funktionlinks);
@@ -355,8 +372,9 @@ namespace DOCGEN.Klassen
}
else
{
if (docdata.As_Faksimile=="True" && (dv.TMBeginn.ToString() == "TGEDKFunktionLinksB99" || dv.TMBeginn.ToString() == "TGEDKFunktionRechtsB99"))
{
//if (docdata.As_Faksimile=="True" && (dv.TMBeginn.ToString() == "TGEDKFunktionLinksB99" || dv.TMBeginn.ToString() == "TGEDKFunktionRechtsB99"))
if (docdata.As_Faksimile == "True" && (dv.TMBeginn.ToString().Contains("FunktionLinks") || dv.TMBeginn.ToString().Contains("FunktionRechts")))
{
}
else
@@ -685,6 +703,82 @@ namespace DOCGEN.Klassen
}
private static System.Drawing.Image ResizeImage(System.Drawing.Image imgToResize, Size size)
{
// Get the image current width
int sourceWidth = imgToResize.Width;
// Get the image current height
int sourceHeight = imgToResize.Height;
float nPercent = 0;
float nPercentW = 0;
float nPercentH = 0;
// Calculate width and height with new desired size
nPercentW = ((float)size.Width / (float)sourceWidth);
nPercentH = ((float)size.Height / (float)sourceHeight);
nPercent = Math.Min(nPercentW, nPercentH);
// New Width and Height
int destWidth = (int)(sourceWidth * nPercent);
int destHeight = (int)(sourceHeight * nPercent);
Bitmap b = new Bitmap(destWidth, destHeight);
Graphics g = Graphics.FromImage((System.Drawing.Image)b);
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
// Draw image with new width and height
g.DrawImage(imgToResize, 0, 0, destWidth, destHeight);
g.Dispose();
return (System.Drawing.Image)b;
}
public System.Drawing.Image AutoSizeImage(System.Drawing.Image oBitmap, int maxWidth, int maxHeight, bool bStretch = false)
{
// Größenverhältnis der max. Dimension
float maxRatio = (float)(maxWidth / (double)maxHeight);
// Bildgröße und aktuelles Größenverhältnis
int imgWidth = oBitmap.Width;
int imgHeight = oBitmap.Height;
float imgRatio = (float)(imgWidth / (double)imgHeight);
// Bild anpassen?
if (imgWidth > maxWidth | imgHeight > maxHeight | bStretch)
{
if (imgRatio <= maxRatio)
{
// Größenverhältnis des Bildes ist kleiner als die
// maximale Größe, in der das Bild angezeigt werden kann.
// In diesem Fall muss die Bildbreite angepasst werden.
imgWidth = (int)Math.Round(imgWidth / (imgHeight / (double)maxHeight));
imgHeight = maxHeight;
}
else
{
// Größenverhältnis des Bildes ist größer als die
// maximale Größe, in der das Bild angezeigt werden kann.
// In diesem Fall muss die Bildhöhe angepasst werden.
imgHeight = (int)Math.Round(imgHeight / (imgWidth / (double)maxWidth));
imgWidth = maxWidth;
}
// Bitmap-Objekt in der neuen Größe erstellen
var oImage = new Bitmap(imgWidth, imgHeight);
// Bild interpolieren, damit die Qualität erhalten bleibt
using (Graphics g = Graphics.FromImage(oImage))
{
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
g.DrawImage(oBitmap, new System.Drawing.Rectangle(0, 0, imgWidth, imgHeight));
}
// neues Bitmap zurückgeben
return oImage;
}
else
{
// unverändertes Originalbild zurückgeben
return oBitmap;
}
}
public void Insert_Barcode(WordDocument document, clsDocData docData)
{
System.Drawing.Image barcodeimage;
@@ -695,14 +789,21 @@ namespace DOCGEN.Klassen
//int rotation = 0;
//if (docData.barcode_horizontal == 0) { rotation = 270; }
barcodeimage = Barcode.Get_LinerBarcode(Barcoded.Symbology.I2of5, docData.Dokumentid.Substring(6, 16), docData.Dokumentid.Substring(6, 16)+docData.barcode_zusatz, docData.barcode_textposition, docData.Zusatz_Font, Convert.ToInt32(docData.Zusatz_FontSize),0);
//barcodeimage = ScaleImage(barcodeimage, docData.barcode_width, docData.barcode_height);
//barcodeimage = resizeImage(barcodeimage, new Size(docData.barcode_width,docData.barcode_height));
break;
case "1":
//BarcodeLibVBDatamatrix.MW6Datamatrix dm = new BarcodeLibVBDatamatrix.MW6Datamatrix();
//dm.Generage_BarcodeImage(ref docData, @"h:\tssettings\edoka\");
//barcodeimage = System.Drawing.Image.FromFile(@"h:\tssettings\edoka\a_" + docData.Dokumentid + ".png");
//System.IO.File.Delete(@"h:\tssettings\edoka\a_" + docData.Dokumentid + ".png");
//barcodeimage = Barcode.Get_Datamatrix(DataMatrix.net.DmtxScheme.DmtxSchemeAutoBest, docData.barcode_content, 4, 0, 0, "Left", docData.barcode_content, docData.barcode_font, docData.barcode_fontsize);
barcodeimage = Barcode.Get_Datamatrix(DataMatrix.net.DmtxScheme.DmtxSchemeAscii,docData.barcode_content, 6, 6, 0, "Right", docData.barcode_text+docData.barcode_zusatz, docData.Zusatz_Font, docData.Zusatz_FontSize);
barcodeimage = AutoSizeImage(barcodeimage, docData.barcode_width, docData.barcode_height, false);
//barcodeimage= resizeImage(barcodeimage, new Size(docData.barcode_width, docData.barcode_height));
barcodeimage = ScaleImage(barcodeimage, docData.barcode_width,docData.barcode_height);
//barcodeimage = ScaleImage(barcodeimage, docData.barcode_width,docData.barcode_height);
//barcodeimage.Save(@"x:\bctest.png");
break;
@@ -743,8 +844,8 @@ namespace DOCGEN.Klassen
else
{
picture.Rotation = 0;
// picture.Height = docData.barcode_height;
// picture.Width = docData.barcode_width;
//picture.Height = docData.barcode_height;
//picture.Width = docData.barcode_width;
picture.VerticalPosition = docData.barcode_top; ;
picture.HorizontalPosition = docData.barcode_left;