update 20250224

This commit is contained in:
Stefan Hutter
2025-02-23 17:33:17 +01:00
parent 794e577f22
commit 0f76b2b376
121 changed files with 30641 additions and 110 deletions

View File

@@ -1616,13 +1616,15 @@ namespace OnDocOffice
}
bool is_protected = false;
Microsoft.Office.Interop.Word.Document docWord;
Microsoft.Office.Interop.Word.Application word;
public bool sign_doc(ref Microsoft.Office.Interop.Word.Application word, string imagepath_ul, string imagepath_ur, string dokumentid, string dokumenttypnr)
{
Logging.Logging.Debug("Sign_Doc", "OnDoc", dokumentid);
docWord = word.ActiveDocument;
this.word = word;
DB db = new DB(this.ConnectionString);
db.Get_Tabledata("Select * from OnDocSignaturePosition where dokumenttypnr=1089");
db.Get_Tabledata("Select * from OnDocSignaturePosition where dokumenttypnr=" + dokumenttypnr+" order by id",false,true);
System.Data.DataTable position = db.dsdaten.Tables[0];
db = null;
Thread.Sleep(1000);
@@ -1636,37 +1638,48 @@ namespace OnDocOffice
int h = 0;
int l = 0;
int t = 0;
int type = 1;
try
{
List<string> list = new List<string>();
foreach (Microsoft.Office.Interop.Word.Bookmark bm in docWord.Bookmarks)
{
if (bm.Name.Contains("VornameNameLinks") || bm.Name.Contains("UnterschriftLinks"))
if (bm.Name.Contains("VornameNameLinks") || bm.Name.Contains("UnterschriftLinks") || bm.Name == "TGEDKVornameNameL") { list.Add(bm.Name); }
if (bm.Name.Contains("VornameNameRechts") || bm.Name.Contains("UnterschriftRechts") || bm.Name == "TGEDKVornameNameR") { list.Add(bm.Name); }
}
list.Sort();
foreach (string bm in list)
{
if (bm.Contains("VornameNameLinks") || bm.Contains("UnterschriftLinks") || bm=="TGEDKVornameNameL")
{
foreach (System.Data.DataRow dr in position.Rows)
{
if (bm.Name.ToUpper() == dr["bookmark"].ToString().ToUpper())
if (bm.ToUpper() == dr["bookmark"].ToString().ToUpper())
{
l = Convert.ToInt32("posleft");
t = Convert.ToInt32("postop");
w = Convert.ToInt32("width");
h = Convert.ToInt32("height");
l = Convert.ToInt32(dr["posleft"]);
t = Convert.ToInt32(dr["postop"]);
w = Convert.ToInt32(dr["width"]);
h = Convert.ToInt32(dr["height"]);
type = Convert.ToInt32(dr["type"]);
}
}
insert_unterschrift(bm.Name, imagepath_ul,l,t,w,h);
insert_unterschrift(bm, imagepath_ul,l,t,w,h,type);
}
if (bm.Name.Contains("VornameNameRechts") || bm.Name.Contains("UnterschriftRechts"))
if (bm.Contains("VornameNameRechts") || bm.Contains("UnterschriftRechts") || bm == "TGEDKVornameNameR")
{
foreach (System.Data.DataRow dr in position.Rows)
{
if (bm.Name.ToUpper() == dr["bookmark"].ToString().ToUpper())
if (bm.ToUpper() == dr["bookmark"].ToString().ToUpper())
{
l = Convert.ToInt32("posleft");
t = Convert.ToInt32("postop");
w = Convert.ToInt32("width");
h = Convert.ToInt32("height");
l = Convert.ToInt32(dr["posleft"]);
t = Convert.ToInt32(dr["postop"]);
w = Convert.ToInt32(dr["width"]);
h = Convert.ToInt32(dr["height"]);
type = Convert.ToInt32(dr["type"]);
}
}
insert_unterschrift(bm.Name, imagepath_ur,l,t,w,h);
insert_unterschrift(bm, imagepath_ur,l,t,w,h,type);
}
}
@@ -1691,65 +1704,51 @@ namespace OnDocOffice
}
}
public void insert_unterschrift(string bookmark, string imagepath, int l, int t, int w, int h)
public void insert_unterschrift(string bookmark, string imagepath, int l, int t, int w, int h, int type)
{
if (imagepath == "") return;
object missing = Type.Missing;
Microsoft.Office.Interop.Word.Range myRange = docWord.Bookmarks[bookmark].Range;
///
Microsoft.Office.Interop.Word.Bookmark bm = docWord.Bookmarks[bookmark];
bm.Range.GoTo();
bm.Select();
Microsoft.Office.Interop.Word.Shape myShape1 = docWord.Shapes.AddPicture(imagepath, false, true, 0, 0, 120, 50, missing);
//myShape1.Top = myShape1.Top - myShape1.Height;
myShape1.WrapFormat.Type = Microsoft.Office.Interop.Word.WdWrapType.wdWrapBehind;
return;
///
// Microsoft.Office.Interop.Word.InlineShape myinlineshape = myRange.InlineShapes.AddPicture(imagepath, false, false, missing);
float vertical = bm.Range.Information[Microsoft.Office.Interop.Word.WdInformation.wdVerticalPositionRelativeToPage];
float horizontal = bm.Range.Information[Microsoft.Office.Interop.Word.WdInformation.wdHorizontalPositionRelativeToPage];
float marigntop = docWord.PageSetup.TopMargin;
float marginleft = docWord.PageSetup.LeftMargin;
docWord.Activate();
//Microsoft.Office.Interop.Word.Range myRange3 = bm.Range;
//Microsoft.Office.Interop.Word.Range myRange4 = bm.Range.GoTo();
//Microsoft.Office.Interop.Word.Shape myShape = docWord.Shapes.AddPicture( imagepath, false, true, 0, 0, 120, 50, myRange4);
Microsoft.Office.Interop.Word.Shape myShape = docWord.Shapes.AddPicture(imagepath, false, true, 0, 0, 120, 50, missing);
//myShape.WrapFormat.Type = Microsoft.Office.Interop.Word.WdWrapType.wdWrapTight;
myShape.RelativeHorizontalPosition = Microsoft.Office.Interop.Word.WdRelativeHorizontalPosition.wdRelativeHorizontalPositionPage;
myShape.RelativeVerticalPosition = Microsoft.Office.Interop.Word.WdRelativeVerticalPosition.wdRelativeVerticalPositionPage;
if (bookmark.Contains("Rechts"))
if (type == 1)
{
myShape.Left = horizontal-marginleft ;
Microsoft.Office.Interop.Word.Range myRange = docWord.Bookmarks[bookmark].Range;
Microsoft.Office.Interop.Word.Bookmark bm = docWord.Bookmarks[bookmark];
bm.Range.GoTo();
bm.Select();
Thread.Sleep(500);
System.Windows.Forms.Application.DoEvents();
Microsoft.Office.Interop.Word.Shape myShape1 = docWord.Shapes.AddPicture(imagepath, false, true, 0, 0, 120, 50, missing);
//myShape1.Top = myShape1.Top - myShape1.Height;
myShape1.Top = myShape1.Top + t;
myShape1.Left = myShape1.Left + l;
myShape1.WrapFormat.Type = Microsoft.Office.Interop.Word.WdWrapType.wdWrapBehind;
}
else
if (type == 2)
{
//myShape.Left = horizontal - marginleft;
myShape.Left = horizontal;
Microsoft.Office.Interop.Word.Bookmark bm = docWord.Bookmarks[bookmark];
float vertical = bm.Range.Information[Microsoft.Office.Interop.Word.WdInformation.wdVerticalPositionRelativeToPage];
float horizontal = bm.Range.Information[Microsoft.Office.Interop.Word.WdInformation.wdHorizontalPositionRelativeToPage];
float marigntop = docWord.PageSetup.TopMargin;
float marginleft = docWord.PageSetup.LeftMargin;
docWord.Activate();
bm.Range.GoTo();
bm.Select();
Microsoft.Office.Interop.Word.Shape myShape = docWord.Shapes.AddPicture(imagepath, false, true, 0, 0, 120, 50, missing);
myShape.RelativeHorizontalPosition = Microsoft.Office.Interop.Word.WdRelativeHorizontalPosition.wdRelativeHorizontalPositionPage;
myShape.RelativeVerticalPosition = Microsoft.Office.Interop.Word.WdRelativeVerticalPosition.wdRelativeVerticalPositionPage;
myShape.Left = horizontal + l;
myShape.Top = vertical + t;
myShape.Name = "Unterschrift_" + bookmark;
Logging.Logging.Debug(horizontal.ToString() + "/" + vertical.ToString() + "/" + marginleft.ToString() + "/" + marigntop.ToString() + "/" + myShape.Top.ToString() + "/" + myShape.Left.ToString(), "OnDoc", "");
myShape.LockAspectRatio = Microsoft.Office.Core.MsoTriState.msoTrue;
myShape.WrapFormat.Type = Microsoft.Office.Interop.Word.WdWrapType.wdWrapBehind;
}
myShape.Name = "Unterschrift_" + bookmark;
myShape.Top = vertical - (myShape.Height + marigntop + 7);
Logging.Logging.Debug(horizontal.ToString() + "/" + vertical.ToString() + "/" + marginleft.ToString() + "/" + marigntop.ToString()+"/"+myShape.Top.ToString()+"/"+myShape.Left.ToString(), "OnDoc", "");
myShape.LockAspectRatio = Microsoft.Office.Core.MsoTriState.msoTrue;
myShape.WrapFormat.Type = Microsoft.Office.Interop.Word.WdWrapType.wdWrapBehind;
//myShape.ZOrder(Microsoft.Office.Core.MsoZOrderCmd.msoSendBackward);
//myShape.Select();
return;