Laden...
Avatar #b44bZHgX97aIKftL3XJl.png
TomSchmitz myCSharp.de - Member
Fachinformatiker Anwendungsentwicklung NRW Dabei seit 17.09.2022 12 Beiträge

Forenbeiträge von TomSchmitz Ingesamt 12 Beiträge

20.11.2023 - 12:12 Uhr

Ich habe zuerst selber über Berechnungen im Bild die Header-Elemente manuell gesetzt.

Glücklicherweise gibt es aber auch die Library: iTextSharp.text.pdf

private static bool CombinePDFs(string srcPath, string pdfToCombinePath, string pathToSave)
{
   try
   {
       PdfReader reader = new PdfReader(srcPath);
       PdfReader sReader = new PdfReader(pdfToCombinePath);
       PdfStamper stamper = new PdfStamper(reader, new FileStream(pathToSave, FileMode.Create));
       PdfImportedPage page = stamper.GetImportedPage(sReader, 1);
       int n = reader.NumberOfPages;
       PdfContentByte background;
       for (int i = 1; i <= n; i++)
       {
           background = stamper.GetUnderContent(i);
           background.AddTemplate(page, 0, 0);
       }
       stamper.Close();
       return true;
   }
   catch (Exception ex)
   {
       throw new Exception("Could not combine PDFs.", innerException: ex);
   }
}

Also, falls jemand mal das gleiche Problem hat, hat er nun eine Antwort.

14.11.2023 - 08:04 Uhr

Gibt es in C# eine Library, die es mir ermöglicht PDFs zu mergen? Mit mergen meine ich nicht das klassische Zusammenführen, im Sinne von untereinander anhängen.

Ich habe eine PDF mit einem Header und eine PDF mit einem Body.

Ist es möglich diese zu verschmelzen?

Hat das eventuell schon mal jemand gemacht, oder hätte ein Code-Schnipsel für mich?

25.10.2023 - 10:29 Uhr

Kurzer Edit an der Stelle. 
Ich habe das Ganze mal andersherum getestet. Komischerweise kann ich Computer so verschieben.. Bedeutet also, dass er mir den falschen Fehler wirft. Er hat dazu schlichtweg keine Berechtigungen. Wenn ich nämlich versuche manuell im ADExplorer zu verschieben, bekomme ich den Fehler "Zugriff verweigert".

25.10.2023 - 08:25 Uhr

Mein Fehler ist: Es wurde eine ungültige dn-Syntax angegeben.

Detailed: 00002125: NameErr: DSID-031B0344, problem 2006 (BAD_NAME), data 0, best match of:
'CN=TestRechner,OU=KOM,OU=ASS-Clients,DC=DOMASS,DC=local'

Ein Computer in CN=Computers,DC=DOMASS,DC=local soll nach OU=KOM,OU=ASS-Clients,DC=DOMASS,DC=local

Mein Code:


public async Task<ServiceResponse> AssignNewWorkstation(AssignNewWorkstation assignNewWorkstation)
{
   try
   {
       DirectoryEntry computerEntry = new DirectoryEntry("LDAP://CN=Computers,DC=DOMASS,DC=local", _user, _password);
       computerEntry.AuthenticationType = AuthenticationTypes.Secure;
       DirectorySearcher computerSearcher = new DirectorySearcher(computerEntry);
       computerSearcher.Filter = $"(&(objectClass=computer)(cn={assignNewWorkstation.WorkstationName}))";
       SearchResult computerResult = computerSearcher.FindOne();
       if (computerResult != null)
       {
           DirectoryEntry computer = computerResult.GetDirectoryEntry();
           DirectoryEntry newParent = new DirectoryEntry($"LDAP://OU=KOM,OU=ASS-Clients,DC=DOMASS,DC=local", _user, _password);
           computer.MoveTo(newParent);
           if (assignNewWorkstation.AssignAutomatically)
           {
               DirectoryEntry ouEntry = new DirectoryEntry("LDAP://OU=ASS-Benutzer,DC=DOMASS,DC=local", _user, _password);
               ouEntry.AuthenticationType = AuthenticationTypes.Secure;
               DirectorySearcher userSearcher = new DirectorySearcher(ouEntry);
               userSearcher.Filter = "(objectClass=user)";
               SearchResultCollection userResults = userSearcher.FindAll();
               foreach (SearchResult userResult in userResults)
               {
                   DirectoryEntry user = userResult.GetDirectoryEntry();
                   object userWorkstations = user.Properties["userWorkstations"].Value;
                   string updatedValue = (userWorkstations != null) ? userWorkstations.ToString() + "," + assignNewWorkstation.WorkstationName : assignNewWorkstation.WorkstationName;
                   user.Properties["userWorkstations"].Value = updatedValue;
                   user.CommitChanges();
                   user.Close();
               }
               ouEntry.Close();
           }
           computer.Close();
           return new ServiceResponse { StatusCode = 200, Message = $"Successfully moved the computer to {assignNewWorkstation.OU} and added it to users in the OU." };
       }
       else
       {
           return new ServiceResponse { StatusCode = 404, Message = "Computer not found." };
       }
   }
   catch (Exception ex)
   {
       Logger.Log(ex.ToString(), Logger.LogPriority.Error);
       return await ErrorHandler.ThrowErrorAsync(500);
   }
}

