update 20250108

This commit is contained in:
Stefan Hutter
2025-01-08 16:21:39 +01:00
parent af418d0114
commit bd4598e4a8
28 changed files with 71 additions and 10 deletions

View File

@@ -154,15 +154,16 @@ namespace DOCGEN.Klassen
}
public string Generate_Word(string base64, clsDocData docdata, string img_UL="", string img_UR="",string img_faktura="")
public void set_compatibilitymode(ref WordDocument document,string force)
{
string formattype = "";
MemoryStream ms = new MemoryStream(Helper.EncodeExtensions.DecodeBase642ByteArray(base64));
WordDocument document = new WordDocument(ms, FormatType.Automatic);
CompatibilityMode compatibilityMode = document.Settings.CompatibilityMode;
Logging.Logging.Debug(compatibilityMode.ToString(), "ondoc sf", docdata.Dokumentid);
Logging.Logging.Debug(compatibilityMode.ToString(), "ondoc sf", force);
switch (compatibilityMode)
{
case CompatibilityMode.Word2003:
document.Settings.CompatibilityMode = CompatibilityMode.Word2010;
break;
case CompatibilityMode.Word2010:
document.Settings.CompatibilityMode = CompatibilityMode.Word2010;
break;
@@ -170,9 +171,62 @@ namespace DOCGEN.Klassen
document.Settings.CompatibilityMode = CompatibilityMode.Word2013;
break;
default:
//document.Settings.CompatibilityMode = CompatibilityMode.Word2003;
//document.Settings.CompatibilityMode = CompatibilityMode.Word2003;
break;
}
if (force != "" && force != "Standard")
{
if (force == "Word 2013")
{
document.Settings.CompatibilityMode = CompatibilityMode.Word2013;
Logging.Logging.Debug("Übersteuerung CompatibilityMode: neu" + force, "ondoc", "");
}
if (force == "Word 2010")
{
document.Settings.CompatibilityMode = CompatibilityMode.Word2010;
Logging.Logging.Debug("Übersteuerung CompatibilityMode: neu" + force, "ondoc", "");
}
}
}
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));
WordDocument document = new WordDocument(ms, FormatType.Automatic);
CompatibilityMode compatibilityMode = document.Settings.CompatibilityMode;
set_compatibilitymode(ref document, docdata.CompatibilityMode);
Logging.Logging.Debug(compatibilityMode.ToString(), "ondoc sf", docdata.Dokumentid);
//switch (compatibilityMode)
//{
// case CompatibilityMode.Word2003:
// document.Settings.CompatibilityMode = CompatibilityMode.Word2010;
// break;
// case CompatibilityMode.Word2010:
// document.Settings.CompatibilityMode = CompatibilityMode.Word2010;
// break;
// case CompatibilityMode.Word2013:
// document.Settings.CompatibilityMode = CompatibilityMode.Word2013;
// break;
// default:
// //document.Settings.CompatibilityMode = CompatibilityMode.Word2003;
// break;
//}
//if (docdata.CompatibilityMode !="" && docdata.CompatibilityMode != "Standard")
//{
// if (docdata.CompatibilityMode=="Word 2013")
// {
// document.Settings.CompatibilityMode = CompatibilityMode.Word2013;
// Logging.Logging.Debug("Übersteuerung CompatibilityMode: neu" + docdata.CompatibilityMode, "ondoc", "");
// }
// if (docdata.CompatibilityMode == "Word 2010")
// {
// document.Settings.CompatibilityMode = CompatibilityMode.Word2010;
// Logging.Logging.Debug("Übersteuerung CompatibilityMode: neu" + docdata.CompatibilityMode, "ondoc", "");
// }
//}
//if (compatibilityMode == CompatibilityMode.Word2010) { document.Settings.CompatibilityMode = CompatibilityMode.Word2010; }
//if (compatibilityMode > CompatibilityMode.Word2010) { document.Settings.CompatibilityMode = CompatibilityMode.Word2013; }
formattype = document.ActualFormatType.ToString();

Binary file not shown.

Binary file not shown.

View File

@@ -80,7 +80,7 @@ namespace DOCGEN
return "";
}
public string get_word_vorlage(int vorlagenr)
public string get_word_vorlage(int vorlagenr, int dokumenttypnr)
{
DB db = new DB(connectionstring);
string sql = "Select dbo.BinaryToBase64(vorlage) as Data from office_vorlage_datei where office_vorlage_dateinr=" + vorlagenr;
@@ -88,7 +88,13 @@ namespace DOCGEN
string base64 = db.dsdaten.Tables[0].Rows[0][0].ToString();
MemoryStream ms = new MemoryStream(Helper.EncodeExtensions.DecodeBase642ByteArray(base64));
WordDocument document = new WordDocument(ms, FormatType.Automatic);
db.Get_Tabledata("Select isnull(CompatibilityMode,'') from dokumenttyp where dokumenttypnr=" + dokumenttypnr.ToString(), false, true);
SyncFWord sfw = new SyncFWord("", "");
sfw.set_compatibilitymode(ref document, db.dsdaten.Tables[0].Rows[0][0].ToString());
sfw = null;
var formattype_original = document.ActualFormatType;
MemoryStream destms = new MemoryStream();
if (formattype_original.ToString().ToUpper() == "DOTMXXX")
{

Binary file not shown.

Binary file not shown.