Die Variable computer ist auch gefüllt. Sprich, er findet den Comuter in LDAP://CN=Computers,DC=DOMASS,DC=local

Er fliegt bei

computer.MoveTo(newParent);
11.10.2023 - 14:48 Uhr

Ah ok. Darüber habe ich nicht nachgedacht.


Was bewirkt diese deps.json denn genau?

11.10.2023 - 12:36 Uhr

Ich binde eine externe DLL ein. Diese verwendet verschiedene andere DLLs und benutzt auch System.Web.

Im Anhang die Datei, um die es geht.

Wichtig sind da eigentlich nur die usings und die Hinweise ganz unten.

Jedenfalls bekomme ich folgenden Fehler (während der Laufzeit) wenn ich ein Objekt dieser Klasse erstelle: 
System.TypeInitializationException: "The type initializer for 'Procad.Profile.Engine.EngineClass' threw an exception."

Inner-Exception: TypeLoadException: Could not load type 'System.Web.HttpContext' from assembly 'System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.

Code:


               EngineClass engine = new EngineClass(); //Fehler wird hier geworfen
               engine.UserLogin("test", "test");
               ProfileUserManagement PUM = new ProfileUserManagement(engine);
               var user = PUM.CreateUser("Max Usermann");
               var result = PUM.SaveUser(user);
21.07.2023 - 15:53 Uhr

Ich habe die Samples doch noch ans laufen bekommen. Auf GitHub unter GitHub Issue ist beschrieben, wie man die Samples trotz Fehlermeldung ans laufen bekommt. Lag an der falschen SDK, die ich installiert hatte.

21.07.2023 - 14:15 Uhr

Ok. Danke für deine Hilfe. Dann werde ich jetzt wohl den Source-Code lesen müssen xD

21.07.2023 - 14:09 Uhr

Also komischerweise stehen auch Beiträge unter issues, die vom selben Problem berichten... Hast du eventuell nen Tipp, wie man das ans laufen bekommt?

21.07.2023 - 14:05 Uhr

Hi. Ich bin mal auf Blazor WASM umgestiegen. Problem: Try.NET scheint out of support zu sein (Samples funktionieren nicht).. Gibt es da eine alternative zu? Also eine andere Lib, die den C#-Code aufm Client ausführt?

28.06.2023 - 15:39 Uhr

Try .NET hört sich erstmal gut an, nur ist das halt Blazor WASM. Dann wäre mein API-Endpoint ja unnötig. Nur habe ich meine ganze Web-App so aufgebaut, dass das Frontend (React) nur Anfragen an meine API sendet.. Gibt es vielleicht noch eine andere Möglichkeit?

28.06.2023 - 12:54 Uhr

Ich hoffe, der Forenbereich ist richtig gewählt 😃.
Ich habe eine ASP .NET Core Web API und bekomme C# Code an einen Endpoint. Ich möchte diesen Code ausführen und den return-Wert an den User zurückgeben. Wie ist es mir möglich den Code in einer isolierten Umgebung auszuführen, sodass der Code keine Auswirkungen auf meine Maschine hat? Ich habe die Lib Microsoft.CodeAnalysis verwendet. Das Ausführen funktioniert. Problem ist eben nur, dass es nicht in einer abgesicherten Umgebung passiert. Klar, ich könnte eine zusätzliche API in einer VM machen, aber das wäre die letzte Option, die ich in Erwägung ziehen würde.